Add code generated files for mjcPhysics schema.
PiperOrigin-RevId: 757784741 Change-Id: Iacef6ef78c8e95ce51c5546562ad5b679f460deb
This commit is contained in:
committed by
Copybara-Service
parent
b53ed63b5f
commit
09bf5409ab
@@ -0,0 +1,42 @@
|
||||
// Copyright 2025 DeepMind Technologies Limited
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#ifndef MJCPHYSICS_API_H
|
||||
#define MJCPHYSICS_API_H
|
||||
|
||||
#include "pxr/base/arch/export.h"
|
||||
|
||||
#if defined(PXR_STATIC)
|
||||
#define MJCPHYSICS_API
|
||||
#define MJCPHYSICS_API_TEMPLATE_CLASS(...)
|
||||
#define MJCPHYSICS_API_TEMPLATE_STRUCT(...)
|
||||
#define MJCPHYSICS_LOCAL
|
||||
#else
|
||||
#if defined(MJCPHYSICS_EXPORTS)
|
||||
#define MJCPHYSICS_API ARCH_EXPORT
|
||||
#define MJCPHYSICS_API_TEMPLATE_CLASS(...) \
|
||||
ARCH_EXPORT_TEMPLATE(class, __VA_ARGS__)
|
||||
#define MJCPHYSICS_API_TEMPLATE_STRUCT(...) \
|
||||
ARCH_EXPORT_TEMPLATE(struct, __VA_ARGS__)
|
||||
#else
|
||||
#define MJCPHYSICS_API ARCH_IMPORT
|
||||
#define MJCPHYSICS_API_TEMPLATE_CLASS(...) \
|
||||
ARCH_IMPORT_TEMPLATE(class, __VA_ARGS__)
|
||||
#define MJCPHYSICS_API_TEMPLATE_STRUCT(...) \
|
||||
ARCH_IMPORT_TEMPLATE(struct, __VA_ARGS__)
|
||||
#endif
|
||||
#define MJCPHYSICS_LOCAL ARCH_HIDDEN
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,228 @@
|
||||
#usda 1.0
|
||||
(
|
||||
"WARNING: THIS FILE IS GENERATED BY usdGenSchema. DO NOT EDIT."
|
||||
)
|
||||
|
||||
class "MjcPhysicsSceneAPI" (
|
||||
doc = "API providing global simulation options for Mujoco."
|
||||
)
|
||||
{
|
||||
uniform int[] mjc:physics:actuatorgroupdisable (
|
||||
displayName = "Actuator Group Disable"
|
||||
doc = "List of actuator groups to disable."
|
||||
)
|
||||
uniform double mjc:physics:apirate = 100 (
|
||||
displayName = "ApiRate"
|
||||
doc = """Determines the rate (in Hz) at which an external API allows
|
||||
the update function to be executed."""
|
||||
)
|
||||
uniform int mjc:physics:ccd_iterations = 50 (
|
||||
displayName = "CCD Iterations"
|
||||
doc = "Maximum number of iterations of the algorithm used for convex collisions."
|
||||
)
|
||||
uniform double mjc:physics:ccd_tolerance = 0.000001 (
|
||||
displayName = "CCD Tolerance"
|
||||
doc = """Tolerance threshold used for early termination of the convex
|
||||
collision algorithm."""
|
||||
)
|
||||
uniform token mjc:physics:cone = "pyramidal" (
|
||||
allowedTokens = ["pyramidal", "elliptic"]
|
||||
displayName = "Friction Cone Type"
|
||||
doc = "The type of contact friction cone."
|
||||
)
|
||||
uniform double mjc:physics:density = 0 (
|
||||
displayName = "Density"
|
||||
doc = "Density of medium."
|
||||
)
|
||||
uniform bool mjc:physics:flag:actuation = 1 (
|
||||
displayName = "Actuation Forces Toggle"
|
||||
doc = "Enables all standard computations related to actuator forces, including actuator dynamics."
|
||||
)
|
||||
uniform bool mjc:physics:flag:autoreset = 1 (
|
||||
displayName = "Automatic Simulation Reset Toggle"
|
||||
doc = "Enables the automatic resetting of the simulation state when numerical issues are detected."
|
||||
)
|
||||
uniform bool mjc:physics:flag:clampctrl = 1 (
|
||||
displayName = "Control Input Clamping Toggle"
|
||||
doc = "Enables the clamping of control inputs to all actuators, according to actuator-specific attributes."
|
||||
)
|
||||
uniform bool mjc:physics:flag:constraint = 1 (
|
||||
displayName = "Constraint Solver Toggle"
|
||||
doc = "Enables constraint solver."
|
||||
)
|
||||
uniform bool mjc:physics:flag:contact = 1 (
|
||||
displayName = "Contact Constraints and Collision Detection Toggle"
|
||||
doc = "Enables collision detection and all standard computations related to contact constraints."
|
||||
)
|
||||
uniform bool mjc:physics:flag:energy = 0 (
|
||||
displayName = "Energy Computation Toggle"
|
||||
doc = "Enables the computation of potential and kinetic energy (mjData.energy[0,1])."
|
||||
)
|
||||
uniform bool mjc:physics:flag:equality = 1 (
|
||||
displayName = "Equality Constraints Toggle"
|
||||
doc = "Enables all standard computations related to equality constraints."
|
||||
)
|
||||
uniform bool mjc:physics:flag:eulerdamp = 1 (
|
||||
displayName = "Euler Integrator Damping Toggle"
|
||||
doc = "Enables implicit integration with respect to joint damping in the Euler integrator."
|
||||
)
|
||||
uniform bool mjc:physics:flag:filterparent = 1 (
|
||||
displayName = "Parent-Child Contact Filtering Toggle"
|
||||
doc = "Enables the filtering of contact pairs where the two geoms belong to a parent and child body."
|
||||
)
|
||||
uniform bool mjc:physics:flag:frictionloss = 1 (
|
||||
displayName = "Friction Loss Constraints Toggle"
|
||||
doc = "Enables all standard computations related to friction loss constraints."
|
||||
)
|
||||
uniform bool mjc:physics:flag:fwdinv = 0 (
|
||||
displayName = "Forward/Inverse Dynamics Comparison Toggle"
|
||||
doc = "Enables the automatic comparison of forward and inverse dynamics."
|
||||
)
|
||||
uniform bool mjc:physics:flag:gravity = 1 (
|
||||
displayName = "Gravity Toggle"
|
||||
doc = "Enables the application of gravitational acceleration as defined in mjOption."
|
||||
)
|
||||
uniform bool mjc:physics:flag:invdiscrete = 0 (
|
||||
displayName = "Discrete-Time Inverse Dynamics Toggle"
|
||||
doc = "Enables discrete-time inverse dynamics with mj_inverse for integrators other than RK4."
|
||||
)
|
||||
uniform bool mjc:physics:flag:island = 0 (
|
||||
displayName = "Constraint Island Discovery Toggle"
|
||||
doc = "Enables the discovery of constraint islands."
|
||||
)
|
||||
uniform bool mjc:physics:flag:limit = 1 (
|
||||
displayName = "Joint and Tendon Limit Constraints Toggle"
|
||||
doc = "Enables all standard computations related to joint and tendon limit constraints."
|
||||
)
|
||||
uniform bool mjc:physics:flag:midphase = 1 (
|
||||
displayName = "Mid-Phase Collision Filtering Toggle"
|
||||
doc = "Enables mid-phase collision filtering using a static AABB bounding volume hierarchy (BVH)."
|
||||
)
|
||||
uniform bool mjc:physics:flag:multiccd = 0 (
|
||||
displayName = "Multiple Contact Collision Detection (CCD) Toggle"
|
||||
doc = "Enables multiple-contact collision detection for geom pairs using a general-purpose convex-convex collider."
|
||||
)
|
||||
uniform bool mjc:physics:flag:nativeccd = 1 (
|
||||
displayName = "Native Convex Collision Detection Toggle"
|
||||
doc = "Enables the native convex collision detection pipeline instead of using the libccd library."
|
||||
)
|
||||
uniform bool mjc:physics:flag:override = 0 (
|
||||
displayName = "Contact Override Mechanism Toggle"
|
||||
doc = "Enables the contact override mechanism."
|
||||
)
|
||||
uniform bool mjc:physics:flag:passive = 1 (
|
||||
displayName = "Passive Forces Toggle"
|
||||
doc = "Enables the simulation of joint and tendon spring-dampers, fluid dynamics forces, and custom passive forces."
|
||||
)
|
||||
uniform bool mjc:physics:flag:refsafe = 1 (
|
||||
displayName = "Solver Reference Safety Mechanism Toggle"
|
||||
doc = "Enables a safety mechanism that prevents instabilities due to solref[0] being too small compared to the simulation timestep."
|
||||
)
|
||||
uniform bool mjc:physics:flag:sensor = 1 (
|
||||
displayName = "Sensor Computations Toggle"
|
||||
doc = "Enables all computations related to sensors."
|
||||
)
|
||||
uniform bool mjc:physics:flag:warmstart = 1 (
|
||||
displayName = "Solver Warm-Starting Toggle"
|
||||
doc = "Enables warm-starting of the constraint solver, using the solution from the previous time step to initialize the iterative optimization."
|
||||
)
|
||||
uniform double mjc:physics:impratio = 1 (
|
||||
displayName = "Impedance Ratio"
|
||||
doc = """Ratio of frictional-to-normal constraint impedance for elliptic
|
||||
friction cones."""
|
||||
)
|
||||
uniform token mjc:physics:integrator = "euler" (
|
||||
allowedTokens = ["euler", "rk4", "implicit", "implicitfast"]
|
||||
displayName = "Integrator"
|
||||
doc = "Numerical integrator to be used."
|
||||
)
|
||||
uniform int mjc:physics:iterations = 100 (
|
||||
displayName = "Solver Iterations"
|
||||
doc = "Maximum number of iterations of the constraint solver."
|
||||
)
|
||||
uniform token mjc:physics:jacobian = "auto" (
|
||||
allowedTokens = ["auto", "dense", "sparse"]
|
||||
displayName = "Jacobian Type"
|
||||
doc = "The type of constraint Jacobian and matrices computed from it."
|
||||
)
|
||||
uniform int mjc:physics:ls_iterations = 50 (
|
||||
displayName = "Linesearch Iterations"
|
||||
doc = """Maximum number of linesearch iterations performed by CG/Newton
|
||||
constraint solvers."""
|
||||
)
|
||||
uniform double mjc:physics:ls_tolerance = 0.01 (
|
||||
displayName = "Linesearch Tolerance"
|
||||
doc = "Tolerance threshold used for early termination of the linesearch algorithm."
|
||||
)
|
||||
uniform double3 mjc:physics:magnetic = (0, -0.5, 0) (
|
||||
displayName = "Magnetic Flux"
|
||||
doc = "Global magnetic flux."
|
||||
)
|
||||
uniform int mjc:physics:noslip_iterations = 0 (
|
||||
displayName = "Noslip Iterations"
|
||||
doc = "Maximum number of iterations of the Noslip solver."
|
||||
)
|
||||
uniform double mjc:physics:noslip_tolerance = 0.000001 (
|
||||
displayName = "Noslip Tolerance"
|
||||
doc = "Tolerance threshold used for early termination of the Noslip solver."
|
||||
)
|
||||
uniform double[] mjc:physics:o_friction = [1, 1, 0.005, 0.0001, 0.0001] (
|
||||
displayName = "Contact Override Friction"
|
||||
doc = """Replaces the friction parameter of all active contact pairs when
|
||||
Contact override is enabled."""
|
||||
)
|
||||
uniform double mjc:physics:o_margin = 0 (
|
||||
displayName = "Contact Override Margin"
|
||||
doc = """Replaces the margin parameter of all active contact pairs when
|
||||
Contact override is enabled."""
|
||||
)
|
||||
uniform double[] mjc:physics:o_solimp = [0.9, 0.95, 0.001, 0.5, 2] (
|
||||
displayName = "Contact Override SolImp"
|
||||
doc = """Replaces the solimp parameter of all active contact pairs when
|
||||
Contact override is enabled."""
|
||||
)
|
||||
uniform double[] mjc:physics:o_solref = [0.02, 1] (
|
||||
displayName = "Contact Override SolRef"
|
||||
doc = """Replaces the solref parameter of all active contact pairs when
|
||||
Contact override is enabled."""
|
||||
)
|
||||
uniform int mjc:physics:sdf_initpoints = 40 (
|
||||
displayName = "SDF Initial Points"
|
||||
doc = """Number of starting points used for finding contacts with Signed
|
||||
Distance Field collisions."""
|
||||
)
|
||||
uniform int mjc:physics:sdf_iterations = 10 (
|
||||
displayName = "SDF Iterations"
|
||||
doc = """Number of iterations used for Signed Distance Field collisions
|
||||
(per initial point)."""
|
||||
)
|
||||
uniform token mjc:physics:solver = "newton" (
|
||||
allowedTokens = ["pgs", "cg", "newton"]
|
||||
displayName = "Solver"
|
||||
doc = "Constraint solver algorithm to be used."
|
||||
)
|
||||
uniform double mjc:physics:timestep = 0.002 (
|
||||
displayName = "Timestep"
|
||||
doc = "Controls the timestep in seconds used by MuJoCo."
|
||||
)
|
||||
uniform double mjc:physics:tolerance = 1e-8 (
|
||||
displayName = "Solver Tolerance"
|
||||
doc = """Tolerance threshold used for early termination of the iterative
|
||||
solver."""
|
||||
)
|
||||
uniform double mjc:physics:viscosity = 0 (
|
||||
displayName = "Viscosity"
|
||||
doc = "Viscosity of medium."
|
||||
)
|
||||
uniform double3 mjc:physics:wind = (0, 0, 0) (
|
||||
displayName = "Wind Velocity"
|
||||
doc = "Velocity vector of medium (i.e. wind)."
|
||||
)
|
||||
}
|
||||
|
||||
class "MjcSiteAPI" (
|
||||
doc = "API describing a Mujoco site."
|
||||
)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
#Portions of this file auto - generated by usdGenSchema.
|
||||
#Edits will survive regeneration except for comments and
|
||||
#changes to types with autoGenerated = true.
|
||||
{
|
||||
"Plugins": [
|
||||
{
|
||||
"Info": {
|
||||
"Types": {
|
||||
"MjcPhysicsSceneAPI": {
|
||||
"alias": {
|
||||
"UsdSchemaBase": "MjcPhysicsSceneAPI"
|
||||
},
|
||||
"autoGenerated": true,
|
||||
"bases": [
|
||||
"UsdAPISchemaBase"
|
||||
],
|
||||
"schemaKind": "singleApplyAPI"
|
||||
},
|
||||
"MjcPhysicsSiteAPI": {
|
||||
"alias": {
|
||||
"UsdSchemaBase": "MjcSiteAPI"
|
||||
},
|
||||
"autoGenerated": true,
|
||||
"bases": [
|
||||
"UsdAPISchemaBase"
|
||||
],
|
||||
"schemaKind": "singleApplyAPI"
|
||||
}
|
||||
}
|
||||
},
|
||||
"LibraryPath": "",
|
||||
"Name": "mjcPhysics",
|
||||
"ResourcePath": "",
|
||||
"Root": ".",
|
||||
"Type": "library"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,701 @@
|
||||
// Copyright 2025 DeepMind Technologies Limited
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#include "./sceneAPI.h"
|
||||
|
||||
#include "pxr/usd/sdf/assetPath.h"
|
||||
#include "pxr/usd/sdf/types.h"
|
||||
#include "pxr/usd/usd/schemaRegistry.h"
|
||||
#include "pxr/usd/usd/typed.h"
|
||||
|
||||
PXR_NAMESPACE_OPEN_SCOPE
|
||||
|
||||
// Register the schema with the TfType system.
|
||||
TF_REGISTRY_FUNCTION(TfType) {
|
||||
TfType::Define<MjcPhysicsSceneAPI, TfType::Bases<UsdAPISchemaBase> >();
|
||||
}
|
||||
|
||||
/* virtual */
|
||||
MjcPhysicsSceneAPI::~MjcPhysicsSceneAPI() {}
|
||||
|
||||
/* static */
|
||||
MjcPhysicsSceneAPI MjcPhysicsSceneAPI::Get(const UsdStagePtr &stage,
|
||||
const SdfPath &path) {
|
||||
if (!stage) {
|
||||
TF_CODING_ERROR("Invalid stage");
|
||||
return MjcPhysicsSceneAPI();
|
||||
}
|
||||
return MjcPhysicsSceneAPI(stage->GetPrimAtPath(path));
|
||||
}
|
||||
|
||||
/* virtual */
|
||||
UsdSchemaKind MjcPhysicsSceneAPI::_GetSchemaKind() const {
|
||||
return MjcPhysicsSceneAPI::schemaKind;
|
||||
}
|
||||
|
||||
/* static */
|
||||
bool MjcPhysicsSceneAPI::CanApply(const UsdPrim &prim, std::string *whyNot) {
|
||||
return prim.CanApplyAPI<MjcPhysicsSceneAPI>(whyNot);
|
||||
}
|
||||
|
||||
/* static */
|
||||
MjcPhysicsSceneAPI MjcPhysicsSceneAPI::Apply(const UsdPrim &prim) {
|
||||
if (prim.ApplyAPI<MjcPhysicsSceneAPI>()) {
|
||||
return MjcPhysicsSceneAPI(prim);
|
||||
}
|
||||
return MjcPhysicsSceneAPI();
|
||||
}
|
||||
|
||||
/* static */
|
||||
const TfType &MjcPhysicsSceneAPI::_GetStaticTfType() {
|
||||
static TfType tfType = TfType::Find<MjcPhysicsSceneAPI>();
|
||||
return tfType;
|
||||
}
|
||||
|
||||
/* static */
|
||||
bool MjcPhysicsSceneAPI::_IsTypedSchema() {
|
||||
static bool isTyped = _GetStaticTfType().IsA<UsdTyped>();
|
||||
return isTyped;
|
||||
}
|
||||
|
||||
/* virtual */
|
||||
const TfType &MjcPhysicsSceneAPI::_GetTfType() const {
|
||||
return _GetStaticTfType();
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetTimestepAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsTimestep);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateTimestepAttr(VtValue const &defaultValue,
|
||||
bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsTimestep, SdfValueTypeNames->Double,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetApiRateAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsApirate);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateApiRateAttr(VtValue const &defaultValue,
|
||||
bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsApirate, SdfValueTypeNames->Double,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetImpRatioAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsImpratio);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateImpRatioAttr(VtValue const &defaultValue,
|
||||
bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsImpratio, SdfValueTypeNames->Double,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetWindAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsWind);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateWindAttr(VtValue const &defaultValue,
|
||||
bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsWind, SdfValueTypeNames->Double3,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetMagneticAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsMagnetic);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateMagneticAttr(VtValue const &defaultValue,
|
||||
bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsMagnetic, SdfValueTypeNames->Double3,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetDensityAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsDensity);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateDensityAttr(VtValue const &defaultValue,
|
||||
bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsDensity, SdfValueTypeNames->Double,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetViscosityAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsViscosity);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateViscosityAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsViscosity, SdfValueTypeNames->Double,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetOMarginAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsO_margin);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateOMarginAttr(VtValue const &defaultValue,
|
||||
bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsO_margin, SdfValueTypeNames->Double,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetOSolRefAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsO_solref);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateOSolRefAttr(VtValue const &defaultValue,
|
||||
bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsO_solref, SdfValueTypeNames->DoubleArray,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetOSolImpAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsO_solimp);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateOSolImpAttr(VtValue const &defaultValue,
|
||||
bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsO_solimp, SdfValueTypeNames->DoubleArray,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetOFrictionAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsO_friction);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateOFrictionAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsO_friction, SdfValueTypeNames->DoubleArray,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetIntegratorAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsIntegrator);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateIntegratorAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsIntegrator, SdfValueTypeNames->Token,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetConeAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsCone);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateConeAttr(VtValue const &defaultValue,
|
||||
bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsCone, SdfValueTypeNames->Token,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetJacobianAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsJacobian);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateJacobianAttr(VtValue const &defaultValue,
|
||||
bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsJacobian, SdfValueTypeNames->Token,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetSolverAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsSolver);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateSolverAttr(VtValue const &defaultValue,
|
||||
bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsSolver, SdfValueTypeNames->Token,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetIterationsAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsIterations);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateIterationsAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsIterations, SdfValueTypeNames->Int,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetToleranceAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsTolerance);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateToleranceAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsTolerance, SdfValueTypeNames->Double,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetLSIterationsAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsLs_iterations);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateLSIterationsAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsLs_iterations, SdfValueTypeNames->Int,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetLSToleranceAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsLs_tolerance);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateLSToleranceAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsLs_tolerance, SdfValueTypeNames->Double,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetNoslipIterationsAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsNoslip_iterations);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateNoslipIterationsAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsNoslip_iterations, SdfValueTypeNames->Int,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetNoslipToleranceAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsNoslip_tolerance);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateNoslipToleranceAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsNoslip_tolerance, SdfValueTypeNames->Double,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetCCDIterationsAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsCcd_iterations);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateCCDIterationsAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsCcd_iterations, SdfValueTypeNames->Int,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetCCDToleranceAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsCcd_tolerance);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateCCDToleranceAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsCcd_tolerance, SdfValueTypeNames->Double,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetSDFIterationsAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsSdf_iterations);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateSDFIterationsAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsSdf_iterations, SdfValueTypeNames->Int,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetSDFInitPointsAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsSdf_initpoints);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateSDFInitPointsAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsSdf_initpoints, SdfValueTypeNames->Int,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetActuatorGroupDisableAttr() const {
|
||||
return GetPrim().GetAttribute(
|
||||
MjcPhysicsTokens->mjcPhysicsActuatorgroupdisable);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateActuatorGroupDisableAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsActuatorgroupdisable,
|
||||
SdfValueTypeNames->IntArray,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetConstraintFlagAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsFlagConstraint);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateConstraintFlagAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsFlagConstraint, SdfValueTypeNames->Bool,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetEqualityFlagAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsFlagEquality);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateEqualityFlagAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsFlagEquality, SdfValueTypeNames->Bool,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetFrictionLossFlagAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsFlagFrictionloss);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateFrictionLossFlagAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsFlagFrictionloss, SdfValueTypeNames->Bool,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetLimitFlagAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsFlagLimit);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateLimitFlagAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsFlagLimit, SdfValueTypeNames->Bool,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetContactFlagAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsFlagContact);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateContactFlagAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsFlagContact, SdfValueTypeNames->Bool,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetPassiveFlagAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsFlagPassive);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreatePassiveFlagAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsFlagPassive, SdfValueTypeNames->Bool,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetGravityFlagAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsFlagGravity);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateGravityFlagAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsFlagGravity, SdfValueTypeNames->Bool,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetClampCtrlFlagAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsFlagClampctrl);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateClampCtrlFlagAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsFlagClampctrl, SdfValueTypeNames->Bool,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetWarmStartFlagAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsFlagWarmstart);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateWarmStartFlagAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsFlagWarmstart, SdfValueTypeNames->Bool,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetFilterParentFlagAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsFlagFilterparent);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateFilterParentFlagAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsFlagFilterparent, SdfValueTypeNames->Bool,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetActuationFlagAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsFlagActuation);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateActuationFlagAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsFlagActuation, SdfValueTypeNames->Bool,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetRefSafeFlagAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsFlagRefsafe);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateRefSafeFlagAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsFlagRefsafe, SdfValueTypeNames->Bool,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetSensorFlagAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsFlagSensor);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateSensorFlagAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsFlagSensor, SdfValueTypeNames->Bool,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetMidPhaseFlagAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsFlagMidphase);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateMidPhaseFlagAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsFlagMidphase, SdfValueTypeNames->Bool,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetNativeCCDFlagAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsFlagNativeccd);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateNativeCCDFlagAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsFlagNativeccd, SdfValueTypeNames->Bool,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetEulerDampFlagAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsFlagEulerdamp);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateEulerDampFlagAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsFlagEulerdamp, SdfValueTypeNames->Bool,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetAutoResetFlagAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsFlagAutoreset);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateAutoResetFlagAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsFlagAutoreset, SdfValueTypeNames->Bool,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetOverrideFlagAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsFlagOverride);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateOverrideFlagAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsFlagOverride, SdfValueTypeNames->Bool,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetEnergyFlagAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsFlagEnergy);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateEnergyFlagAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsFlagEnergy, SdfValueTypeNames->Bool,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetFwdinvFlagAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsFlagFwdinv);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateFwdinvFlagAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsFlagFwdinv, SdfValueTypeNames->Bool,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetInvDiscreteFlagAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsFlagInvdiscrete);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateInvDiscreteFlagAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsFlagInvdiscrete, SdfValueTypeNames->Bool,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetMultiCCDFlagAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsFlagMulticcd);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateMultiCCDFlagAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsFlagMulticcd, SdfValueTypeNames->Bool,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::GetIslandFlagAttr() const {
|
||||
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcPhysicsFlagIsland);
|
||||
}
|
||||
|
||||
UsdAttribute MjcPhysicsSceneAPI::CreateIslandFlagAttr(
|
||||
VtValue const &defaultValue, bool writeSparsely) const {
|
||||
return UsdSchemaBase::_CreateAttr(
|
||||
MjcPhysicsTokens->mjcPhysicsFlagIsland, SdfValueTypeNames->Bool,
|
||||
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
|
||||
}
|
||||
|
||||
namespace {
|
||||
static inline TfTokenVector _ConcatenateAttributeNames(
|
||||
const TfTokenVector &left, const TfTokenVector &right) {
|
||||
TfTokenVector result;
|
||||
result.reserve(left.size() + right.size());
|
||||
result.insert(result.end(), left.begin(), left.end());
|
||||
result.insert(result.end(), right.begin(), right.end());
|
||||
return result;
|
||||
}
|
||||
} // namespace
|
||||
|
||||
/*static*/
|
||||
const TfTokenVector &MjcPhysicsSceneAPI::GetSchemaAttributeNames(
|
||||
bool includeInherited) {
|
||||
static TfTokenVector localNames = {
|
||||
MjcPhysicsTokens->mjcPhysicsTimestep,
|
||||
MjcPhysicsTokens->mjcPhysicsApirate,
|
||||
MjcPhysicsTokens->mjcPhysicsImpratio,
|
||||
MjcPhysicsTokens->mjcPhysicsWind,
|
||||
MjcPhysicsTokens->mjcPhysicsMagnetic,
|
||||
MjcPhysicsTokens->mjcPhysicsDensity,
|
||||
MjcPhysicsTokens->mjcPhysicsViscosity,
|
||||
MjcPhysicsTokens->mjcPhysicsO_margin,
|
||||
MjcPhysicsTokens->mjcPhysicsO_solref,
|
||||
MjcPhysicsTokens->mjcPhysicsO_solimp,
|
||||
MjcPhysicsTokens->mjcPhysicsO_friction,
|
||||
MjcPhysicsTokens->mjcPhysicsIntegrator,
|
||||
MjcPhysicsTokens->mjcPhysicsCone,
|
||||
MjcPhysicsTokens->mjcPhysicsJacobian,
|
||||
MjcPhysicsTokens->mjcPhysicsSolver,
|
||||
MjcPhysicsTokens->mjcPhysicsIterations,
|
||||
MjcPhysicsTokens->mjcPhysicsTolerance,
|
||||
MjcPhysicsTokens->mjcPhysicsLs_iterations,
|
||||
MjcPhysicsTokens->mjcPhysicsLs_tolerance,
|
||||
MjcPhysicsTokens->mjcPhysicsNoslip_iterations,
|
||||
MjcPhysicsTokens->mjcPhysicsNoslip_tolerance,
|
||||
MjcPhysicsTokens->mjcPhysicsCcd_iterations,
|
||||
MjcPhysicsTokens->mjcPhysicsCcd_tolerance,
|
||||
MjcPhysicsTokens->mjcPhysicsSdf_iterations,
|
||||
MjcPhysicsTokens->mjcPhysicsSdf_initpoints,
|
||||
MjcPhysicsTokens->mjcPhysicsActuatorgroupdisable,
|
||||
MjcPhysicsTokens->mjcPhysicsFlagConstraint,
|
||||
MjcPhysicsTokens->mjcPhysicsFlagEquality,
|
||||
MjcPhysicsTokens->mjcPhysicsFlagFrictionloss,
|
||||
MjcPhysicsTokens->mjcPhysicsFlagLimit,
|
||||
MjcPhysicsTokens->mjcPhysicsFlagContact,
|
||||
MjcPhysicsTokens->mjcPhysicsFlagPassive,
|
||||
MjcPhysicsTokens->mjcPhysicsFlagGravity,
|
||||
MjcPhysicsTokens->mjcPhysicsFlagClampctrl,
|
||||
MjcPhysicsTokens->mjcPhysicsFlagWarmstart,
|
||||
MjcPhysicsTokens->mjcPhysicsFlagFilterparent,
|
||||
MjcPhysicsTokens->mjcPhysicsFlagActuation,
|
||||
MjcPhysicsTokens->mjcPhysicsFlagRefsafe,
|
||||
MjcPhysicsTokens->mjcPhysicsFlagSensor,
|
||||
MjcPhysicsTokens->mjcPhysicsFlagMidphase,
|
||||
MjcPhysicsTokens->mjcPhysicsFlagNativeccd,
|
||||
MjcPhysicsTokens->mjcPhysicsFlagEulerdamp,
|
||||
MjcPhysicsTokens->mjcPhysicsFlagAutoreset,
|
||||
MjcPhysicsTokens->mjcPhysicsFlagOverride,
|
||||
MjcPhysicsTokens->mjcPhysicsFlagEnergy,
|
||||
MjcPhysicsTokens->mjcPhysicsFlagFwdinv,
|
||||
MjcPhysicsTokens->mjcPhysicsFlagInvdiscrete,
|
||||
MjcPhysicsTokens->mjcPhysicsFlagMulticcd,
|
||||
MjcPhysicsTokens->mjcPhysicsFlagIsland,
|
||||
};
|
||||
static TfTokenVector allNames = _ConcatenateAttributeNames(
|
||||
UsdAPISchemaBase::GetSchemaAttributeNames(true), localNames);
|
||||
|
||||
if (includeInherited)
|
||||
return allNames;
|
||||
else
|
||||
return localNames;
|
||||
}
|
||||
|
||||
PXR_NAMESPACE_CLOSE_SCOPE
|
||||
|
||||
// ===================================================================== //
|
||||
// Feel free to add custom code below this line. It will be preserved by
|
||||
// the code generator.
|
||||
//
|
||||
// Just remember to wrap code in the appropriate delimiters:
|
||||
// 'PXR_NAMESPACE_OPEN_SCOPE', 'PXR_NAMESPACE_CLOSE_SCOPE'.
|
||||
// ===================================================================== //
|
||||
// --(BEGIN CUSTOM CODE)--
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,99 @@
|
||||
// Copyright 2025 DeepMind Technologies Limited
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#include "./siteAPI.h"
|
||||
|
||||
#include "pxr/usd/sdf/assetPath.h"
|
||||
#include "pxr/usd/sdf/types.h"
|
||||
#include "pxr/usd/usd/schemaRegistry.h"
|
||||
#include "pxr/usd/usd/typed.h"
|
||||
|
||||
PXR_NAMESPACE_OPEN_SCOPE
|
||||
|
||||
// Register the schema with the TfType system.
|
||||
TF_REGISTRY_FUNCTION(TfType) {
|
||||
TfType::Define<MjcPhysicsSiteAPI, TfType::Bases<UsdAPISchemaBase> >();
|
||||
}
|
||||
|
||||
/* virtual */
|
||||
MjcPhysicsSiteAPI::~MjcPhysicsSiteAPI() {}
|
||||
|
||||
/* static */
|
||||
MjcPhysicsSiteAPI MjcPhysicsSiteAPI::Get(const UsdStagePtr &stage,
|
||||
const SdfPath &path) {
|
||||
if (!stage) {
|
||||
TF_CODING_ERROR("Invalid stage");
|
||||
return MjcPhysicsSiteAPI();
|
||||
}
|
||||
return MjcPhysicsSiteAPI(stage->GetPrimAtPath(path));
|
||||
}
|
||||
|
||||
/* virtual */
|
||||
UsdSchemaKind MjcPhysicsSiteAPI::_GetSchemaKind() const {
|
||||
return MjcPhysicsSiteAPI::schemaKind;
|
||||
}
|
||||
|
||||
/* static */
|
||||
bool MjcPhysicsSiteAPI::CanApply(const UsdPrim &prim, std::string *whyNot) {
|
||||
return prim.CanApplyAPI<MjcPhysicsSiteAPI>(whyNot);
|
||||
}
|
||||
|
||||
/* static */
|
||||
MjcPhysicsSiteAPI MjcPhysicsSiteAPI::Apply(const UsdPrim &prim) {
|
||||
if (prim.ApplyAPI<MjcPhysicsSiteAPI>()) {
|
||||
return MjcPhysicsSiteAPI(prim);
|
||||
}
|
||||
return MjcPhysicsSiteAPI();
|
||||
}
|
||||
|
||||
/* static */
|
||||
const TfType &MjcPhysicsSiteAPI::_GetStaticTfType() {
|
||||
static TfType tfType = TfType::Find<MjcPhysicsSiteAPI>();
|
||||
return tfType;
|
||||
}
|
||||
|
||||
/* static */
|
||||
bool MjcPhysicsSiteAPI::_IsTypedSchema() {
|
||||
static bool isTyped = _GetStaticTfType().IsA<UsdTyped>();
|
||||
return isTyped;
|
||||
}
|
||||
|
||||
/* virtual */
|
||||
const TfType &MjcPhysicsSiteAPI::_GetTfType() const {
|
||||
return _GetStaticTfType();
|
||||
}
|
||||
|
||||
/*static*/
|
||||
const TfTokenVector &MjcPhysicsSiteAPI::GetSchemaAttributeNames(
|
||||
bool includeInherited) {
|
||||
static TfTokenVector localNames;
|
||||
static TfTokenVector allNames =
|
||||
UsdAPISchemaBase::GetSchemaAttributeNames(true);
|
||||
|
||||
if (includeInherited)
|
||||
return allNames;
|
||||
else
|
||||
return localNames;
|
||||
}
|
||||
|
||||
PXR_NAMESPACE_CLOSE_SCOPE
|
||||
|
||||
// ===================================================================== //
|
||||
// Feel free to add custom code below this line. It will be preserved by
|
||||
// the code generator.
|
||||
//
|
||||
// Just remember to wrap code in the appropriate delimiters:
|
||||
// 'PXR_NAMESPACE_OPEN_SCOPE', 'PXR_NAMESPACE_CLOSE_SCOPE'.
|
||||
// ===================================================================== //
|
||||
// --(BEGIN CUSTOM CODE)--
|
||||
@@ -0,0 +1,158 @@
|
||||
// Copyright 2025 DeepMind Technologies Limited
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#ifndef MJCPHYSICS_GENERATED_SITEAPI_H
|
||||
#define MJCPHYSICS_GENERATED_SITEAPI_H
|
||||
|
||||
/// \file mjcPhysics/siteAPI.h
|
||||
|
||||
#include "./api.h"
|
||||
#include "pxr/base/gf/matrix4d.h"
|
||||
#include "pxr/base/gf/vec3d.h"
|
||||
#include "pxr/base/gf/vec3f.h"
|
||||
#include "pxr/base/tf/token.h"
|
||||
#include "pxr/base/tf/type.h"
|
||||
#include "pxr/base/vt/value.h"
|
||||
#include "pxr/pxr.h"
|
||||
#include "pxr/usd/usd/apiSchemaBase.h"
|
||||
#include "pxr/usd/usd/prim.h"
|
||||
#include "pxr/usd/usd/stage.h"
|
||||
|
||||
PXR_NAMESPACE_OPEN_SCOPE
|
||||
|
||||
class SdfAssetPath;
|
||||
|
||||
// -------------------------------------------------------------------------- //
|
||||
// MJCSITEAPI //
|
||||
// -------------------------------------------------------------------------- //
|
||||
|
||||
/// \class MjcPhysicsSiteAPI
|
||||
///
|
||||
/// API describing a Mujoco site.
|
||||
///
|
||||
class MjcPhysicsSiteAPI : public UsdAPISchemaBase {
|
||||
public:
|
||||
/// Compile time constant representing what kind of schema this class is.
|
||||
///
|
||||
/// \sa UsdSchemaKind
|
||||
static const UsdSchemaKind schemaKind = UsdSchemaKind::SingleApplyAPI;
|
||||
|
||||
/// Construct a MjcPhysicsSiteAPI on UsdPrim \p prim .
|
||||
/// Equivalent to MjcPhysicsSiteAPI::Get(prim.GetStage(), prim.GetPath())
|
||||
/// for a \em valid \p prim, but will not immediately throw an error for
|
||||
/// an invalid \p prim
|
||||
explicit MjcPhysicsSiteAPI(const UsdPrim &prim = UsdPrim())
|
||||
: UsdAPISchemaBase(prim) {}
|
||||
|
||||
/// Construct a MjcPhysicsSiteAPI on the prim held by \p schemaObj .
|
||||
/// Should be preferred over MjcPhysicsSiteAPI(schemaObj.GetPrim()),
|
||||
/// as it preserves SchemaBase state.
|
||||
explicit MjcPhysicsSiteAPI(const UsdSchemaBase &schemaObj)
|
||||
: UsdAPISchemaBase(schemaObj) {}
|
||||
|
||||
/// Destructor.
|
||||
MJCPHYSICS_API
|
||||
virtual ~MjcPhysicsSiteAPI();
|
||||
|
||||
/// Return a vector of names of all pre-declared attributes for this schema
|
||||
/// class and all its ancestor classes. Does not include attributes that
|
||||
/// may be authored by custom/extended methods of the schemas involved.
|
||||
MJCPHYSICS_API
|
||||
static const TfTokenVector &GetSchemaAttributeNames(
|
||||
bool includeInherited = true);
|
||||
|
||||
/// Return a MjcPhysicsSiteAPI holding the prim adhering to this
|
||||
/// schema at \p path on \p stage. If no prim exists at \p path on
|
||||
/// \p stage, or if the prim at that path does not adhere to this schema,
|
||||
/// return an invalid schema object. This is shorthand for the following:
|
||||
///
|
||||
/// \code
|
||||
/// MjcPhysicsSiteAPI(stage->GetPrimAtPath(path));
|
||||
/// \endcode
|
||||
///
|
||||
MJCPHYSICS_API
|
||||
static MjcPhysicsSiteAPI Get(const UsdStagePtr &stage, const SdfPath &path);
|
||||
|
||||
/// Returns true if this <b>single-apply</b> API schema can be applied to
|
||||
/// the given \p prim. If this schema can not be a applied to the prim,
|
||||
/// this returns false and, if provided, populates \p whyNot with the
|
||||
/// reason it can not be applied.
|
||||
///
|
||||
/// Note that if CanApply returns false, that does not necessarily imply
|
||||
/// that calling Apply will fail. Callers are expected to call CanApply
|
||||
/// before calling Apply if they want to ensure that it is valid to
|
||||
/// apply a schema.
|
||||
///
|
||||
/// \sa UsdPrim::GetAppliedSchemas()
|
||||
/// \sa UsdPrim::HasAPI()
|
||||
/// \sa UsdPrim::CanApplyAPI()
|
||||
/// \sa UsdPrim::ApplyAPI()
|
||||
/// \sa UsdPrim::RemoveAPI()
|
||||
///
|
||||
MJCPHYSICS_API
|
||||
static bool CanApply(const UsdPrim &prim, std::string *whyNot = nullptr);
|
||||
|
||||
/// Applies this <b>single-apply</b> API schema to the given \p prim.
|
||||
/// This information is stored by adding "MjcSiteAPI" to the
|
||||
/// token-valued, listOp metadata \em apiSchemas on the prim.
|
||||
///
|
||||
/// \return A valid MjcPhysicsSiteAPI object is returned upon success.
|
||||
/// An invalid (or empty) MjcPhysicsSiteAPI object is returned upon
|
||||
/// failure. See \ref UsdPrim::ApplyAPI() for conditions
|
||||
/// resulting in failure.
|
||||
///
|
||||
/// \sa UsdPrim::GetAppliedSchemas()
|
||||
/// \sa UsdPrim::HasAPI()
|
||||
/// \sa UsdPrim::CanApplyAPI()
|
||||
/// \sa UsdPrim::ApplyAPI()
|
||||
/// \sa UsdPrim::RemoveAPI()
|
||||
///
|
||||
MJCPHYSICS_API
|
||||
static MjcPhysicsSiteAPI Apply(const UsdPrim &prim);
|
||||
|
||||
protected:
|
||||
/// Returns the kind of schema this class belongs to.
|
||||
///
|
||||
/// \sa UsdSchemaKind
|
||||
MJCPHYSICS_API
|
||||
UsdSchemaKind _GetSchemaKind() const override;
|
||||
|
||||
private:
|
||||
// needs to invoke _GetStaticTfType.
|
||||
friend class UsdSchemaRegistry;
|
||||
MJCPHYSICS_API
|
||||
static const TfType &_GetStaticTfType();
|
||||
|
||||
static bool _IsTypedSchema();
|
||||
|
||||
// override SchemaBase virtuals.
|
||||
MJCPHYSICS_API
|
||||
const TfType &_GetTfType() const override;
|
||||
|
||||
public:
|
||||
// ===================================================================== //
|
||||
// Feel free to add custom code below this line, it will be preserved by
|
||||
// the code generator.
|
||||
//
|
||||
// Just remember to:
|
||||
// - Close the class declaration with };
|
||||
// - Close the namespace with PXR_NAMESPACE_CLOSE_SCOPE
|
||||
// - Close the include guard with #endif
|
||||
// ===================================================================== //
|
||||
// --(BEGIN CUSTOM CODE)--
|
||||
};
|
||||
|
||||
PXR_NAMESPACE_CLOSE_SCOPE
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,156 @@
|
||||
// Copyright 2025 DeepMind Technologies Limited
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#include "./tokens.h"
|
||||
|
||||
PXR_NAMESPACE_OPEN_SCOPE
|
||||
|
||||
MjcPhysicsTokensType::MjcPhysicsTokensType()
|
||||
: auto_("auto", TfToken::Immortal),
|
||||
cg("cg", TfToken::Immortal),
|
||||
dense("dense", TfToken::Immortal),
|
||||
elliptic("elliptic", TfToken::Immortal),
|
||||
euler("euler", TfToken::Immortal),
|
||||
implicit("implicit", TfToken::Immortal),
|
||||
implicitfast("implicitfast", TfToken::Immortal),
|
||||
mjcPhysicsActuatorgroupdisable("mjc:physics:actuatorgroupdisable",
|
||||
TfToken::Immortal),
|
||||
mjcPhysicsApirate("mjc:physics:apirate", TfToken::Immortal),
|
||||
mjcPhysicsCcd_iterations("mjc:physics:ccd_iterations", TfToken::Immortal),
|
||||
mjcPhysicsCcd_tolerance("mjc:physics:ccd_tolerance", TfToken::Immortal),
|
||||
mjcPhysicsCone("mjc:physics:cone", TfToken::Immortal),
|
||||
mjcPhysicsDensity("mjc:physics:density", TfToken::Immortal),
|
||||
mjcPhysicsFlagActuation("mjc:physics:flag:actuation", TfToken::Immortal),
|
||||
mjcPhysicsFlagAutoreset("mjc:physics:flag:autoreset", TfToken::Immortal),
|
||||
mjcPhysicsFlagClampctrl("mjc:physics:flag:clampctrl", TfToken::Immortal),
|
||||
mjcPhysicsFlagConstraint("mjc:physics:flag:constraint",
|
||||
TfToken::Immortal),
|
||||
mjcPhysicsFlagContact("mjc:physics:flag:contact", TfToken::Immortal),
|
||||
mjcPhysicsFlagEnergy("mjc:physics:flag:energy", TfToken::Immortal),
|
||||
mjcPhysicsFlagEquality("mjc:physics:flag:equality", TfToken::Immortal),
|
||||
mjcPhysicsFlagEulerdamp("mjc:physics:flag:eulerdamp", TfToken::Immortal),
|
||||
mjcPhysicsFlagFilterparent("mjc:physics:flag:filterparent",
|
||||
TfToken::Immortal),
|
||||
mjcPhysicsFlagFrictionloss("mjc:physics:flag:frictionloss",
|
||||
TfToken::Immortal),
|
||||
mjcPhysicsFlagFwdinv("mjc:physics:flag:fwdinv", TfToken::Immortal),
|
||||
mjcPhysicsFlagGravity("mjc:physics:flag:gravity", TfToken::Immortal),
|
||||
mjcPhysicsFlagInvdiscrete("mjc:physics:flag:invdiscrete",
|
||||
TfToken::Immortal),
|
||||
mjcPhysicsFlagIsland("mjc:physics:flag:island", TfToken::Immortal),
|
||||
mjcPhysicsFlagLimit("mjc:physics:flag:limit", TfToken::Immortal),
|
||||
mjcPhysicsFlagMidphase("mjc:physics:flag:midphase", TfToken::Immortal),
|
||||
mjcPhysicsFlagMulticcd("mjc:physics:flag:multiccd", TfToken::Immortal),
|
||||
mjcPhysicsFlagNativeccd("mjc:physics:flag:nativeccd", TfToken::Immortal),
|
||||
mjcPhysicsFlagOverride("mjc:physics:flag:override", TfToken::Immortal),
|
||||
mjcPhysicsFlagPassive("mjc:physics:flag:passive", TfToken::Immortal),
|
||||
mjcPhysicsFlagRefsafe("mjc:physics:flag:refsafe", TfToken::Immortal),
|
||||
mjcPhysicsFlagSensor("mjc:physics:flag:sensor", TfToken::Immortal),
|
||||
mjcPhysicsFlagWarmstart("mjc:physics:flag:warmstart", TfToken::Immortal),
|
||||
mjcPhysicsImpratio("mjc:physics:impratio", TfToken::Immortal),
|
||||
mjcPhysicsIntegrator("mjc:physics:integrator", TfToken::Immortal),
|
||||
mjcPhysicsIterations("mjc:physics:iterations", TfToken::Immortal),
|
||||
mjcPhysicsJacobian("mjc:physics:jacobian", TfToken::Immortal),
|
||||
mjcPhysicsLs_iterations("mjc:physics:ls_iterations", TfToken::Immortal),
|
||||
mjcPhysicsLs_tolerance("mjc:physics:ls_tolerance", TfToken::Immortal),
|
||||
mjcPhysicsMagnetic("mjc:physics:magnetic", TfToken::Immortal),
|
||||
mjcPhysicsNoslip_iterations("mjc:physics:noslip_iterations",
|
||||
TfToken::Immortal),
|
||||
mjcPhysicsNoslip_tolerance("mjc:physics:noslip_tolerance",
|
||||
TfToken::Immortal),
|
||||
mjcPhysicsO_friction("mjc:physics:o_friction", TfToken::Immortal),
|
||||
mjcPhysicsO_margin("mjc:physics:o_margin", TfToken::Immortal),
|
||||
mjcPhysicsO_solimp("mjc:physics:o_solimp", TfToken::Immortal),
|
||||
mjcPhysicsO_solref("mjc:physics:o_solref", TfToken::Immortal),
|
||||
mjcPhysicsSdf_initpoints("mjc:physics:sdf_initpoints", TfToken::Immortal),
|
||||
mjcPhysicsSdf_iterations("mjc:physics:sdf_iterations", TfToken::Immortal),
|
||||
mjcPhysicsSolver("mjc:physics:solver", TfToken::Immortal),
|
||||
mjcPhysicsTimestep("mjc:physics:timestep", TfToken::Immortal),
|
||||
mjcPhysicsTolerance("mjc:physics:tolerance", TfToken::Immortal),
|
||||
mjcPhysicsViscosity("mjc:physics:viscosity", TfToken::Immortal),
|
||||
mjcPhysicsWind("mjc:physics:wind", TfToken::Immortal),
|
||||
newton("newton", TfToken::Immortal),
|
||||
pgs("pgs", TfToken::Immortal),
|
||||
pyramidal("pyramidal", TfToken::Immortal),
|
||||
rk4("rk4", TfToken::Immortal),
|
||||
sparse("sparse", TfToken::Immortal),
|
||||
MjcPhysicsSceneAPI("MjcPhysicsSceneAPI", TfToken::Immortal),
|
||||
MjcSiteAPI("MjcSiteAPI", TfToken::Immortal),
|
||||
allTokens({auto_,
|
||||
cg,
|
||||
dense,
|
||||
elliptic,
|
||||
euler,
|
||||
implicit,
|
||||
implicitfast,
|
||||
mjcPhysicsActuatorgroupdisable,
|
||||
mjcPhysicsApirate,
|
||||
mjcPhysicsCcd_iterations,
|
||||
mjcPhysicsCcd_tolerance,
|
||||
mjcPhysicsCone,
|
||||
mjcPhysicsDensity,
|
||||
mjcPhysicsFlagActuation,
|
||||
mjcPhysicsFlagAutoreset,
|
||||
mjcPhysicsFlagClampctrl,
|
||||
mjcPhysicsFlagConstraint,
|
||||
mjcPhysicsFlagContact,
|
||||
mjcPhysicsFlagEnergy,
|
||||
mjcPhysicsFlagEquality,
|
||||
mjcPhysicsFlagEulerdamp,
|
||||
mjcPhysicsFlagFilterparent,
|
||||
mjcPhysicsFlagFrictionloss,
|
||||
mjcPhysicsFlagFwdinv,
|
||||
mjcPhysicsFlagGravity,
|
||||
mjcPhysicsFlagInvdiscrete,
|
||||
mjcPhysicsFlagIsland,
|
||||
mjcPhysicsFlagLimit,
|
||||
mjcPhysicsFlagMidphase,
|
||||
mjcPhysicsFlagMulticcd,
|
||||
mjcPhysicsFlagNativeccd,
|
||||
mjcPhysicsFlagOverride,
|
||||
mjcPhysicsFlagPassive,
|
||||
mjcPhysicsFlagRefsafe,
|
||||
mjcPhysicsFlagSensor,
|
||||
mjcPhysicsFlagWarmstart,
|
||||
mjcPhysicsImpratio,
|
||||
mjcPhysicsIntegrator,
|
||||
mjcPhysicsIterations,
|
||||
mjcPhysicsJacobian,
|
||||
mjcPhysicsLs_iterations,
|
||||
mjcPhysicsLs_tolerance,
|
||||
mjcPhysicsMagnetic,
|
||||
mjcPhysicsNoslip_iterations,
|
||||
mjcPhysicsNoslip_tolerance,
|
||||
mjcPhysicsO_friction,
|
||||
mjcPhysicsO_margin,
|
||||
mjcPhysicsO_solimp,
|
||||
mjcPhysicsO_solref,
|
||||
mjcPhysicsSdf_initpoints,
|
||||
mjcPhysicsSdf_iterations,
|
||||
mjcPhysicsSolver,
|
||||
mjcPhysicsTimestep,
|
||||
mjcPhysicsTolerance,
|
||||
mjcPhysicsViscosity,
|
||||
mjcPhysicsWind,
|
||||
newton,
|
||||
pgs,
|
||||
pyramidal,
|
||||
rk4,
|
||||
sparse,
|
||||
MjcPhysicsSceneAPI,
|
||||
MjcSiteAPI}) {}
|
||||
|
||||
TfStaticData<MjcPhysicsTokensType> MjcPhysicsTokens;
|
||||
|
||||
PXR_NAMESPACE_CLOSE_SCOPE
|
||||
@@ -0,0 +1,332 @@
|
||||
// Copyright 2025 DeepMind Technologies Limited
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#ifndef MJCPHYSICS_TOKENS_H
|
||||
#define MJCPHYSICS_TOKENS_H
|
||||
|
||||
/// \file mjcPhysics/tokens.h
|
||||
|
||||
// XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
//
|
||||
// This is an automatically generated file (by usdGenSchema.py).
|
||||
// Do not hand-edit!
|
||||
//
|
||||
// XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "./api.h"
|
||||
#include "pxr/base/tf/staticData.h"
|
||||
#include "pxr/base/tf/token.h"
|
||||
#include "pxr/pxr.h"
|
||||
|
||||
PXR_NAMESPACE_OPEN_SCOPE
|
||||
|
||||
/// \class MjcPhysicsTokensType
|
||||
///
|
||||
/// \link MjcPhysicsTokens \endlink provides static, efficient
|
||||
/// \link TfToken TfTokens\endlink for use in all public USD API.
|
||||
///
|
||||
/// These tokens are auto-generated from the module's schema, representing
|
||||
/// property names, for when you need to fetch an attribute or relationship
|
||||
/// directly by name, e.g. UsdPrim::GetAttribute(), in the most efficient
|
||||
/// manner, and allow the compiler to verify that you spelled the name
|
||||
/// correctly.
|
||||
///
|
||||
/// MjcPhysicsTokens also contains all of the \em allowedTokens values
|
||||
/// declared for schema builtin attributes of 'token' scene description type.
|
||||
/// Use MjcPhysicsTokens like so:
|
||||
///
|
||||
/// \code
|
||||
/// gprim.GetMyTokenValuedAttr().Set(MjcPhysicsTokens->auto_);
|
||||
/// \endcode
|
||||
struct MjcPhysicsTokensType {
|
||||
MJCPHYSICS_API MjcPhysicsTokensType();
|
||||
/// \brief "auto"
|
||||
///
|
||||
/// Fallback value for MjcPhysicsSceneAPI::GetJacobianAttr(), This token
|
||||
/// represents the auto constraint Jacobian and matrices computed from it.
|
||||
const TfToken auto_;
|
||||
/// \brief "cg"
|
||||
///
|
||||
/// Possible value for MjcPhysicsSceneAPI::GetSolverAttr(), This token
|
||||
/// represents the CG constraint solver algorithm.
|
||||
const TfToken cg;
|
||||
/// \brief "dense"
|
||||
///
|
||||
/// Possible value for MjcPhysicsSceneAPI::GetJacobianAttr(), This token
|
||||
/// represents the dense constraint Jacobian and matrices computed from it.
|
||||
const TfToken dense;
|
||||
/// \brief "elliptic"
|
||||
///
|
||||
/// Possible value for MjcPhysicsSceneAPI::GetConeAttr(), This token
|
||||
/// represents the elliptic contact friction cone type.
|
||||
const TfToken elliptic;
|
||||
/// \brief "euler"
|
||||
///
|
||||
/// Fallback value for MjcPhysicsSceneAPI::GetIntegratorAttr(), This token
|
||||
/// represents the Euler numerical integrator.
|
||||
const TfToken euler;
|
||||
/// \brief "implicit"
|
||||
///
|
||||
/// Possible value for MjcPhysicsSceneAPI::GetIntegratorAttr(), This token
|
||||
/// represents the implicit numerical integrator.
|
||||
const TfToken implicit;
|
||||
/// \brief "implicitfast"
|
||||
///
|
||||
/// Possible value for MjcPhysicsSceneAPI::GetIntegratorAttr(), This token
|
||||
/// represents the implicitfast numerical integrator.
|
||||
const TfToken implicitfast;
|
||||
/// \brief "mjc:physics:actuatorgroupdisable"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsActuatorgroupdisable;
|
||||
/// \brief "mjc:physics:apirate"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsApirate;
|
||||
/// \brief "mjc:physics:ccd_iterations"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsCcd_iterations;
|
||||
/// \brief "mjc:physics:ccd_tolerance"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsCcd_tolerance;
|
||||
/// \brief "mjc:physics:cone"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsCone;
|
||||
/// \brief "mjc:physics:density"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsDensity;
|
||||
/// \brief "mjc:physics:flag:actuation"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsFlagActuation;
|
||||
/// \brief "mjc:physics:flag:autoreset"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsFlagAutoreset;
|
||||
/// \brief "mjc:physics:flag:clampctrl"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsFlagClampctrl;
|
||||
/// \brief "mjc:physics:flag:constraint"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsFlagConstraint;
|
||||
/// \brief "mjc:physics:flag:contact"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsFlagContact;
|
||||
/// \brief "mjc:physics:flag:energy"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsFlagEnergy;
|
||||
/// \brief "mjc:physics:flag:equality"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsFlagEquality;
|
||||
/// \brief "mjc:physics:flag:eulerdamp"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsFlagEulerdamp;
|
||||
/// \brief "mjc:physics:flag:filterparent"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsFlagFilterparent;
|
||||
/// \brief "mjc:physics:flag:frictionloss"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsFlagFrictionloss;
|
||||
/// \brief "mjc:physics:flag:fwdinv"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsFlagFwdinv;
|
||||
/// \brief "mjc:physics:flag:gravity"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsFlagGravity;
|
||||
/// \brief "mjc:physics:flag:invdiscrete"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsFlagInvdiscrete;
|
||||
/// \brief "mjc:physics:flag:island"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsFlagIsland;
|
||||
/// \brief "mjc:physics:flag:limit"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsFlagLimit;
|
||||
/// \brief "mjc:physics:flag:midphase"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsFlagMidphase;
|
||||
/// \brief "mjc:physics:flag:multiccd"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsFlagMulticcd;
|
||||
/// \brief "mjc:physics:flag:nativeccd"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsFlagNativeccd;
|
||||
/// \brief "mjc:physics:flag:override"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsFlagOverride;
|
||||
/// \brief "mjc:physics:flag:passive"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsFlagPassive;
|
||||
/// \brief "mjc:physics:flag:refsafe"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsFlagRefsafe;
|
||||
/// \brief "mjc:physics:flag:sensor"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsFlagSensor;
|
||||
/// \brief "mjc:physics:flag:warmstart"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsFlagWarmstart;
|
||||
/// \brief "mjc:physics:impratio"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsImpratio;
|
||||
/// \brief "mjc:physics:integrator"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsIntegrator;
|
||||
/// \brief "mjc:physics:iterations"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsIterations;
|
||||
/// \brief "mjc:physics:jacobian"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsJacobian;
|
||||
/// \brief "mjc:physics:ls_iterations"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsLs_iterations;
|
||||
/// \brief "mjc:physics:ls_tolerance"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsLs_tolerance;
|
||||
/// \brief "mjc:physics:magnetic"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsMagnetic;
|
||||
/// \brief "mjc:physics:noslip_iterations"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsNoslip_iterations;
|
||||
/// \brief "mjc:physics:noslip_tolerance"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsNoslip_tolerance;
|
||||
/// \brief "mjc:physics:o_friction"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsO_friction;
|
||||
/// \brief "mjc:physics:o_margin"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsO_margin;
|
||||
/// \brief "mjc:physics:o_solimp"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsO_solimp;
|
||||
/// \brief "mjc:physics:o_solref"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsO_solref;
|
||||
/// \brief "mjc:physics:sdf_initpoints"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsSdf_initpoints;
|
||||
/// \brief "mjc:physics:sdf_iterations"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsSdf_iterations;
|
||||
/// \brief "mjc:physics:solver"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsSolver;
|
||||
/// \brief "mjc:physics:timestep"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsTimestep;
|
||||
/// \brief "mjc:physics:tolerance"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsTolerance;
|
||||
/// \brief "mjc:physics:viscosity"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsViscosity;
|
||||
/// \brief "mjc:physics:wind"
|
||||
///
|
||||
/// MjcPhysicsSceneAPI
|
||||
const TfToken mjcPhysicsWind;
|
||||
/// \brief "newton"
|
||||
///
|
||||
/// Fallback value for MjcPhysicsSceneAPI::GetSolverAttr(), This token
|
||||
/// represents the Newton constraint solver algorithm.
|
||||
const TfToken newton;
|
||||
/// \brief "pgs"
|
||||
///
|
||||
/// Possible value for MjcPhysicsSceneAPI::GetSolverAttr(), This token
|
||||
/// represents the PGS constraint solver algorithm.
|
||||
const TfToken pgs;
|
||||
/// \brief "pyramidal"
|
||||
///
|
||||
/// Fallback value for MjcPhysicsSceneAPI::GetConeAttr(), This token
|
||||
/// represents the pyramidal contact friction cone type.
|
||||
const TfToken pyramidal;
|
||||
/// \brief "rk4"
|
||||
///
|
||||
/// Possible value for MjcPhysicsSceneAPI::GetIntegratorAttr(), This token
|
||||
/// represents the RK4 numerical integrator.
|
||||
const TfToken rk4;
|
||||
/// \brief "sparse"
|
||||
///
|
||||
/// Possible value for MjcPhysicsSceneAPI::GetJacobianAttr(), This token
|
||||
/// represents the sparse constraint Jacobian and matrices computed from it.
|
||||
const TfToken sparse;
|
||||
/// \brief "MjcPhysicsSceneAPI"
|
||||
///
|
||||
/// Schema identifer and family for MjcPhysicsSceneAPI
|
||||
const TfToken MjcPhysicsSceneAPI;
|
||||
/// \brief "MjcSiteAPI"
|
||||
///
|
||||
/// Schema identifer and family for MjcPhysicsSiteAPI
|
||||
const TfToken MjcSiteAPI;
|
||||
/// A vector of all of the tokens listed above.
|
||||
const std::vector<TfToken> allTokens;
|
||||
};
|
||||
|
||||
/// \var MjcPhysicsTokens
|
||||
///
|
||||
/// A global variable with static, efficient \link TfToken TfTokens\endlink
|
||||
/// for use in all public USD API. \sa MjcPhysicsTokensType
|
||||
extern MJCPHYSICS_API TfStaticData<MjcPhysicsTokensType> MjcPhysicsTokens;
|
||||
|
||||
PXR_NAMESPACE_CLOSE_SCOPE
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,653 @@
|
||||
// Copyright 2025 DeepMind Technologies Limited
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#include <boost/python.hpp>
|
||||
#include <string>
|
||||
|
||||
#include "./sceneAPI.h"
|
||||
#include "pxr/base/tf/pyAnnotatedBoolResult.h"
|
||||
#include "pxr/base/tf/pyContainerConversions.h"
|
||||
#include "pxr/base/tf/pyResultConversions.h"
|
||||
#include "pxr/base/tf/pyUtils.h"
|
||||
#include "pxr/base/tf/wrapTypeHelpers.h"
|
||||
#include "pxr/usd/sdf/primSpec.h"
|
||||
#include "pxr/usd/usd/pyConversions.h"
|
||||
#include "pxr/usd/usd/schemaBase.h"
|
||||
|
||||
using namespace boost::python;
|
||||
|
||||
PXR_NAMESPACE_USING_DIRECTIVE
|
||||
|
||||
namespace {
|
||||
|
||||
#define WRAP_CUSTOM \
|
||||
template <class Cls> \
|
||||
static void _CustomWrapCode(Cls &_class)
|
||||
|
||||
// fwd decl.
|
||||
WRAP_CUSTOM;
|
||||
|
||||
static UsdAttribute _CreateTimestepAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal, bool writeSparsely) {
|
||||
return self.CreateTimestepAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Double), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateApiRateAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal, bool writeSparsely) {
|
||||
return self.CreateApiRateAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Double), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateImpRatioAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal, bool writeSparsely) {
|
||||
return self.CreateImpRatioAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Double), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateWindAttr(MjcPhysicsSceneAPI &self, object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateWindAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Double3),
|
||||
writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateMagneticAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal, bool writeSparsely) {
|
||||
return self.CreateMagneticAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Double3),
|
||||
writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateDensityAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal, bool writeSparsely) {
|
||||
return self.CreateDensityAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Double), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateViscosityAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateViscosityAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Double), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateOMarginAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal, bool writeSparsely) {
|
||||
return self.CreateOMarginAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Double), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateOSolRefAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal, bool writeSparsely) {
|
||||
return self.CreateOSolRefAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->DoubleArray),
|
||||
writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateOSolImpAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal, bool writeSparsely) {
|
||||
return self.CreateOSolImpAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->DoubleArray),
|
||||
writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateOFrictionAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateOFrictionAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->DoubleArray),
|
||||
writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateIntegratorAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateIntegratorAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Token), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateConeAttr(MjcPhysicsSceneAPI &self, object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateConeAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Token), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateJacobianAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal, bool writeSparsely) {
|
||||
return self.CreateJacobianAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Token), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateSolverAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal, bool writeSparsely) {
|
||||
return self.CreateSolverAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Token), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateIterationsAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateIterationsAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Int), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateToleranceAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateToleranceAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Double), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateLSIterationsAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateLSIterationsAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Int), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateLSToleranceAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateLSToleranceAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Double), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateNoslipIterationsAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateNoslipIterationsAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Int), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateNoslipToleranceAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateNoslipToleranceAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Double), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateCCDIterationsAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateCCDIterationsAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Int), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateCCDToleranceAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateCCDToleranceAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Double), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateSDFIterationsAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateSDFIterationsAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Int), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateSDFInitPointsAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateSDFInitPointsAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Int), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateActuatorGroupDisableAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateActuatorGroupDisableAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->IntArray),
|
||||
writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateConstraintFlagAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateConstraintFlagAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Bool), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateEqualityFlagAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateEqualityFlagAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Bool), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateFrictionLossFlagAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateFrictionLossFlagAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Bool), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateLimitFlagAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateLimitFlagAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Bool), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateContactFlagAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateContactFlagAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Bool), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreatePassiveFlagAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreatePassiveFlagAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Bool), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateGravityFlagAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateGravityFlagAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Bool), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateClampCtrlFlagAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateClampCtrlFlagAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Bool), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateWarmStartFlagAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateWarmStartFlagAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Bool), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateFilterParentFlagAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateFilterParentFlagAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Bool), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateActuationFlagAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateActuationFlagAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Bool), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateRefSafeFlagAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateRefSafeFlagAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Bool), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateSensorFlagAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateSensorFlagAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Bool), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateMidPhaseFlagAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateMidPhaseFlagAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Bool), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateNativeCCDFlagAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateNativeCCDFlagAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Bool), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateEulerDampFlagAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateEulerDampFlagAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Bool), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateAutoResetFlagAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateAutoResetFlagAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Bool), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateOverrideFlagAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateOverrideFlagAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Bool), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateEnergyFlagAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateEnergyFlagAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Bool), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateFwdinvFlagAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateFwdinvFlagAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Bool), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateInvDiscreteFlagAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateInvDiscreteFlagAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Bool), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateMultiCCDFlagAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateMultiCCDFlagAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Bool), writeSparsely);
|
||||
}
|
||||
|
||||
static UsdAttribute _CreateIslandFlagAttr(MjcPhysicsSceneAPI &self,
|
||||
object defaultVal,
|
||||
bool writeSparsely) {
|
||||
return self.CreateIslandFlagAttr(
|
||||
UsdPythonToSdfType(defaultVal, SdfValueTypeNames->Bool), writeSparsely);
|
||||
}
|
||||
|
||||
static std::string _Repr(const MjcPhysicsSceneAPI &self) {
|
||||
std::string primRepr = TfPyRepr(self.GetPrim());
|
||||
return TfStringPrintf("MjcPhysics.SceneAPI(%s)", primRepr.c_str());
|
||||
}
|
||||
|
||||
struct MjcPhysicsSceneAPI_CanApplyResult
|
||||
: public TfPyAnnotatedBoolResult<std::string> {
|
||||
MjcPhysicsSceneAPI_CanApplyResult(bool val, std::string const &msg)
|
||||
: TfPyAnnotatedBoolResult<std::string>(val, msg) {}
|
||||
};
|
||||
|
||||
static MjcPhysicsSceneAPI_CanApplyResult _WrapCanApply(const UsdPrim &prim) {
|
||||
std::string whyNot;
|
||||
bool result = MjcPhysicsSceneAPI::CanApply(prim, &whyNot);
|
||||
return MjcPhysicsSceneAPI_CanApplyResult(result, whyNot);
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
void wrapMjcPhysicsSceneAPI() {
|
||||
typedef MjcPhysicsSceneAPI This;
|
||||
|
||||
MjcPhysicsSceneAPI_CanApplyResult::Wrap<MjcPhysicsSceneAPI_CanApplyResult>(
|
||||
"_CanApplyResult", "whyNot");
|
||||
|
||||
class_<This, bases<UsdAPISchemaBase> > cls("SceneAPI");
|
||||
|
||||
cls.def(init<UsdPrim>(arg("prim")))
|
||||
.def(init<UsdSchemaBase const &>(arg("schemaObj")))
|
||||
.def(TfTypePythonClass())
|
||||
|
||||
.def("Get", &This::Get, (arg("stage"), arg("path")))
|
||||
.staticmethod("Get")
|
||||
|
||||
.def("CanApply", &_WrapCanApply, (arg("prim")))
|
||||
.staticmethod("CanApply")
|
||||
|
||||
.def("Apply", &This::Apply, (arg("prim")))
|
||||
.staticmethod("Apply")
|
||||
|
||||
.def("GetSchemaAttributeNames", &This::GetSchemaAttributeNames,
|
||||
arg("includeInherited") = true,
|
||||
return_value_policy<TfPySequenceToList>())
|
||||
.staticmethod("GetSchemaAttributeNames")
|
||||
|
||||
.def("_GetStaticTfType", (TfType const &(*)())TfType::Find<This>,
|
||||
return_value_policy<return_by_value>())
|
||||
.staticmethod("_GetStaticTfType")
|
||||
|
||||
.def(!self)
|
||||
|
||||
.def("GetTimestepAttr", &This::GetTimestepAttr)
|
||||
.def("CreateTimestepAttr", &_CreateTimestepAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetApiRateAttr", &This::GetApiRateAttr)
|
||||
.def("CreateApiRateAttr", &_CreateApiRateAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetImpRatioAttr", &This::GetImpRatioAttr)
|
||||
.def("CreateImpRatioAttr", &_CreateImpRatioAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetWindAttr", &This::GetWindAttr)
|
||||
.def("CreateWindAttr", &_CreateWindAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetMagneticAttr", &This::GetMagneticAttr)
|
||||
.def("CreateMagneticAttr", &_CreateMagneticAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetDensityAttr", &This::GetDensityAttr)
|
||||
.def("CreateDensityAttr", &_CreateDensityAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetViscosityAttr", &This::GetViscosityAttr)
|
||||
.def("CreateViscosityAttr", &_CreateViscosityAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetOMarginAttr", &This::GetOMarginAttr)
|
||||
.def("CreateOMarginAttr", &_CreateOMarginAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetOSolRefAttr", &This::GetOSolRefAttr)
|
||||
.def("CreateOSolRefAttr", &_CreateOSolRefAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetOSolImpAttr", &This::GetOSolImpAttr)
|
||||
.def("CreateOSolImpAttr", &_CreateOSolImpAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetOFrictionAttr", &This::GetOFrictionAttr)
|
||||
.def("CreateOFrictionAttr", &_CreateOFrictionAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetIntegratorAttr", &This::GetIntegratorAttr)
|
||||
.def("CreateIntegratorAttr", &_CreateIntegratorAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetConeAttr", &This::GetConeAttr)
|
||||
.def("CreateConeAttr", &_CreateConeAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetJacobianAttr", &This::GetJacobianAttr)
|
||||
.def("CreateJacobianAttr", &_CreateJacobianAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetSolverAttr", &This::GetSolverAttr)
|
||||
.def("CreateSolverAttr", &_CreateSolverAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetIterationsAttr", &This::GetIterationsAttr)
|
||||
.def("CreateIterationsAttr", &_CreateIterationsAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetToleranceAttr", &This::GetToleranceAttr)
|
||||
.def("CreateToleranceAttr", &_CreateToleranceAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetLSIterationsAttr", &This::GetLSIterationsAttr)
|
||||
.def("CreateLSIterationsAttr", &_CreateLSIterationsAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetLSToleranceAttr", &This::GetLSToleranceAttr)
|
||||
.def("CreateLSToleranceAttr", &_CreateLSToleranceAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetNoslipIterationsAttr", &This::GetNoslipIterationsAttr)
|
||||
.def("CreateNoslipIterationsAttr", &_CreateNoslipIterationsAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetNoslipToleranceAttr", &This::GetNoslipToleranceAttr)
|
||||
.def("CreateNoslipToleranceAttr", &_CreateNoslipToleranceAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetCCDIterationsAttr", &This::GetCCDIterationsAttr)
|
||||
.def("CreateCCDIterationsAttr", &_CreateCCDIterationsAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetCCDToleranceAttr", &This::GetCCDToleranceAttr)
|
||||
.def("CreateCCDToleranceAttr", &_CreateCCDToleranceAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetSDFIterationsAttr", &This::GetSDFIterationsAttr)
|
||||
.def("CreateSDFIterationsAttr", &_CreateSDFIterationsAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetSDFInitPointsAttr", &This::GetSDFInitPointsAttr)
|
||||
.def("CreateSDFInitPointsAttr", &_CreateSDFInitPointsAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetActuatorGroupDisableAttr", &This::GetActuatorGroupDisableAttr)
|
||||
.def("CreateActuatorGroupDisableAttr", &_CreateActuatorGroupDisableAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetConstraintFlagAttr", &This::GetConstraintFlagAttr)
|
||||
.def("CreateConstraintFlagAttr", &_CreateConstraintFlagAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetEqualityFlagAttr", &This::GetEqualityFlagAttr)
|
||||
.def("CreateEqualityFlagAttr", &_CreateEqualityFlagAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetFrictionLossFlagAttr", &This::GetFrictionLossFlagAttr)
|
||||
.def("CreateFrictionLossFlagAttr", &_CreateFrictionLossFlagAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetLimitFlagAttr", &This::GetLimitFlagAttr)
|
||||
.def("CreateLimitFlagAttr", &_CreateLimitFlagAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetContactFlagAttr", &This::GetContactFlagAttr)
|
||||
.def("CreateContactFlagAttr", &_CreateContactFlagAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetPassiveFlagAttr", &This::GetPassiveFlagAttr)
|
||||
.def("CreatePassiveFlagAttr", &_CreatePassiveFlagAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetGravityFlagAttr", &This::GetGravityFlagAttr)
|
||||
.def("CreateGravityFlagAttr", &_CreateGravityFlagAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetClampCtrlFlagAttr", &This::GetClampCtrlFlagAttr)
|
||||
.def("CreateClampCtrlFlagAttr", &_CreateClampCtrlFlagAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetWarmStartFlagAttr", &This::GetWarmStartFlagAttr)
|
||||
.def("CreateWarmStartFlagAttr", &_CreateWarmStartFlagAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetFilterParentFlagAttr", &This::GetFilterParentFlagAttr)
|
||||
.def("CreateFilterParentFlagAttr", &_CreateFilterParentFlagAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetActuationFlagAttr", &This::GetActuationFlagAttr)
|
||||
.def("CreateActuationFlagAttr", &_CreateActuationFlagAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetRefSafeFlagAttr", &This::GetRefSafeFlagAttr)
|
||||
.def("CreateRefSafeFlagAttr", &_CreateRefSafeFlagAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetSensorFlagAttr", &This::GetSensorFlagAttr)
|
||||
.def("CreateSensorFlagAttr", &_CreateSensorFlagAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetMidPhaseFlagAttr", &This::GetMidPhaseFlagAttr)
|
||||
.def("CreateMidPhaseFlagAttr", &_CreateMidPhaseFlagAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetNativeCCDFlagAttr", &This::GetNativeCCDFlagAttr)
|
||||
.def("CreateNativeCCDFlagAttr", &_CreateNativeCCDFlagAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetEulerDampFlagAttr", &This::GetEulerDampFlagAttr)
|
||||
.def("CreateEulerDampFlagAttr", &_CreateEulerDampFlagAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetAutoResetFlagAttr", &This::GetAutoResetFlagAttr)
|
||||
.def("CreateAutoResetFlagAttr", &_CreateAutoResetFlagAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetOverrideFlagAttr", &This::GetOverrideFlagAttr)
|
||||
.def("CreateOverrideFlagAttr", &_CreateOverrideFlagAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetEnergyFlagAttr", &This::GetEnergyFlagAttr)
|
||||
.def("CreateEnergyFlagAttr", &_CreateEnergyFlagAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetFwdinvFlagAttr", &This::GetFwdinvFlagAttr)
|
||||
.def("CreateFwdinvFlagAttr", &_CreateFwdinvFlagAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetInvDiscreteFlagAttr", &This::GetInvDiscreteFlagAttr)
|
||||
.def("CreateInvDiscreteFlagAttr", &_CreateInvDiscreteFlagAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetMultiCCDFlagAttr", &This::GetMultiCCDFlagAttr)
|
||||
.def("CreateMultiCCDFlagAttr", &_CreateMultiCCDFlagAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("GetIslandFlagAttr", &This::GetIslandFlagAttr)
|
||||
.def("CreateIslandFlagAttr", &_CreateIslandFlagAttr,
|
||||
(arg("defaultValue") = object(), arg("writeSparsely") = false))
|
||||
|
||||
.def("__repr__", ::_Repr);
|
||||
|
||||
_CustomWrapCode(cls);
|
||||
}
|
||||
|
||||
// ===================================================================== //
|
||||
// Feel free to add custom code below this line, it will be preserved by
|
||||
// the code generator. The entry point for your custom code should look
|
||||
// minimally like the following:
|
||||
//
|
||||
// WRAP_CUSTOM {
|
||||
// _class
|
||||
// .def("MyCustomMethod", ...)
|
||||
// ;
|
||||
// }
|
||||
//
|
||||
// Of course any other ancillary or support code may be provided.
|
||||
//
|
||||
// Just remember to wrap code in the appropriate delimiters:
|
||||
// 'namespace {', '}'.
|
||||
//
|
||||
// ===================================================================== //
|
||||
// --(BEGIN CUSTOM CODE)--
|
||||
|
||||
namespace {
|
||||
|
||||
WRAP_CUSTOM {}
|
||||
|
||||
} // namespace
|
||||
@@ -0,0 +1,120 @@
|
||||
// Copyright 2025 DeepMind Technologies Limited
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#include <boost/python.hpp>
|
||||
#include <string>
|
||||
|
||||
#include "./siteAPI.h"
|
||||
#include "pxr/base/tf/pyAnnotatedBoolResult.h"
|
||||
#include "pxr/base/tf/pyContainerConversions.h"
|
||||
#include "pxr/base/tf/pyResultConversions.h"
|
||||
#include "pxr/base/tf/pyUtils.h"
|
||||
#include "pxr/base/tf/wrapTypeHelpers.h"
|
||||
#include "pxr/usd/sdf/primSpec.h"
|
||||
#include "pxr/usd/usd/pyConversions.h"
|
||||
#include "pxr/usd/usd/schemaBase.h"
|
||||
|
||||
using namespace boost::python;
|
||||
|
||||
PXR_NAMESPACE_USING_DIRECTIVE
|
||||
|
||||
namespace {
|
||||
|
||||
#define WRAP_CUSTOM \
|
||||
template <class Cls> \
|
||||
static void _CustomWrapCode(Cls &_class)
|
||||
|
||||
// fwd decl.
|
||||
WRAP_CUSTOM;
|
||||
|
||||
static std::string _Repr(const MjcPhysicsSiteAPI &self) {
|
||||
std::string primRepr = TfPyRepr(self.GetPrim());
|
||||
return TfStringPrintf("MjcPhysics.SiteAPI(%s)", primRepr.c_str());
|
||||
}
|
||||
|
||||
struct MjcPhysicsSiteAPI_CanApplyResult
|
||||
: public TfPyAnnotatedBoolResult<std::string> {
|
||||
MjcPhysicsSiteAPI_CanApplyResult(bool val, std::string const &msg)
|
||||
: TfPyAnnotatedBoolResult<std::string>(val, msg) {}
|
||||
};
|
||||
|
||||
static MjcPhysicsSiteAPI_CanApplyResult _WrapCanApply(const UsdPrim &prim) {
|
||||
std::string whyNot;
|
||||
bool result = MjcPhysicsSiteAPI::CanApply(prim, &whyNot);
|
||||
return MjcPhysicsSiteAPI_CanApplyResult(result, whyNot);
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
void wrapMjcPhysicsSiteAPI() {
|
||||
typedef MjcPhysicsSiteAPI This;
|
||||
|
||||
MjcPhysicsSiteAPI_CanApplyResult::Wrap<MjcPhysicsSiteAPI_CanApplyResult>(
|
||||
"_CanApplyResult", "whyNot");
|
||||
|
||||
class_<This, bases<UsdAPISchemaBase> > cls("SiteAPI");
|
||||
|
||||
cls.def(init<UsdPrim>(arg("prim")))
|
||||
.def(init<UsdSchemaBase const &>(arg("schemaObj")))
|
||||
.def(TfTypePythonClass())
|
||||
|
||||
.def("Get", &This::Get, (arg("stage"), arg("path")))
|
||||
.staticmethod("Get")
|
||||
|
||||
.def("CanApply", &_WrapCanApply, (arg("prim")))
|
||||
.staticmethod("CanApply")
|
||||
|
||||
.def("Apply", &This::Apply, (arg("prim")))
|
||||
.staticmethod("Apply")
|
||||
|
||||
.def("GetSchemaAttributeNames", &This::GetSchemaAttributeNames,
|
||||
arg("includeInherited") = true,
|
||||
return_value_policy<TfPySequenceToList>())
|
||||
.staticmethod("GetSchemaAttributeNames")
|
||||
|
||||
.def("_GetStaticTfType", (TfType const &(*)())TfType::Find<This>,
|
||||
return_value_policy<return_by_value>())
|
||||
.staticmethod("_GetStaticTfType")
|
||||
|
||||
.def(!self)
|
||||
|
||||
.def("__repr__", ::_Repr);
|
||||
|
||||
_CustomWrapCode(cls);
|
||||
}
|
||||
|
||||
// ===================================================================== //
|
||||
// Feel free to add custom code below this line, it will be preserved by
|
||||
// the code generator. The entry point for your custom code should look
|
||||
// minimally like the following:
|
||||
//
|
||||
// WRAP_CUSTOM {
|
||||
// _class
|
||||
// .def("MyCustomMethod", ...)
|
||||
// ;
|
||||
// }
|
||||
//
|
||||
// Of course any other ancillary or support code may be provided.
|
||||
//
|
||||
// Just remember to wrap code in the appropriate delimiters:
|
||||
// 'namespace {', '}'.
|
||||
//
|
||||
// ===================================================================== //
|
||||
// --(BEGIN CUSTOM CODE)--
|
||||
|
||||
namespace {
|
||||
|
||||
WRAP_CUSTOM {}
|
||||
|
||||
} // namespace
|
||||
@@ -0,0 +1,150 @@
|
||||
// Copyright 2025 DeepMind Technologies Limited
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
// GENERATED FILE. DO NOT EDIT.
|
||||
#include <boost/python/class.hpp>
|
||||
|
||||
#include "./tokens.h"
|
||||
|
||||
PXR_NAMESPACE_USING_DIRECTIVE
|
||||
|
||||
namespace {
|
||||
|
||||
// Helper to return a static token as a string. We wrap tokens as Python
|
||||
// strings and for some reason simply wrapping the token using def_readonly
|
||||
// bypasses to-Python conversion, leading to the error that there's no
|
||||
// Python type for the C++ TfToken type. So we wrap this functor instead.
|
||||
class _WrapStaticToken {
|
||||
public:
|
||||
_WrapStaticToken(const TfToken* token) : _token(token) {}
|
||||
|
||||
std::string operator()() const { return _token->GetString(); }
|
||||
|
||||
private:
|
||||
const TfToken* _token;
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
void _AddToken(T& cls, const char* name, const TfToken& token) {
|
||||
cls.add_static_property(
|
||||
name,
|
||||
boost::python::make_function(
|
||||
_WrapStaticToken(&token),
|
||||
boost::python::return_value_policy<boost::python::return_by_value>(),
|
||||
boost::mpl::vector1<std::string>()));
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
void wrapMjcPhysicsTokens() {
|
||||
boost::python::class_<MjcPhysicsTokensType, boost::noncopyable> cls(
|
||||
"Tokens", boost::python::no_init);
|
||||
_AddToken(cls, "auto_", MjcPhysicsTokens->auto_);
|
||||
_AddToken(cls, "cg", MjcPhysicsTokens->cg);
|
||||
_AddToken(cls, "dense", MjcPhysicsTokens->dense);
|
||||
_AddToken(cls, "elliptic", MjcPhysicsTokens->elliptic);
|
||||
_AddToken(cls, "euler", MjcPhysicsTokens->euler);
|
||||
_AddToken(cls, "implicit", MjcPhysicsTokens->implicit);
|
||||
_AddToken(cls, "implicitfast", MjcPhysicsTokens->implicitfast);
|
||||
_AddToken(cls, "mjcPhysicsActuatorgroupdisable",
|
||||
MjcPhysicsTokens->mjcPhysicsActuatorgroupdisable);
|
||||
_AddToken(cls, "mjcPhysicsApirate", MjcPhysicsTokens->mjcPhysicsApirate);
|
||||
_AddToken(cls, "mjcPhysicsCcd_iterations",
|
||||
MjcPhysicsTokens->mjcPhysicsCcd_iterations);
|
||||
_AddToken(cls, "mjcPhysicsCcd_tolerance",
|
||||
MjcPhysicsTokens->mjcPhysicsCcd_tolerance);
|
||||
_AddToken(cls, "mjcPhysicsCone", MjcPhysicsTokens->mjcPhysicsCone);
|
||||
_AddToken(cls, "mjcPhysicsDensity", MjcPhysicsTokens->mjcPhysicsDensity);
|
||||
_AddToken(cls, "mjcPhysicsFlagActuation",
|
||||
MjcPhysicsTokens->mjcPhysicsFlagActuation);
|
||||
_AddToken(cls, "mjcPhysicsFlagAutoreset",
|
||||
MjcPhysicsTokens->mjcPhysicsFlagAutoreset);
|
||||
_AddToken(cls, "mjcPhysicsFlagClampctrl",
|
||||
MjcPhysicsTokens->mjcPhysicsFlagClampctrl);
|
||||
_AddToken(cls, "mjcPhysicsFlagConstraint",
|
||||
MjcPhysicsTokens->mjcPhysicsFlagConstraint);
|
||||
_AddToken(cls, "mjcPhysicsFlagContact",
|
||||
MjcPhysicsTokens->mjcPhysicsFlagContact);
|
||||
_AddToken(cls, "mjcPhysicsFlagEnergy",
|
||||
MjcPhysicsTokens->mjcPhysicsFlagEnergy);
|
||||
_AddToken(cls, "mjcPhysicsFlagEquality",
|
||||
MjcPhysicsTokens->mjcPhysicsFlagEquality);
|
||||
_AddToken(cls, "mjcPhysicsFlagEulerdamp",
|
||||
MjcPhysicsTokens->mjcPhysicsFlagEulerdamp);
|
||||
_AddToken(cls, "mjcPhysicsFlagFilterparent",
|
||||
MjcPhysicsTokens->mjcPhysicsFlagFilterparent);
|
||||
_AddToken(cls, "mjcPhysicsFlagFrictionloss",
|
||||
MjcPhysicsTokens->mjcPhysicsFlagFrictionloss);
|
||||
_AddToken(cls, "mjcPhysicsFlagFwdinv",
|
||||
MjcPhysicsTokens->mjcPhysicsFlagFwdinv);
|
||||
_AddToken(cls, "mjcPhysicsFlagGravity",
|
||||
MjcPhysicsTokens->mjcPhysicsFlagGravity);
|
||||
_AddToken(cls, "mjcPhysicsFlagInvdiscrete",
|
||||
MjcPhysicsTokens->mjcPhysicsFlagInvdiscrete);
|
||||
_AddToken(cls, "mjcPhysicsFlagIsland",
|
||||
MjcPhysicsTokens->mjcPhysicsFlagIsland);
|
||||
_AddToken(cls, "mjcPhysicsFlagLimit", MjcPhysicsTokens->mjcPhysicsFlagLimit);
|
||||
_AddToken(cls, "mjcPhysicsFlagMidphase",
|
||||
MjcPhysicsTokens->mjcPhysicsFlagMidphase);
|
||||
_AddToken(cls, "mjcPhysicsFlagMulticcd",
|
||||
MjcPhysicsTokens->mjcPhysicsFlagMulticcd);
|
||||
_AddToken(cls, "mjcPhysicsFlagNativeccd",
|
||||
MjcPhysicsTokens->mjcPhysicsFlagNativeccd);
|
||||
_AddToken(cls, "mjcPhysicsFlagOverride",
|
||||
MjcPhysicsTokens->mjcPhysicsFlagOverride);
|
||||
_AddToken(cls, "mjcPhysicsFlagPassive",
|
||||
MjcPhysicsTokens->mjcPhysicsFlagPassive);
|
||||
_AddToken(cls, "mjcPhysicsFlagRefsafe",
|
||||
MjcPhysicsTokens->mjcPhysicsFlagRefsafe);
|
||||
_AddToken(cls, "mjcPhysicsFlagSensor",
|
||||
MjcPhysicsTokens->mjcPhysicsFlagSensor);
|
||||
_AddToken(cls, "mjcPhysicsFlagWarmstart",
|
||||
MjcPhysicsTokens->mjcPhysicsFlagWarmstart);
|
||||
_AddToken(cls, "mjcPhysicsImpratio", MjcPhysicsTokens->mjcPhysicsImpratio);
|
||||
_AddToken(cls, "mjcPhysicsIntegrator",
|
||||
MjcPhysicsTokens->mjcPhysicsIntegrator);
|
||||
_AddToken(cls, "mjcPhysicsIterations",
|
||||
MjcPhysicsTokens->mjcPhysicsIterations);
|
||||
_AddToken(cls, "mjcPhysicsJacobian", MjcPhysicsTokens->mjcPhysicsJacobian);
|
||||
_AddToken(cls, "mjcPhysicsLs_iterations",
|
||||
MjcPhysicsTokens->mjcPhysicsLs_iterations);
|
||||
_AddToken(cls, "mjcPhysicsLs_tolerance",
|
||||
MjcPhysicsTokens->mjcPhysicsLs_tolerance);
|
||||
_AddToken(cls, "mjcPhysicsMagnetic", MjcPhysicsTokens->mjcPhysicsMagnetic);
|
||||
_AddToken(cls, "mjcPhysicsNoslip_iterations",
|
||||
MjcPhysicsTokens->mjcPhysicsNoslip_iterations);
|
||||
_AddToken(cls, "mjcPhysicsNoslip_tolerance",
|
||||
MjcPhysicsTokens->mjcPhysicsNoslip_tolerance);
|
||||
_AddToken(cls, "mjcPhysicsO_friction",
|
||||
MjcPhysicsTokens->mjcPhysicsO_friction);
|
||||
_AddToken(cls, "mjcPhysicsO_margin", MjcPhysicsTokens->mjcPhysicsO_margin);
|
||||
_AddToken(cls, "mjcPhysicsO_solimp", MjcPhysicsTokens->mjcPhysicsO_solimp);
|
||||
_AddToken(cls, "mjcPhysicsO_solref", MjcPhysicsTokens->mjcPhysicsO_solref);
|
||||
_AddToken(cls, "mjcPhysicsSdf_initpoints",
|
||||
MjcPhysicsTokens->mjcPhysicsSdf_initpoints);
|
||||
_AddToken(cls, "mjcPhysicsSdf_iterations",
|
||||
MjcPhysicsTokens->mjcPhysicsSdf_iterations);
|
||||
_AddToken(cls, "mjcPhysicsSolver", MjcPhysicsTokens->mjcPhysicsSolver);
|
||||
_AddToken(cls, "mjcPhysicsTimestep", MjcPhysicsTokens->mjcPhysicsTimestep);
|
||||
_AddToken(cls, "mjcPhysicsTolerance", MjcPhysicsTokens->mjcPhysicsTolerance);
|
||||
_AddToken(cls, "mjcPhysicsViscosity", MjcPhysicsTokens->mjcPhysicsViscosity);
|
||||
_AddToken(cls, "mjcPhysicsWind", MjcPhysicsTokens->mjcPhysicsWind);
|
||||
_AddToken(cls, "newton", MjcPhysicsTokens->newton);
|
||||
_AddToken(cls, "pgs", MjcPhysicsTokens->pgs);
|
||||
_AddToken(cls, "pyramidal", MjcPhysicsTokens->pyramidal);
|
||||
_AddToken(cls, "rk4", MjcPhysicsTokens->rk4);
|
||||
_AddToken(cls, "sparse", MjcPhysicsTokens->sparse);
|
||||
_AddToken(cls, "MjcPhysicsSceneAPI", MjcPhysicsTokens->MjcPhysicsSceneAPI);
|
||||
_AddToken(cls, "MjcSiteAPI", MjcPhysicsTokens->MjcSiteAPI);
|
||||
}
|
||||
Reference in New Issue
Block a user