Add maxhullvert attribute to mjcPhysics MeshCollisionAPI.

PiperOrigin-RevId: 781482346
Change-Id: I0d53f9ad99ac842629243b0375907b2f91bd3b61
This commit is contained in:
Sam Haves
2025-07-10 04:58:20 -07:00
committed by Copybara-Service
parent 243c011ea0
commit e7212d86bc
9 changed files with 69 additions and 1 deletions
@@ -40,7 +40,7 @@ class SdfAssetPath;
/// \class MjcPhysicsMeshCollisionAPI
///
/// API describing a Mujoco mesh collider.
/// API describing a MuJoCo mesh collider.
///
/// 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
@@ -173,6 +173,31 @@ class MjcPhysicsMeshCollisionAPI : public UsdAPISchemaBase {
UsdAttribute CreateInertiaAttr(VtValue const &defaultValue = VtValue(),
bool writeSparsely = false) const;
public:
// --------------------------------------------------------------------- //
// MAXHULLVERT
// --------------------------------------------------------------------- //
/// Sets an upper limit on the number of vertices in the meshes convex hull.
/// The default value of -1 means unlimited.
///
/// | ||
/// | -- | -- |
/// | Declaration | `uniform int mjc:maxhullvert = -1` |
/// | C++ Type | int |
/// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Int |
/// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
MJCPHYSICS_API
UsdAttribute GetMaxHullVertAttr() const;
/// See GetMaxHullVertAttr(), 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 CreateMaxHullVertAttr(VtValue const &defaultValue = VtValue(),
bool writeSparsely = false) const;
public:
// ===================================================================== //
// Feel free to add custom code below this line, it will be preserved by
@@ -356,6 +356,10 @@ struct MjcPhysicsTokensType {
///
/// MjcPhysicsJointAPI
const TfToken mjcMargin;
/// \brief "mjc:maxhullvert"
///
/// MjcPhysicsMeshCollisionAPI
const TfToken mjcMaxhullvert;
/// \brief "mjc:mpos"
///
/// MjcPhysicsKeyframe