15cbc8fb55
PiperOrigin-RevId: 925328794 Change-Id: If45b8659ea9b88785660331bca5ee837ac172f67
1790 lines
76 KiB
C++
1790 lines
76 KiB
C++
// 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.
|
|
|
|
// DO NOT EDIT. THIS FILE IS AUTOMATICALLY GENERATED.
|
|
|
|
#ifndef MJCPHYSICS_GENERATED_SCENEAPI_H
|
|
#define MJCPHYSICS_GENERATED_SCENEAPI_H
|
|
|
|
/// \file mjcPhysics/sceneAPI.h
|
|
|
|
#include <mujoco/experimental/usd/mjcPhysics/api.h>
|
|
#include <mujoco/experimental/usd/mjcPhysics/tokens.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;
|
|
|
|
// -------------------------------------------------------------------------- //
|
|
// MJCSCENEAPI //
|
|
// -------------------------------------------------------------------------- //
|
|
|
|
/// \class MjcPhysicsSceneAPI
|
|
///
|
|
/// API providing global simulation options for MuJoCo.
|
|
///
|
|
/// For any described attribute \em Fallback \em Value or \em Allowed \em Values
|
|
/// below that are text/tokens, the actual token is published and defined in
|
|
/// \ref MjcPhysicsTokens. So to set an attribute to the value "rightHanded",
|
|
/// use MjcPhysicsTokens->rightHanded as the value.
|
|
///
|
|
class MjcPhysicsSceneAPI : public UsdAPISchemaBase {
|
|
public:
|
|
/// Compile time constant representing what kind of schema this class is.
|
|
///
|
|
/// \sa UsdSchemaKind
|
|
static const UsdSchemaKind schemaKind = UsdSchemaKind::SingleApplyAPI;
|
|
|
|
/// Construct a MjcPhysicsSceneAPI on UsdPrim \p prim .
|
|
/// Equivalent to MjcPhysicsSceneAPI::Get(prim.GetStage(), prim.GetPath())
|
|
/// for a \em valid \p prim, but will not immediately throw an error for
|
|
/// an invalid \p prim
|
|
explicit MjcPhysicsSceneAPI(const UsdPrim& prim = UsdPrim())
|
|
: UsdAPISchemaBase(prim) {}
|
|
|
|
/// Construct a MjcPhysicsSceneAPI on the prim held by \p schemaObj .
|
|
/// Should be preferred over MjcPhysicsSceneAPI(schemaObj.GetPrim()),
|
|
/// as it preserves SchemaBase state.
|
|
explicit MjcPhysicsSceneAPI(const UsdSchemaBase& schemaObj)
|
|
: UsdAPISchemaBase(schemaObj) {}
|
|
|
|
/// Destructor.
|
|
MJCPHYSICS_API
|
|
virtual ~MjcPhysicsSceneAPI();
|
|
|
|
/// 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 MjcPhysicsSceneAPI 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
|
|
/// MjcPhysicsSceneAPI(stage->GetPrimAtPath(path));
|
|
/// \endcode
|
|
///
|
|
MJCPHYSICS_API
|
|
static MjcPhysicsSceneAPI 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 "MjcSceneAPI" to the
|
|
/// token-valued, listOp metadata \em apiSchemas on the prim.
|
|
///
|
|
/// \return A valid MjcPhysicsSceneAPI object is returned upon success.
|
|
/// An invalid (or empty) MjcPhysicsSceneAPI 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 MjcPhysicsSceneAPI 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:
|
|
// --------------------------------------------------------------------- //
|
|
// TIMESTEP
|
|
// --------------------------------------------------------------------- //
|
|
/// DEPRECATED: Use newton:timeStepsPerSecond instead.
|
|
///
|
|
/// Controls the timestep in seconds used by MuJoCo.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform double mjc:option:timestep = 0.002` |
|
|
/// | C++ Type | double |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Double |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetTimestepAttr() const;
|
|
|
|
/// See GetTimestepAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateTimestepAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// IMPRATIO
|
|
// --------------------------------------------------------------------- //
|
|
/// Ratio of frictional-to-normal constraint impedance for elliptic
|
|
/// friction cones.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform double mjc:option:impratio = 1` |
|
|
/// | C++ Type | double |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Double |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetImpRatioAttr() const;
|
|
|
|
/// See GetImpRatioAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateImpRatioAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// WIND
|
|
// --------------------------------------------------------------------- //
|
|
/// Velocity vector of medium (i.e. wind).
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform double3 mjc:option:wind = (0, 0, 0)` |
|
|
/// | C++ Type | GfVec3d |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Double3 |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetWindAttr() const;
|
|
|
|
/// See GetWindAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateWindAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// MAGNETIC
|
|
// --------------------------------------------------------------------- //
|
|
/// Global magnetic flux.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform double3 mjc:option:magnetic = (0, -0.5, 0)` |
|
|
/// | C++ Type | GfVec3d |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Double3 |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetMagneticAttr() const;
|
|
|
|
/// See GetMagneticAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateMagneticAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// DENSITY
|
|
// --------------------------------------------------------------------- //
|
|
/// Density of medium.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform double mjc:option:density = 0` |
|
|
/// | C++ Type | double |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Double |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetDensityAttr() const;
|
|
|
|
/// See GetDensityAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateDensityAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// VISCOSITY
|
|
// --------------------------------------------------------------------- //
|
|
/// Viscosity of medium.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform double mjc:option:viscosity = 0` |
|
|
/// | C++ Type | double |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Double |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetViscosityAttr() const;
|
|
|
|
/// See GetViscosityAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateViscosityAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// OMARGIN
|
|
// --------------------------------------------------------------------- //
|
|
/// Replaces the margin parameter of all active contact pairs when
|
|
/// Contact override is enabled.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform double mjc:option:o_margin = 0` |
|
|
/// | C++ Type | double |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Double |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetOMarginAttr() const;
|
|
|
|
/// See GetOMarginAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateOMarginAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// OSOLREF
|
|
// --------------------------------------------------------------------- //
|
|
/// Replaces the solref parameter of all active contact pairs when
|
|
/// Contact override is enabled.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform double[] mjc:option:o_solref = [0.02, 1]` |
|
|
/// | C++ Type | VtArray<double> |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->DoubleArray |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetOSolRefAttr() const;
|
|
|
|
/// See GetOSolRefAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateOSolRefAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// OSOLIMP
|
|
// --------------------------------------------------------------------- //
|
|
/// Replaces the solimp parameter of all active contact pairs when
|
|
/// Contact override is enabled.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform double[] mjc:option:o_solimp = [0.9, 0.95, 0.001,
|
|
/// 0.5, 2]` | | C++ Type | VtArray<double> | | \ref Usd_Datatypes "Usd Type"
|
|
/// | SdfValueTypeNames->DoubleArray | | \ref SdfVariability "Variability" |
|
|
/// SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetOSolImpAttr() const;
|
|
|
|
/// See GetOSolImpAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateOSolImpAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// OFRICTION
|
|
// --------------------------------------------------------------------- //
|
|
/// Replaces the friction parameter of all active contact pairs when
|
|
/// Contact override is enabled.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform double[] mjc:option:o_friction = [1, 1, 0.005,
|
|
/// 0.0001, 0.0001]` | | C++ Type | VtArray<double> | | \ref Usd_Datatypes
|
|
/// "Usd Type" | SdfValueTypeNames->DoubleArray | | \ref SdfVariability
|
|
/// "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetOFrictionAttr() const;
|
|
|
|
/// See GetOFrictionAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateOFrictionAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// INTEGRATOR
|
|
// --------------------------------------------------------------------- //
|
|
/// Numerical integrator to be used.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform token mjc:option:integrator = "euler"` |
|
|
/// | C++ Type | TfToken |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Token |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
/// | \ref MjcPhysicsTokens "Allowed Values" | euler, rk4, implicit,
|
|
/// implicitfast |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetIntegratorAttr() const;
|
|
|
|
/// See GetIntegratorAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateIntegratorAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// CONE
|
|
// --------------------------------------------------------------------- //
|
|
/// The type of contact friction cone.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform token mjc:option:cone = "pyramidal"` |
|
|
/// | C++ Type | TfToken |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Token |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
/// | \ref MjcPhysicsTokens "Allowed Values" | pyramidal, elliptic |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetConeAttr() const;
|
|
|
|
/// See GetConeAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateConeAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// JACOBIAN
|
|
// --------------------------------------------------------------------- //
|
|
/// The type of constraint Jacobian and matrices computed from it.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform token mjc:option:jacobian = "auto"` |
|
|
/// | C++ Type | TfToken |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Token |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
/// | \ref MjcPhysicsTokens "Allowed Values" | auto, dense, sparse |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetJacobianAttr() const;
|
|
|
|
/// See GetJacobianAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateJacobianAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// SOLVER
|
|
// --------------------------------------------------------------------- //
|
|
/// Constraint solver algorithm to be used.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform token mjc:option:solver = "newton"` |
|
|
/// | C++ Type | TfToken |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Token |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
/// | \ref MjcPhysicsTokens "Allowed Values" | pgs, cg, newton |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetSolverAttr() const;
|
|
|
|
/// See GetSolverAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateSolverAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// ITERATIONS
|
|
// --------------------------------------------------------------------- //
|
|
/// DEPRECATED: Use newton:maxSolverIterations instead.
|
|
///
|
|
/// Maximum number of iterations of the constraint solver.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform int mjc:option:iterations = 100` |
|
|
/// | C++ Type | int |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Int |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetIterationsAttr() const;
|
|
|
|
/// See GetIterationsAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateIterationsAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// TOLERANCE
|
|
// --------------------------------------------------------------------- //
|
|
/// Tolerance threshold used for early termination of the iterative
|
|
/// solver.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform double mjc:option:tolerance = 1e-8` |
|
|
/// | C++ Type | double |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Double |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetToleranceAttr() const;
|
|
|
|
/// See GetToleranceAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateToleranceAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// LSITERATIONS
|
|
// --------------------------------------------------------------------- //
|
|
/// Maximum number of linesearch iterations performed by CG/Newton
|
|
/// constraint solvers.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform int mjc:option:ls_iterations = 50` |
|
|
/// | C++ Type | int |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Int |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetLSIterationsAttr() const;
|
|
|
|
/// See GetLSIterationsAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateLSIterationsAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// LSTOLERANCE
|
|
// --------------------------------------------------------------------- //
|
|
/// Tolerance threshold used for early termination of the linesearch
|
|
/// algorithm.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform double mjc:option:ls_tolerance = 0.01` |
|
|
/// | C++ Type | double |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Double |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetLSToleranceAttr() const;
|
|
|
|
/// See GetLSToleranceAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateLSToleranceAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// NOSLIPITERATIONS
|
|
// --------------------------------------------------------------------- //
|
|
/// Maximum number of iterations of the Noslip solver.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform int mjc:option:noslip_iterations = 0` |
|
|
/// | C++ Type | int |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Int |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetNoslipIterationsAttr() const;
|
|
|
|
/// See GetNoslipIterationsAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateNoslipIterationsAttr(
|
|
VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// NOSLIPTOLERANCE
|
|
// --------------------------------------------------------------------- //
|
|
/// Tolerance threshold used for early termination of the Noslip solver.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform double mjc:option:noslip_tolerance = 0.000001` |
|
|
/// | C++ Type | double |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Double |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetNoslipToleranceAttr() const;
|
|
|
|
/// See GetNoslipToleranceAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateNoslipToleranceAttr(
|
|
VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// CCDITERATIONS
|
|
// --------------------------------------------------------------------- //
|
|
/// Maximum number of iterations of the algorithm used for convex collisions.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform int mjc:option:ccd_iterations = 35` |
|
|
/// | C++ Type | int |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Int |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetCCDIterationsAttr() const;
|
|
|
|
/// See GetCCDIterationsAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateCCDIterationsAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// CCDTOLERANCE
|
|
// --------------------------------------------------------------------- //
|
|
/// Tolerance threshold used for early termination of the convex
|
|
/// collision algorithm.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform double mjc:option:ccd_tolerance = 0.000001` |
|
|
/// | C++ Type | double |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Double |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetCCDToleranceAttr() const;
|
|
|
|
/// See GetCCDToleranceAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateCCDToleranceAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// SDFITERATIONS
|
|
// --------------------------------------------------------------------- //
|
|
/// Number of iterations used for Signed Distance Field collisions
|
|
/// (per initial point).
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform int mjc:option:sdf_iterations = 10` |
|
|
/// | C++ Type | int |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Int |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetSDFIterationsAttr() const;
|
|
|
|
/// See GetSDFIterationsAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateSDFIterationsAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// SDFINITPOINTS
|
|
// --------------------------------------------------------------------- //
|
|
/// Number of starting points used for finding contacts with Signed
|
|
/// Distance Field collisions.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform int mjc:option:sdf_initpoints = 40` |
|
|
/// | C++ Type | int |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Int |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetSDFInitPointsAttr() const;
|
|
|
|
/// See GetSDFInitPointsAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateSDFInitPointsAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// ACTUATORGROUPDISABLE
|
|
// --------------------------------------------------------------------- //
|
|
/// List of actuator groups to disable.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform int[] mjc:option:actuatorgroupdisable = []` |
|
|
/// | C++ Type | VtArray<int> |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->IntArray |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetActuatorGroupDisableAttr() const;
|
|
|
|
/// See GetActuatorGroupDisableAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateActuatorGroupDisableAttr(
|
|
VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// CONSTRAINTFLAG
|
|
// --------------------------------------------------------------------- //
|
|
/// Enables constraint solver.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:flag:constraint = 1` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetConstraintFlagAttr() const;
|
|
|
|
/// See GetConstraintFlagAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateConstraintFlagAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// EQUALITYFLAG
|
|
// --------------------------------------------------------------------- //
|
|
/// Enables all standard computations related to equality constraints.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:flag:equality = 1` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetEqualityFlagAttr() const;
|
|
|
|
/// See GetEqualityFlagAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateEqualityFlagAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// FRICTIONLOSSFLAG
|
|
// --------------------------------------------------------------------- //
|
|
/// Enables all standard computations related to friction loss constraints.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:flag:frictionloss = 1` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetFrictionLossFlagAttr() const;
|
|
|
|
/// See GetFrictionLossFlagAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateFrictionLossFlagAttr(
|
|
VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// LIMITFLAG
|
|
// --------------------------------------------------------------------- //
|
|
/// Enables all standard computations related to joint and tendon limit
|
|
/// constraints.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:flag:limit = 1` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetLimitFlagAttr() const;
|
|
|
|
/// See GetLimitFlagAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateLimitFlagAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// CONTACTFLAG
|
|
// --------------------------------------------------------------------- //
|
|
/// Enables collision detection and all standard computations related to
|
|
/// contact constraints.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:flag:contact = 1` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetContactFlagAttr() const;
|
|
|
|
/// See GetContactFlagAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateContactFlagAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// SPRINGFLAG
|
|
// --------------------------------------------------------------------- //
|
|
/// Enables the simulation of joint and tendon springs.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:flag:spring = 1` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetSpringFlagAttr() const;
|
|
|
|
/// See GetSpringFlagAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateSpringFlagAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// DAMPERFLAG
|
|
// --------------------------------------------------------------------- //
|
|
/// Enables the simulation of joint and tendon dampers.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:flag:damper = 1` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetDamperFlagAttr() const;
|
|
|
|
/// See GetDamperFlagAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateDamperFlagAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// GRAVITYFLAG
|
|
// --------------------------------------------------------------------- //
|
|
/// DEPRECATED: Use newton:gravityEnabled instead.
|
|
///
|
|
/// Enables the application of gravitational acceleration as defined in
|
|
/// mjOption.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:flag:gravity = 1` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetGravityFlagAttr() const;
|
|
|
|
/// See GetGravityFlagAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateGravityFlagAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// CLAMPCTRLFLAG
|
|
// --------------------------------------------------------------------- //
|
|
/// Enables the clamping of control inputs to all actuators, according to
|
|
/// actuator-specific attributes.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:flag:clampctrl = 1` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetClampCtrlFlagAttr() const;
|
|
|
|
/// See GetClampCtrlFlagAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateClampCtrlFlagAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// WARMSTARTFLAG
|
|
// --------------------------------------------------------------------- //
|
|
/// Enables warm-starting of the constraint solver, using the solution from
|
|
/// the previous time step to initialize the iterative optimization.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:flag:warmstart = 1` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetWarmStartFlagAttr() const;
|
|
|
|
/// See GetWarmStartFlagAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateWarmStartFlagAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// FILTERPARENTFLAG
|
|
// --------------------------------------------------------------------- //
|
|
/// Enables the filtering of contact pairs where the two geoms belong to a
|
|
/// parent and child body.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:flag:filterparent = 1` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetFilterParentFlagAttr() const;
|
|
|
|
/// See GetFilterParentFlagAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateFilterParentFlagAttr(
|
|
VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// ACTUATIONFLAG
|
|
// --------------------------------------------------------------------- //
|
|
/// Enables all standard computations related to actuator forces, including
|
|
/// actuator dynamics.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:flag:actuation = 1` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetActuationFlagAttr() const;
|
|
|
|
/// See GetActuationFlagAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateActuationFlagAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// REFSAFEFLAG
|
|
// --------------------------------------------------------------------- //
|
|
/// Enables a safety mechanism that prevents instabilities due to solref[0]
|
|
/// being too small compared to the simulation timestep.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:flag:refsafe = 1` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetRefSafeFlagAttr() const;
|
|
|
|
/// See GetRefSafeFlagAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateRefSafeFlagAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// SENSORFLAG
|
|
// --------------------------------------------------------------------- //
|
|
/// Enables all computations related to sensors.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:flag:sensor = 1` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetSensorFlagAttr() const;
|
|
|
|
/// See GetSensorFlagAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateSensorFlagAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// MIDPHASEFLAG
|
|
// --------------------------------------------------------------------- //
|
|
/// Enables mid-phase collision filtering using a static AABB bounding volume
|
|
/// hierarchy (BVH).
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:flag:midphase = 1` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetMidPhaseFlagAttr() const;
|
|
|
|
/// See GetMidPhaseFlagAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateMidPhaseFlagAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// NATIVECCDFLAG
|
|
// --------------------------------------------------------------------- //
|
|
/// Enables the native convex collision detection pipeline instead of using
|
|
/// the libccd library.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:flag:nativeccd = 1` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetNativeCCDFlagAttr() const;
|
|
|
|
/// See GetNativeCCDFlagAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateNativeCCDFlagAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// EULERDAMPFLAG
|
|
// --------------------------------------------------------------------- //
|
|
/// Enables implicit integration with respect to joint damping in the Euler
|
|
/// integrator.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:flag:eulerdamp = 1` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetEulerDampFlagAttr() const;
|
|
|
|
/// See GetEulerDampFlagAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateEulerDampFlagAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// AUTORESETFLAG
|
|
// --------------------------------------------------------------------- //
|
|
/// Enables the automatic resetting of the simulation state when numerical
|
|
/// issues are detected.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:flag:autoreset = 1` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetAutoResetFlagAttr() const;
|
|
|
|
/// See GetAutoResetFlagAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateAutoResetFlagAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// OVERRIDEFLAG
|
|
// --------------------------------------------------------------------- //
|
|
/// Enables the contact override mechanism.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:flag:override = 0` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetOverrideFlagAttr() const;
|
|
|
|
/// See GetOverrideFlagAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateOverrideFlagAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// ENERGYFLAG
|
|
// --------------------------------------------------------------------- //
|
|
/// Enables the computation of potential and kinetic energy
|
|
/// (mjData.energy[0,1]).
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:flag:energy = 0` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetEnergyFlagAttr() const;
|
|
|
|
/// See GetEnergyFlagAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateEnergyFlagAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// FWDINVFLAG
|
|
// --------------------------------------------------------------------- //
|
|
/// Enables the automatic comparison of forward and inverse dynamics.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:flag:fwdinv = 0` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetFwdinvFlagAttr() const;
|
|
|
|
/// See GetFwdinvFlagAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateFwdinvFlagAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// INVDISCRETEFLAG
|
|
// --------------------------------------------------------------------- //
|
|
/// Enables discrete-time inverse dynamics with mj_inverse for integrators
|
|
/// other than RK4.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:flag:invdiscrete = 0` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetInvDiscreteFlagAttr() const;
|
|
|
|
/// See GetInvDiscreteFlagAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateInvDiscreteFlagAttr(
|
|
VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// MULTICCDFLAG
|
|
// --------------------------------------------------------------------- //
|
|
/// Enables multiple-contact collision detection for geom pairs using a
|
|
/// general-purpose convex-convex collider.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:flag:multiccd = 1` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetMultiCCDFlagAttr() const;
|
|
|
|
/// See GetMultiCCDFlagAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateMultiCCDFlagAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// ISLANDFLAG
|
|
// --------------------------------------------------------------------- //
|
|
/// Enables the discovery of constraint islands.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:flag:island = 1` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetIslandFlagAttr() const;
|
|
|
|
/// See GetIslandFlagAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateIslandFlagAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// AUTOLIMITS
|
|
// --------------------------------------------------------------------- //
|
|
/// This attribute affects the behavior of attributes such as "limited" (on
|
|
/// MjcJointAPI), "forcelimited" "ctrllimited", and "actlimited" (on
|
|
/// MjcActuator). If True, these attributes are unnecessary and their value
|
|
/// will be inferred from the presence of their corresponding "range"
|
|
/// attribute. If False, no such inference will happen: For a joint to be
|
|
/// limited, both limited=True and range:min/max must be specified. In this
|
|
/// mode, it is an error to specify a range without a limit.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:compiler:autoLimits = 1` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetAutoLimitsAttr() const;
|
|
|
|
/// See GetAutoLimitsAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateAutoLimitsAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// BOUNDMASS
|
|
// --------------------------------------------------------------------- //
|
|
/// This attribute imposes a lower bound on the mass of each body except for
|
|
/// the world body.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform double mjc:compiler:boundMass = 0` |
|
|
/// | C++ Type | double |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Double |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetBoundMassAttr() const;
|
|
|
|
/// See GetBoundMassAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateBoundMassAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// BOUNDINERTIA
|
|
// --------------------------------------------------------------------- //
|
|
/// This attribute imposes a lower bound on the diagonal inertia components of
|
|
/// each body except for the world body.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform double mjc:compiler:boundInertia = 0` |
|
|
/// | C++ Type | double |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Double |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetBoundInertiaAttr() const;
|
|
|
|
/// See GetBoundInertiaAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateBoundInertiaAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// SETTOTALMASS
|
|
// --------------------------------------------------------------------- //
|
|
/// If this value is positive, the compiler will scale the masses and inertias
|
|
/// of all bodies in the model, so that the total mass equals the value
|
|
/// specified here. The world body has mass 0 and does not participate in any
|
|
/// mass-related computations. This scaling is performed last, after all other
|
|
/// operations affecting the body mass and inertia. The same scaling operation
|
|
/// can be applied at runtime to the compiled mjModel with the function
|
|
/// mj_setTotalmass.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform double mjc:compiler:setTotalMass = -1` |
|
|
/// | C++ Type | double |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Double |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetSetTotalMassAttr() const;
|
|
|
|
/// See GetSetTotalMassAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateSetTotalMassAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// USETHREAD
|
|
// --------------------------------------------------------------------- //
|
|
/// If this is True, the model compiler will run in multi-threaded mode.
|
|
/// Currently multi-threading is used for computing the length ranges of
|
|
/// actuators and for parallel loading of meshes.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:compiler:useThread = 1` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetUseThreadAttr() const;
|
|
|
|
/// See GetUseThreadAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateUseThreadAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// BALANCEINERTIA
|
|
// --------------------------------------------------------------------- //
|
|
/// A valid diagonal inertia matrix must satisfy A+B>=C for all permutations
|
|
/// of the three diagonal elements. Some poorly designed models violate this
|
|
/// constraint, which will normally result in a compile error. If this
|
|
/// attribute is set to "true", the compiler will silently set all three
|
|
/// diagonal elements to their average value whenever the above condition is
|
|
/// violated.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:compiler:balanceInertia = 0` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetBalanceInertiaAttr() const;
|
|
|
|
/// See GetBalanceInertiaAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateBalanceInertiaAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// ANGLE
|
|
// --------------------------------------------------------------------- //
|
|
/// This attribute specifies whether the angles in mjcPhysics attributes have
|
|
/// units of degrees or radians if not otherwise noted.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform token mjc:compiler:angle = "degree"` |
|
|
/// | C++ Type | TfToken |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Token |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
/// | \ref MjcPhysicsTokens "Allowed Values" | degree, radian |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetAngleAttr() const;
|
|
|
|
/// See GetAngleAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateAngleAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// FITAABB
|
|
// --------------------------------------------------------------------- //
|
|
/// The compiler is able to replace a mesh with a geometric primitive fitted
|
|
/// to that mesh. If this attribute is True, the fitting procedure uses the
|
|
/// axis-aligned bounding box (AABB) of the mesh. Otherwise it uses the
|
|
/// equivalent-inertia box of the mesh.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:compiler:fitAABB = 0` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetFitAABBAttr() const;
|
|
|
|
/// See GetFitAABBAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateFitAABBAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// FUSESTATIC
|
|
// --------------------------------------------------------------------- //
|
|
/// This attribute controls a compiler optimization feature where static
|
|
/// bodies are fused with their parent, and any elements defined in those
|
|
/// bodies are reassigned to the parent. Static bodies are fused with their
|
|
/// parent unless
|
|
///
|
|
/// * They are referenced by another element in the model.
|
|
///
|
|
/// * They contain a site which is referenced by a force or torque sensor.
|
|
///
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:compiler:fuseStatic = 0` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetFuseStaticAttr() const;
|
|
|
|
/// See GetFuseStaticAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateFuseStaticAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// INERTIAFROMGEOM
|
|
// --------------------------------------------------------------------- //
|
|
/// This attribute controls the automatic inference of body masses and
|
|
/// inertias from geoms attached to the body. If this setting is "false", no
|
|
/// automatic inference is performed. In that case each body must have
|
|
/// explicitly defined mass and inertia with the inertial element, or else a
|
|
/// compile error will be generated. If this setting is "true", the mass and
|
|
/// inertia of each body will be inferred from the geoms attached to it,
|
|
/// overriding any values specified with the inertial element. The default
|
|
/// setting "auto" means that masses and inertias are inferred automatically
|
|
/// only when the inertial element is missing in the body definition. One
|
|
/// reason to set this attribute to "true" instead of "auto" is to override
|
|
/// inertial data imported from a poorly designed model.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform token mjc:compiler:inertiaFromGeom = "auto"` |
|
|
/// | C++ Type | TfToken |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Token |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
/// | \ref MjcPhysicsTokens "Allowed Values" | false, true, auto |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetInertiaFromGeomAttr() const;
|
|
|
|
/// See GetInertiaFromGeomAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateInertiaFromGeomAttr(
|
|
VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// ALIGNFREE
|
|
// --------------------------------------------------------------------- //
|
|
/// This attribute toggles the default behaviour of an optimization that
|
|
/// applies to bodies with a free joint and no child bodies. When True, the
|
|
/// body frame and free joint will automatically be aligned with inertial
|
|
/// frame, which leads to both faster and more stable simulation.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:compiler:alignFree = 0` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetAlignFreeAttr() const;
|
|
|
|
/// See GetAlignFreeAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateAlignFreeAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// INERTIAGROUPRANGEMIN
|
|
// --------------------------------------------------------------------- //
|
|
/// This attribute specifies the maximum of the geom group range that is used
|
|
/// to infer body masses and inertias (when such inference is enabled). The
|
|
/// group attribute of geom is an integer. If this integer falls in the range
|
|
/// specified here, the collider will be used in the inertial computation,
|
|
/// otherwise it will be ignored. Note that the world body does not
|
|
/// participate in the inertial computations, so any geoms attached to it are
|
|
/// automatically ignored. Therefore it is not necessary to adjust this
|
|
/// attribute and the geom-specific groups so as to exclude world geoms from
|
|
/// the inertial computation.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform int mjc:compiler:inertiaGroupRange:min = 0` |
|
|
/// | C++ Type | int |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Int |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetInertiaGroupRangeMinAttr() const;
|
|
|
|
/// See GetInertiaGroupRangeMinAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateInertiaGroupRangeMinAttr(
|
|
VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// INERTIAGROUPRANGEMAX
|
|
// --------------------------------------------------------------------- //
|
|
/// This attribute specifies the maximum of the geom group range that is used
|
|
/// to infer body masses and inertias (when such inference is enabled). The
|
|
/// group attribute of geom is an integer. If this integer falls in the range
|
|
/// specified here, the geom will be used in the inertial computation,
|
|
/// otherwise it will be ignored. This feature is useful in models that have
|
|
/// redundant sets of geoms for collision and visualization. Note that the
|
|
/// world body does not participate in the inertial computations, so any geoms
|
|
/// attached to it are automatically ignored. Therefore it is not necessary to
|
|
/// adjust this attribute and the geom-specific groups so as to exclude world
|
|
/// geoms from the inertial computation.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform int mjc:compiler:inertiaGroupRange:max = 5` |
|
|
/// | C++ Type | int |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Int |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetInertiaGroupRangeMaxAttr() const;
|
|
|
|
/// See GetInertiaGroupRangeMaxAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateInertiaGroupRangeMaxAttr(
|
|
VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
public:
|
|
// --------------------------------------------------------------------- //
|
|
// SAVEINERTIAL
|
|
// --------------------------------------------------------------------- //
|
|
/// If True, the compiler will save explicit inertial clauses for all bodies.
|
|
///
|
|
/// | ||
|
|
/// | -- | -- |
|
|
/// | Declaration | `uniform bool mjc:compiler:saveInertial = 0` |
|
|
/// | C++ Type | bool |
|
|
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Bool |
|
|
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
|
|
MJCPHYSICS_API
|
|
UsdAttribute GetSaveInertialAttr() const;
|
|
|
|
/// See GetSaveInertialAttr(), and also
|
|
/// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
|
|
/// If specified, author \p defaultValue as the attribute's default,
|
|
/// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
|
|
/// the default for \p writeSparsely is \c false.
|
|
MJCPHYSICS_API
|
|
UsdAttribute CreateSaveInertialAttr(VtValue const& defaultValue = VtValue(),
|
|
bool writeSparsely = false) const;
|
|
|
|
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
|