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 valid prim , but will not immediately throw an error for an invalid prim.

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) if writeSparsely is true - the default for writeSparsely is false.

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) if writeSparsely is true - the default for writeSparsely is false.

UsdPrim GetPrim() const

Return this schema object’s held prim.

SdfPath GetPath() const

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

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.

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

UsdSchemaType

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 const TfToken _GetType() const

Helper for subclasses to get this schema’s type token.

Note

This diverges from Usd and returns a TfToken, since we don’t implements TfType.

Returns

The token representing the schema’s TfType.