All Classes Files Functions Variables Pages
UsdPhysicsRigidBodyAPI Class Reference

Applies physics body attributes to any UsdGeomXformable prim and marks that prim to be driven by a simulation. More...

Inherits UsdAPISchemaBase.

Public Member Functions

 UsdPhysicsRigidBodyAPI (const UsdPrim &prim=UsdPrim())
 Construct a UsdPhysicsRigidBodyAPI on UsdPrim prim . More...
 
 UsdPhysicsRigidBodyAPI (const UsdSchemaBase &schemaObj)
 Construct a UsdPhysicsRigidBodyAPI on the prim held by schemaObj . More...
 
virtual USDPHYSICS_API ~UsdPhysicsRigidBodyAPI ()
 Destructor. More...
 
USDPHYSICS_API UsdAttribute GetRigidBodyEnabledAttr () const
 Determines if this PhysicsRigidBodyAPI is enabled. More...
 
USDPHYSICS_API UsdAttribute CreateRigidBodyEnabledAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetRigidBodyEnabledAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. More...
 
USDPHYSICS_API UsdAttribute GetKinematicEnabledAttr () const
 Determines whether the body is kinematic or not. More...
 
USDPHYSICS_API UsdAttribute CreateKinematicEnabledAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetKinematicEnabledAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. More...
 
USDPHYSICS_API UsdAttribute GetStartsAsleepAttr () const
 Determines if the body is asleep when the simulation starts. More...
 
USDPHYSICS_API UsdAttribute CreateStartsAsleepAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetStartsAsleepAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. More...
 
USDPHYSICS_API UsdAttribute GetVelocityAttr () const
 Linear velocity in the same space as the node's xform. More...
 
USDPHYSICS_API UsdAttribute CreateVelocityAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetVelocityAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. More...
 
USDPHYSICS_API UsdAttribute GetAngularVelocityAttr () const
 Angular velocity in the same space as the node's xform. More...
 
USDPHYSICS_API UsdAttribute CreateAngularVelocityAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetAngularVelocityAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. More...
 
USDPHYSICS_API UsdRelationship GetSimulationOwnerRel () const
 Single PhysicsScene that will simulate this body. More...
 
USDPHYSICS_API UsdRelationship CreateSimulationOwnerRel () const
 See GetSimulationOwnerRel(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. More...
 

Static Public Member Functions

static USDPHYSICS_API const
TfTokenVector & 
GetSchemaAttributeNames (bool includeInherited=true)
 Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes. More...
 
static USDPHYSICS_API
UsdPhysicsRigidBodyAPI 
Get (const UsdStagePtr &stage, const SdfPath &path)
 Return a UsdPhysicsRigidBodyAPI holding the prim adhering to this schema at path on stage. More...
 
static USDPHYSICS_API
UsdPhysicsRigidBodyAPI 
Apply (const UsdPrim &prim)
 Applies this single-apply API schema to the given prim. More...
 

Static Public Attributes

static const UsdSchemaType schemaType = UsdSchemaType::SingleApplyAPI
 Compile time constant representing what kind of schema this class is. More...
 

Protected Member Functions

USDPHYSICS_API UsdSchemaType _GetSchemaType () const override
 Returns the type of schema this class belongs to. More...
 

Friends

class UsdSchemaRegistry
 

Detailed Description

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.

Definition at line 60 of file rigidBodyAPI.h.

Constructor & Destructor Documentation

UsdPhysicsRigidBodyAPI ( const UsdPrim &  prim = UsdPrim())
inlineexplicit

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

Definition at line 72 of file rigidBodyAPI.h.

UsdPhysicsRigidBodyAPI ( const UsdSchemaBase &  schemaObj)
inlineexplicit

Construct a UsdPhysicsRigidBodyAPI on the prim held by schemaObj .

Should be preferred over UsdPhysicsRigidBodyAPI(schemaObj.GetPrim()), as it preserves SchemaBase state.

Definition at line 80 of file rigidBodyAPI.h.

virtual USDPHYSICS_API ~UsdPhysicsRigidBodyAPI ( )
virtual

Destructor.

Member Function Documentation

USDPHYSICS_API UsdSchemaType _GetSchemaType ( ) const
overrideprotected

Returns the type of schema this class belongs to.

See Also
UsdSchemaType
static USDPHYSICS_API UsdPhysicsRigidBodyAPI Apply ( const UsdPrim &  prim)
static

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.

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.
See Also
UsdPrim::GetAppliedSchemas()
UsdPrim::HasAPI()
UsdPrim::ApplyAPI()
UsdPrim::RemoveAPI()
USDPHYSICS_API UsdAttribute CreateAngularVelocityAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetAngularVelocityAttr(), and also Usd_Create_Or_Get_Property 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.

USDPHYSICS_API UsdAttribute CreateKinematicEnabledAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetKinematicEnabledAttr(), and also Usd_Create_Or_Get_Property 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.

USDPHYSICS_API UsdAttribute CreateRigidBodyEnabledAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetRigidBodyEnabledAttr(), and also Usd_Create_Or_Get_Property 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.

USDPHYSICS_API UsdRelationship CreateSimulationOwnerRel ( ) const

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

USDPHYSICS_API UsdAttribute CreateStartsAsleepAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetStartsAsleepAttr(), and also Usd_Create_Or_Get_Property 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.

USDPHYSICS_API UsdAttribute CreateVelocityAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetVelocityAttr(), and also Usd_Create_Or_Get_Property 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.

static USDPHYSICS_API UsdPhysicsRigidBodyAPI Get ( const UsdStagePtr &  stage,
const SdfPath &  path 
)
static

Return a UsdPhysicsRigidBodyAPI holding the prim adhering to this schema at path on stage.

If no prim exists at path on 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:

* UsdPhysicsRigidBodyAPI(stage->GetPrimAtPath(path));
*
USDPHYSICS_API UsdAttribute GetAngularVelocityAttr ( ) const

Angular velocity in the same space as the node's xform.

Units: degrees/time.

Declaration vector3f physics:angularVelocity = (0, 0, 0)
C++ Type GfVec3f
Usd Type SdfValueTypeNames->Vector3f
USDPHYSICS_API 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 still derives velocities for the kinematic body based on the external motion.

Declaration bool physics:kinematicEnabled = 0
C++ Type bool
Usd Type SdfValueTypeNames->Bool
USDPHYSICS_API UsdAttribute GetRigidBodyEnabledAttr ( ) const

Determines if this PhysicsRigidBodyAPI is enabled.

Declaration bool physics:rigidBodyEnabled = 1
C++ Type bool
Usd Type SdfValueTypeNames->Bool
static USDPHYSICS_API const TfTokenVector& GetSchemaAttributeNames ( bool  includeInherited = true)
static

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.

USDPHYSICS_API UsdRelationship GetSimulationOwnerRel ( ) const

Single PhysicsScene that will simulate this body.

By default this is the first PhysicsScene found in the stage using UsdStage::Traverse().

USDPHYSICS_API 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
USDPHYSICS_API UsdAttribute GetVelocityAttr ( ) const

Linear velocity in the same space as the node's xform.

Units: distance/time.

Declaration vector3f physics:velocity = (0, 0, 0)
C++ Type GfVec3f
Usd Type SdfValueTypeNames->Vector3f

Member Data Documentation

const UsdSchemaType schemaType = UsdSchemaType::SingleApplyAPI
static

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

See Also
UsdSchemaType

Definition at line 66 of file rigidBodyAPI.h.


The documentation for this class was generated from the following file: