usdrt::UsdPhysicsRigidBodyAPI

Defined in usdrt/scenegraph/usd/usdPhysics/rigidBodyAPI.h

Functions

Variables

class UsdPhysicsRigidBodyAPI : public usdrt::UsdAPISchemaBase

Applies physics body attributes to any UsdGeomXformable prim and marks that prim to be driven by a simulation. If a simulation is running it will update this prim’s pose. All prims in the hierarchy below this prim should move accordingly.

Public Functions

inline explicit UsdPhysicsRigidBodyAPI(const UsdPrim &prim = UsdPrim())

Construct a UsdPhysicsRigidBodyAPI on UsdPrim prim. Equivalent to UsdPhysicsRigidBodyAPI::Get(prim.GetStage(), prim.GetPath()) for a valid prim , but will not immediately throw an error for an invalid prim.

inline explicit UsdPhysicsRigidBodyAPI(const UsdSchemaBase &schemaObj)

Construct a UsdPhysicsRigidBodyAPI on the prim held by schemaObj . Should be preferred over UsdPhysicsRigidBodyAPI(schemaObj.GetPrim()), as it preserves SchemaBase state.

inline virtual ~UsdPhysicsRigidBodyAPI()

Destructor.

inline operator bool() const

Boolean operator.

Returns

Return true if the contained prim is has this api schema applied using HasAPI, and false otherwise.

inline UsdAttribute GetRigidBodyEnabledAttr() const

Determines if this PhysicsRigidBodyAPI is enabled.

Declaration

bool physics:rigidBodyEnabled = 1

C++ Type

bool

Usd Type

SdfValueTypeNames->Bool

inline UsdAttribute CreateRigidBodyEnabledAttr() const

See GetRigidBodyEnabledAttr(), and also Create vs Get Property Methods for when to use Get vs Create. If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

inline UsdAttribute GetKinematicEnabledAttr() const

Determines whether the body is kinematic or not. A kinematic body is a body that is moved through animated poses or through user defined poses. The simulation derives velocities for the kinematic body based on the external motion. When a continuous motion is not desired, this kinematic flag should be set to false.

Declaration

bool physics:kinematicEnabled = 0

C++ Type

bool

Usd Type

SdfValueTypeNames->Bool

inline UsdAttribute CreateKinematicEnabledAttr() const

See GetKinematicEnabledAttr(), and also Create vs Get Property Methods for when to use Get vs Create. If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

inline UsdAttribute GetStartsAsleepAttr() const

Determines if the body is asleep when the simulation starts.

Declaration

uniform bool physics:startsAsleep = 0

C++ Type

bool

Usd Type

SdfValueTypeNames->Bool

Variability

SdfVariabilityUniform

inline UsdAttribute CreateStartsAsleepAttr() const

See GetStartsAsleepAttr(), and also Create vs Get Property Methods for when to use Get vs Create. If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

inline UsdAttribute GetVelocityAttr() const

Linear velocity in the same space as the node’s xform. Units: distance/second.

Declaration

vector3f physics:velocity = (0, 0, 0)

C++ Type

GfVec3f

Usd Type

SdfValueTypeNames->Vector3f

inline UsdAttribute CreateVelocityAttr() const

See GetVelocityAttr(), and also Create vs Get Property Methods for when to use Get vs Create. If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

inline UsdAttribute GetAngularVelocityAttr() const

Angular velocity in the same space as the node’s xform. Units: degrees/second.

Declaration

vector3f physics:angularVelocity = (0, 0, 0)

C++ Type

GfVec3f

Usd Type

SdfValueTypeNames->Vector3f

inline UsdAttribute CreateAngularVelocityAttr() const

See GetAngularVelocityAttr(), and also Create vs Get Property Methods for when to use Get vs Create. If specified, author defaultValue as the attribute’s default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

inline UsdRelationship GetSimulationOwnerRel() const

Single PhysicsScene that will simulate this body. By default this is the first PhysicsScene found in the stage using UsdStage::Traverse().

inline UsdRelationship CreateSimulationOwnerRel() const

See GetSimulationOwnerRel(), and also Create vs Get Property Methods for when to use Get vs Create.

UsdPrim GetPrim() const

Return this schema object’s held prim.

SdfPath GetPath() const

Return the SdfPath to this schema object’s held prim.

Public Static Functions

static inline UsdPhysicsRigidBodyAPI Apply(const UsdPrim &prim)

Applies this single-apply API schema to the given prim. This information is stored by adding “PhysicsRigidBodyAPI” to the token-valued, listOp metadata apiSchemas on the prim.

See also

UsdPrim::GetAppliedSchemas()

See also

UsdPrim::HasAPI()

See also

UsdPrim::ApplyAPI()

See also

UsdPrim::RemoveAPI()

Returns

A valid UsdPhysicsRigidBodyAPI object is returned upon success. An invalid (or empty) UsdPhysicsRigidBodyAPI object is returned upon failure. See UsdPrim::ApplyAPI() for conditions resulting in failure.

Public Static Attributes

static const UsdSchemaType schemaType = UsdSchemaType::SingleApplyAPI

Compile time constant representing what kind of schema this class is.

See also

UsdSchemaType

Protected Functions

inline const TfToken &_GetInstanceName() const

Returns the instance name of the API schema object belonging to a multiple-apply API schema.

The returned instance name will be empty for non-applied and single-apply API schemas.