usdrt::UsdPhysicsScene
Defined in usdrt/scenegraph/usd/usdPhysics/scene.h
-
class UsdPhysicsScene : public usdrt::UsdTyped
General physics simulation properties, required for simulation.
Public Functions
-
inline explicit UsdPhysicsScene(const UsdPrim &prim = UsdPrim())
Construct a UsdPhysicsScene on UsdPrim
prim
. Equivalent to UsdPhysicsScene::Get(prim.GetStage(), prim.GetPath()) for a validprim
, but will not immediately throw an error for an invalidprim
.
-
inline explicit UsdPhysicsScene(const UsdSchemaBase &schemaObj)
Construct a UsdPhysicsScene on the prim held by
schemaObj
. Should be preferred over UsdPhysicsScene(schemaObj.GetPrim()), as it preserves SchemaBase state.
-
inline virtual ~UsdPhysicsScene()
Destructor.
-
inline UsdAttribute GetGravityDirectionAttr() const
Gravity direction vector in simulation world space. Will be normalized before use. A zero vector is a request to use the negative upAxis. Unitless.
Declaration
vector3f physics:gravityDirection = (0, 0, 0)
C++ Type
GfVec3f
Usd Type
SdfValueTypeNames->Vector3f
-
inline UsdAttribute CreateGravityDirectionAttr() const
See GetGravityDirectionAttr(), 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.
-
inline UsdAttribute GetGravityMagnitudeAttr() const
Gravity acceleration magnitude in simulation world space. A negative value is a request to use a value equivalent to earth gravity regardless of the metersPerUnit scaling used by this scene. Units: distance/second/second.
Declaration
float physics:gravityMagnitude = -inf
C++ Type
float
Usd Type
SdfValueTypeNames->Float
-
inline UsdAttribute CreateGravityMagnitudeAttr() const
See GetGravityMagnitudeAttr(), 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) ifwriteSparsely
istrue
- the default forwriteSparsely
isfalse
.
-
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 UsdPhysicsScene Define(const UsdStageRefPtr &stage, const SdfPath &path)
Attempt to ensure a UsdPrim adhering to this schema at
path
is defined (according to UsdPrim::IsDefined()) on this stage.
Public Static Attributes
-
static const UsdSchemaType schemaType = UsdSchemaType::ConcreteTyped
Compile time constant representing what kind of schema this class is.
See also
Protected Functions
-
inline virtual bool _IsCompatible() const
Helper for subclasses to do specific compatibility checking with the given prim. Subclassess may override
_isCompatible
to for example check type compatibility or value compatibility on the prim.Overrides exist for UsdTyped and UsdAPISchemaBase.
This check is called when clients invoke the bool operator.
- Returns
True if the schema object is compatible with its held prim.
-
inline explicit UsdPhysicsScene(const UsdPrim &prim = UsdPrim())