UsdPhysicsRigidBodyAPI#
Fully qualified name: usdrt::UsdPhysicsRigidBodyAPI
-
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( )#
Construct a UsdPhysicsRigidBodyAPI on UsdPrim
prim. Equivalent to UsdPhysicsRigidBodyAPI::Get(prim.GetStage(), prim.GetPath()) for a validprim, but will not immediately throw an error for an invalidprim.
- 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 UsdAttribute GetRigidBodyEnabledAttr() const#
Determines if this PhysicsRigidBodyAPI is enabled.
Declaration
bool physics:rigidBodyEnabled = 1C++ 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
defaultValueas the attribute’s default, sparsely (when it makes sense to do so) ifwriteSparselyistrue- the default forwriteSparselyisfalse.
-
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 = 0C++ 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
defaultValueas the attribute’s default, sparsely (when it makes sense to do so) ifwriteSparselyistrue- the default forwriteSparselyisfalse.
-
inline UsdAttribute GetStartsAsleepAttr() const#
Determines if the body is asleep when the simulation starts.
Declaration
uniform bool physics:startsAsleep = 0C++ 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
defaultValueas the attribute’s default, sparsely (when it makes sense to do so) ifwriteSparselyistrue- the default forwriteSparselyisfalse.
-
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
defaultValueas the attribute’s default, sparsely (when it makes sense to do so) ifwriteSparselyistrue- the default forwriteSparselyisfalse.
-
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
defaultValueas the attribute’s default, sparsely (when it makes sense to do so) ifwriteSparselyistrue- the default forwriteSparselyisfalse.
-
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.
-
inline explicit operator bool() const#
Check if this schema object is compatible with it’s held prim and that the prim is valid.
A typed schema object is compatible if the held prim’s type is or is a subtype of the schema’s type. Based on
prim.IsA().An API schema object is compatible if the API is of type SingleApplyAPI or UsdSchemaType::MultipleApplyAPI, and the schema has been applied to the prim. Based on
prim.HasAPI.This method invokes polymorphic behaviour.
See also
- Returns:
True if the help prim is valid, and the schema object is compatible with its 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
See also
See also
See also
- 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
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.
-
inline virtual bool _IsCompatible() const#
Check whether this APISchema object is valid for the currently held prim.
If this is an applied API schema, this returns true if the held prim is valid and already has the API schema applied to it, along with the instanceName (in the case of multiple-apply). The instanceName should not be empty in the case of a multiple-apply API schema.
This check is performed when clients invoke the explicit bool conversion operator, implemented in UsdSchemaBase.
See also