UsdPhysics module#

Summary: The UsdPhysics module defines the physics-related prim and property schemas that together form a physics simulation representation.


Classes:

ArticulationRootAPI

PhysicsArticulationRootAPI can be applied to a scene graph node, and marks the subtree rooted here for inclusion in one or more reduced coordinate articulations.

CollisionAPI

Applies collision attributes to a UsdGeomXformable prim.

CollisionGroup

Defines a collision group for coarse filtering.

CollisionGroupTable

DistanceJoint

Predefined distance joint type (Distance between rigid bodies may be limited to given minimum or maximum distance.)

DriveAPI

The PhysicsDriveAPI when applied to any joint primitive will drive the joint towards a given target.

FilteredPairsAPI

API to describe fine-grained filtering.

FixedJoint

Predefined fixed joint type (All degrees of freedom are removed.)

Joint

A joint constrains the movement of rigid bodies.

LimitAPI

The PhysicsLimitAPI can be applied to a PhysicsJoint and will restrict the movement along an axis.

MassAPI

Defines explicit mass properties (mass, density, inertia etc.).

MassUnits

Container class for static double-precision symbols representing common mass units of measure expressed in kilograms.

MaterialAPI

Adds simulation material properties to a Material.

MeshCollisionAPI

Attributes to control how a Mesh is made into a collider.

PrismaticJoint

Predefined prismatic joint type (translation along prismatic joint axis is permitted.)

RevoluteJoint

Predefined revolute joint type (rotation along revolute joint axis is permitted.)

RigidBodyAPI

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

Scene

General physics simulation properties, required for simulation.

SphericalJoint

Predefined spherical joint type (Removes linear degrees of freedom, cone limit may restrict the motion in a given range.) It allows two limit values, which when equal create a circular, else an elliptic cone limit around the limit axis.

Tokens

class pxr.UsdPhysics.ArticulationRootAPI#

PhysicsArticulationRootAPI can be applied to a scene graph node, and marks the subtree rooted here for inclusion in one or more reduced coordinate articulations. For floating articulations, this should be on the root body. For fixed articulations (robotics jargon for e.g. a robot arm for welding that is bolted to the floor), this API can be on a direct or indirect parent of the root joint which is connected to the world, or on the joint itself..

Methods:

Apply

classmethod Apply(prim) -> ArticulationRootAPI

CanApply

classmethod CanApply(prim, whyNot) -> bool

Get

classmethod Get(stage, path) -> ArticulationRootAPI

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

static Apply()#

classmethod Apply(prim) -> ArticulationRootAPI

Applies this single-apply API schema to the given prim .

This information is stored by adding”PhysicsArticulationRootAPI”to the token-valued, listOp metadata apiSchemas on the prim.

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

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters:

prim (Prim)

static CanApply()#

classmethod CanApply(prim, whyNot) -> bool

Returns true if this single-apply API schema can be applied to the given prim .

If this schema can not be a applied to the prim, this returns false and, if provided, populates whyNot with the reason it can not be applied.

Note that if CanApply returns false, that does not necessarily imply that calling Apply will fail. Callers are expected to call CanApply before calling Apply if they want to ensure that it is valid to apply a schema.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters:
  • prim (Prim)

  • whyNot (str)

static Get()#

classmethod Get(stage, path) -> ArticulationRootAPI

Return a UsdPhysicsArticulationRootAPI 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:

UsdPhysicsArticulationRootAPI(stage->GetPrimAtPath(path));
Parameters:
static GetSchemaAttributeNames()#

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

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.

Parameters:

includeInherited (bool)

class pxr.UsdPhysics.CollisionAPI#

Applies collision attributes to a UsdGeomXformable prim. If a simulation is running, this geometry will collide with other geometries that have PhysicsCollisionAPI applied. If a prim in the parent hierarchy has the RigidBodyAPI applied, this collider is a part of that body. If there is no body in the parent hierarchy, this collider is considered to be static.

Methods:

Apply

classmethod Apply(prim) -> CollisionAPI

CanApply

classmethod CanApply(prim, whyNot) -> bool

CreateCollisionEnabledAttr(defaultValue, ...)

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

CreateSimulationOwnerRel()

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

Get

classmethod Get(stage, path) -> CollisionAPI

GetCollisionEnabledAttr()

Determines if the PhysicsCollisionAPI is enabled.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

GetSimulationOwnerRel()

Single PhysicsScene that will simulate this collider.

static Apply()#

classmethod Apply(prim) -> CollisionAPI

Applies this single-apply API schema to the given prim .

This information is stored by adding”PhysicsCollisionAPI”to the token- valued, listOp metadata apiSchemas on the prim.

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

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters:

prim (Prim)

static CanApply()#

classmethod CanApply(prim, whyNot) -> bool

Returns true if this single-apply API schema can be applied to the given prim .

If this schema can not be a applied to the prim, this returns false and, if provided, populates whyNot with the reason it can not be applied.

Note that if CanApply returns false, that does not necessarily imply that calling Apply will fail. Callers are expected to call CanApply before calling Apply if they want to ensure that it is valid to apply a schema.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters:
  • prim (Prim)

  • whyNot (str)

CreateCollisionEnabledAttr(
defaultValue,
writeSparsely,
) Attribute#

See GetCollisionEnabledAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateSimulationOwnerRel() Relationship#

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

static Get()#

classmethod Get(stage, path) -> CollisionAPI

Return a UsdPhysicsCollisionAPI 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:

UsdPhysicsCollisionAPI(stage->GetPrimAtPath(path));
Parameters:
GetCollisionEnabledAttr() Attribute#

Determines if the PhysicsCollisionAPI is enabled.

Declaration

bool physics:collisionEnabled = 1

C++ Type

bool

Usd Type

SdfValueTypeNames->Bool

static GetSchemaAttributeNames()#

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

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.

Parameters:

includeInherited (bool)

GetSimulationOwnerRel() Relationship#

Single PhysicsScene that will simulate this collider.

By default this object belongs to the first PhysicsScene. Note that if a RigidBodyAPI in the hierarchy above has a different simulationOwner then it has a precedence over this relationship.

class pxr.UsdPhysics.CollisionGroup#

Defines a collision group for coarse filtering. When a collision occurs between two objects that have a PhysicsCollisionGroup assigned, they will collide with each other unless this PhysicsCollisionGroup pair is filtered. See filteredGroups attribute.

A CollectionAPI:colliders maintains a list of PhysicsCollisionAPI rel-s that defines the members of this Collisiongroup.

Methods:

ComputeCollisionGroupTable

classmethod ComputeCollisionGroupTable(stage) -> CollisionGroupTable

CreateFilteredGroupsRel()

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

CreateInvertFilteredGroupsAttr(defaultValue, ...)

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

CreateMergeGroupNameAttr(defaultValue, ...)

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

Define

classmethod Define(stage, path) -> CollisionGroup

Get

classmethod Get(stage, path) -> CollisionGroup

GetCollidersCollectionAPI()

Return the UsdCollectionAPI interface used for defining what colliders belong to the CollisionGroup.

GetFilteredGroupsRel()

References a list of PhysicsCollisionGroups with which collisions should be ignored.

GetInvertFilteredGroupsAttr()

Normally, the filter will disable collisions against the selected filter groups.

GetMergeGroupNameAttr()

If non-empty, any collision groups in a stage with a matching mergeGroup should be considered to refer to the same collection.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

static ComputeCollisionGroupTable()#

classmethod ComputeCollisionGroupTable(stage) -> CollisionGroupTable

Compute a table encoding all the collision groups filter rules for a stage.

This can be used as a reference to validate an implementation of the collision groups filters. The returned table is diagonally symmetric.

Parameters:

stage (Stage)

CreateFilteredGroupsRel() Relationship#

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

CreateInvertFilteredGroupsAttr(
defaultValue,
writeSparsely,
) Attribute#

See GetInvertFilteredGroupsAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateMergeGroupNameAttr(
defaultValue,
writeSparsely,
) Attribute#

See GetMergeGroupNameAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

static Define()#

classmethod Define(stage, path) -> CollisionGroup

Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefined() ) on this stage.

If a prim adhering to this schema at path is already defined on this stage, return that prim. Otherwise author an SdfPrimSpec with specifier == SdfSpecifierDef and this schema’s prim type name for the prim at path at the current EditTarget. Author SdfPrimSpec s with specifier == SdfSpecifierDef and empty typeName at the current EditTarget for any nonexistent, or existing but not Defined ancestors.

The given path must be an absolute prim path that does not contain any variant selections.

If it is impossible to author any of the necessary PrimSpecs, (for example, in case path cannot map to the current UsdEditTarget ‘s namespace) issue an error and return an invalid UsdPrim.

Note that this method may return a defined prim whose typeName does not specify this schema class, in case a stronger typeName opinion overrides the opinion at the current EditTarget.

Parameters:
static Get()#

classmethod Get(stage, path) -> CollisionGroup

Return a UsdPhysicsCollisionGroup 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:

UsdPhysicsCollisionGroup(stage->GetPrimAtPath(path));
Parameters:
GetCollidersCollectionAPI() CollectionAPI#

Return the UsdCollectionAPI interface used for defining what colliders belong to the CollisionGroup.

GetFilteredGroupsRel() Relationship#

References a list of PhysicsCollisionGroups with which collisions should be ignored.

GetInvertFilteredGroupsAttr() Attribute#

Normally, the filter will disable collisions against the selected filter groups.

However, if this option is set, the filter will disable collisions against all colliders except for those in the selected filter groups.

Declaration

bool physics:invertFilteredGroups

C++ Type

bool

Usd Type

SdfValueTypeNames->Bool

GetMergeGroupNameAttr() Attribute#

If non-empty, any collision groups in a stage with a matching mergeGroup should be considered to refer to the same collection.

Matching collision groups should behave as if there were a single group containing referenced colliders and filter groups from both collections.

Declaration

string physics:mergeGroup

C++ Type

std::string

Usd Type

SdfValueTypeNames->String

static GetSchemaAttributeNames()#

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

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.

Parameters:

includeInherited (bool)

class pxr.UsdPhysics.CollisionGroupTable#

Methods:

GetGroups()#
IsCollisionEnabled()#
class pxr.UsdPhysics.DistanceJoint#

Predefined distance joint type (Distance between rigid bodies may be limited to given minimum or maximum distance.)

Methods:

CreateMaxDistanceAttr(defaultValue, ...)

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

CreateMinDistanceAttr(defaultValue, ...)

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

Define

classmethod Define(stage, path) -> DistanceJoint

Get

classmethod Get(stage, path) -> DistanceJoint

GetMaxDistanceAttr()

Maximum distance.

GetMinDistanceAttr()

Minimum distance.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

CreateMaxDistanceAttr(
defaultValue,
writeSparsely,
) Attribute#

See GetMaxDistanceAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateMinDistanceAttr(
defaultValue,
writeSparsely,
) Attribute#

See GetMinDistanceAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

static Define()#

classmethod Define(stage, path) -> DistanceJoint

Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefined() ) on this stage.

If a prim adhering to this schema at path is already defined on this stage, return that prim. Otherwise author an SdfPrimSpec with specifier == SdfSpecifierDef and this schema’s prim type name for the prim at path at the current EditTarget. Author SdfPrimSpec s with specifier == SdfSpecifierDef and empty typeName at the current EditTarget for any nonexistent, or existing but not Defined ancestors.

The given path must be an absolute prim path that does not contain any variant selections.

If it is impossible to author any of the necessary PrimSpecs, (for example, in case path cannot map to the current UsdEditTarget ‘s namespace) issue an error and return an invalid UsdPrim.

Note that this method may return a defined prim whose typeName does not specify this schema class, in case a stronger typeName opinion overrides the opinion at the current EditTarget.

Parameters:
static Get()#

classmethod Get(stage, path) -> DistanceJoint

Return a UsdPhysicsDistanceJoint 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:

UsdPhysicsDistanceJoint(stage->GetPrimAtPath(path));
Parameters:
GetMaxDistanceAttr() Attribute#

Maximum distance.

If attribute is negative, the joint is not limited. Units: distance.

Declaration

float physics:maxDistance = -1

C++ Type

float

Usd Type

SdfValueTypeNames->Float

GetMinDistanceAttr() Attribute#

Minimum distance.

If attribute is negative, the joint is not limited. Units: distance.

Declaration

float physics:minDistance = -1

C++ Type

float

Usd Type

SdfValueTypeNames->Float

static GetSchemaAttributeNames()#

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

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.

Parameters:

includeInherited (bool)

class pxr.UsdPhysics.DriveAPI#

The PhysicsDriveAPI when applied to any joint primitive will drive the joint towards a given target. The PhysicsDriveAPI is a multipleApply schema: drive can be set per axis”transX”,”transY”,”transZ”,”rotX”,”rotY”,”rotZ”or its”linear”for prismatic joint or”angular”for revolute joints. Setting these as a multipleApply schema TfToken name will define the degree of freedom the DriveAPI is applied to. Each drive is an implicit force-limited damped spring: Force or acceleration = stiffness * (targetPosition - position)

  • damping * (targetVelocity - velocity)

For any described attribute Fallback Value or Allowed Values below that are text/tokens, the actual token is published and defined in UsdPhysicsTokens. So to set an attribute to the value”rightHanded”, use UsdPhysicsTokens->rightHanded as the value.

Methods:

Apply

classmethod Apply(prim, name) -> DriveAPI

CanApply

classmethod CanApply(prim, name, whyNot) -> bool

CreateDampingAttr(defaultValue, writeSparsely)

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

CreateMaxForceAttr(defaultValue, writeSparsely)

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

CreateStiffnessAttr(defaultValue, writeSparsely)

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

CreateTargetPositionAttr(defaultValue, ...)

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

CreateTargetVelocityAttr(defaultValue, ...)

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

CreateTypeAttr(defaultValue, writeSparsely)

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

Get

classmethod Get(stage, path) -> DriveAPI

GetAll

classmethod GetAll(prim) -> list[DriveAPI]

GetDampingAttr()

Damping of the drive.

GetMaxForceAttr()

Maximum force that can be applied to drive.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

GetStiffnessAttr()

Stiffness of the drive.

GetTargetPositionAttr()

Target value for position.

GetTargetVelocityAttr()

Target value for velocity.

GetTypeAttr()

Drive spring is for the acceleration at the joint (rather than the force).

IsPhysicsDriveAPIPath

classmethod IsPhysicsDriveAPIPath(path, name) -> bool

static Apply()#

classmethod Apply(prim, name) -> DriveAPI

Applies this multiple-apply API schema to the given prim along with the given instance name, name .

This information is stored by adding”PhysicsDriveAPI:<i>name</i>”to the token-valued, listOp metadata apiSchemas on the prim. For example, if name is’instance1’, the token’PhysicsDriveAPI:instance1’is added to’apiSchemas’.

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

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters:
  • prim (Prim)

  • name (str)

static CanApply()#

classmethod CanApply(prim, name, whyNot) -> bool

Returns true if this multiple-apply API schema can be applied, with the given instance name, name , to the given prim .

If this schema can not be a applied the prim, this returns false and, if provided, populates whyNot with the reason it can not be applied.

Note that if CanApply returns false, that does not necessarily imply that calling Apply will fail. Callers are expected to call CanApply before calling Apply if they want to ensure that it is valid to apply a schema.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters:
  • prim (Prim)

  • name (str)

  • whyNot (str)

CreateDampingAttr(defaultValue, writeSparsely) Attribute#

See GetDampingAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateMaxForceAttr(defaultValue, writeSparsely) Attribute#

See GetMaxForceAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateStiffnessAttr(defaultValue, writeSparsely) Attribute#

See GetStiffnessAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateTargetPositionAttr(
defaultValue,
writeSparsely,
) Attribute#

See GetTargetPositionAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateTargetVelocityAttr(
defaultValue,
writeSparsely,
) Attribute#

See GetTargetVelocityAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateTypeAttr(defaultValue, writeSparsely) Attribute#

See GetTypeAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

static Get()#

classmethod Get(stage, path) -> DriveAPI

Return a UsdPhysicsDriveAPI 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. path must be of the format<path>.drive:name.

This is shorthand for the following:

TfToken name = SdfPath::StripNamespace(path.GetToken());
UsdPhysicsDriveAPI(
    stage->GetPrimAtPath(path.GetPrimPath()), name);
Parameters:

Get(prim, name) -> DriveAPI

Return a UsdPhysicsDriveAPI with name name holding the prim prim .

Shorthand for UsdPhysicsDriveAPI(prim, name);

Parameters:
  • prim (Prim)

  • name (str)

static GetAll()#

classmethod GetAll(prim) -> list[DriveAPI]

Return a vector of all named instances of UsdPhysicsDriveAPI on the given prim .

Parameters:

prim (Prim)

GetDampingAttr() Attribute#

Damping of the drive.

Units: if linear drive: mass/second If angular drive: mass*DIST_UNITS*DIST_UNITS/second/second/degrees.

Declaration

float physics:damping = 0

C++ Type

float

Usd Type

SdfValueTypeNames->Float

GetMaxForceAttr() Attribute#

Maximum force that can be applied to drive.

Units: if linear drive: mass*DIST_UNITS/second/second if angular drive: mass*DIST_UNITS*DIST_UNITS/second/second inf means not limited. Must be non-negative.

Declaration

float physics:maxForce = inf

C++ Type

float

Usd Type

SdfValueTypeNames->Float

static GetSchemaAttributeNames()#

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

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.

Parameters:

includeInherited (bool)


GetSchemaAttributeNames(includeInherited, instanceName) -> list[str]

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes for a given instance name.

Does not include attributes that may be authored by custom/extended methods of the schemas involved. The names returned will have the proper namespace prefix.

Parameters:
  • includeInherited (bool)

  • instanceName (str)

GetStiffnessAttr() Attribute#

Stiffness of the drive.

Units: if linear drive: mass/second/second if angular drive: mass*DIST_UNITS*DIST_UNITS/degree/second/second.

Declaration

float physics:stiffness = 0

C++ Type

float

Usd Type

SdfValueTypeNames->Float

GetTargetPositionAttr() Attribute#

Target value for position.

Units: if linear drive: distance if angular drive: degrees.

Declaration

float physics:targetPosition = 0

C++ Type

float

Usd Type

SdfValueTypeNames->Float

GetTargetVelocityAttr() Attribute#

Target value for velocity.

Units: if linear drive: distance/second if angular drive: degrees/second.

Declaration

float physics:targetVelocity = 0

C++ Type

float

Usd Type

SdfValueTypeNames->Float

GetTypeAttr() Attribute#

Drive spring is for the acceleration at the joint (rather than the force).

Declaration

uniform token physics:type ="force"

C++ Type

TfToken

Usd Type

SdfValueTypeNames->Token

Variability

SdfVariabilityUniform

Allowed Values

force, acceleration

static IsPhysicsDriveAPIPath()#

classmethod IsPhysicsDriveAPIPath(path, name) -> bool

Checks if the given path path is of an API schema of type PhysicsDriveAPI.

If so, it stores the instance name of the schema in name and returns true. Otherwise, it returns false.

Parameters:
  • path (Path)

  • name (str)

class pxr.UsdPhysics.FilteredPairsAPI#

API to describe fine-grained filtering. If a collision between two objects occurs, this pair might be filtered if the pair is defined through this API. This API can be applied either to a body or collision or even articulation. The”filteredPairs”defines what objects it should not collide against. Note that FilteredPairsAPI filtering has precedence over CollisionGroup filtering.

Methods:

Apply

classmethod Apply(prim) -> FilteredPairsAPI

CanApply

classmethod CanApply(prim, whyNot) -> bool

CreateFilteredPairsRel()

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

Get

classmethod Get(stage, path) -> FilteredPairsAPI

GetFilteredPairsRel()

Relationship to objects that should be filtered.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

static Apply()#

classmethod Apply(prim) -> FilteredPairsAPI

Applies this single-apply API schema to the given prim .

This information is stored by adding”PhysicsFilteredPairsAPI”to the token-valued, listOp metadata apiSchemas on the prim.

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

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters:

prim (Prim)

static CanApply()#

classmethod CanApply(prim, whyNot) -> bool

Returns true if this single-apply API schema can be applied to the given prim .

If this schema can not be a applied to the prim, this returns false and, if provided, populates whyNot with the reason it can not be applied.

Note that if CanApply returns false, that does not necessarily imply that calling Apply will fail. Callers are expected to call CanApply before calling Apply if they want to ensure that it is valid to apply a schema.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters:
  • prim (Prim)

  • whyNot (str)

CreateFilteredPairsRel() Relationship#

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

static Get()#

classmethod Get(stage, path) -> FilteredPairsAPI

Return a UsdPhysicsFilteredPairsAPI 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:

UsdPhysicsFilteredPairsAPI(stage->GetPrimAtPath(path));
Parameters:
GetFilteredPairsRel() Relationship#

Relationship to objects that should be filtered.

static GetSchemaAttributeNames()#

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

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.

Parameters:

includeInherited (bool)

class pxr.UsdPhysics.FixedJoint#

Predefined fixed joint type (All degrees of freedom are removed.)

Methods:

Define

classmethod Define(stage, path) -> FixedJoint

Get

classmethod Get(stage, path) -> FixedJoint

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

static Define()#

classmethod Define(stage, path) -> FixedJoint

Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefined() ) on this stage.

If a prim adhering to this schema at path is already defined on this stage, return that prim. Otherwise author an SdfPrimSpec with specifier == SdfSpecifierDef and this schema’s prim type name for the prim at path at the current EditTarget. Author SdfPrimSpec s with specifier == SdfSpecifierDef and empty typeName at the current EditTarget for any nonexistent, or existing but not Defined ancestors.

The given path must be an absolute prim path that does not contain any variant selections.

If it is impossible to author any of the necessary PrimSpecs, (for example, in case path cannot map to the current UsdEditTarget ‘s namespace) issue an error and return an invalid UsdPrim.

Note that this method may return a defined prim whose typeName does not specify this schema class, in case a stronger typeName opinion overrides the opinion at the current EditTarget.

Parameters:
static Get()#

classmethod Get(stage, path) -> FixedJoint

Return a UsdPhysicsFixedJoint 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:

UsdPhysicsFixedJoint(stage->GetPrimAtPath(path));
Parameters:
static GetSchemaAttributeNames()#

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

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.

Parameters:

includeInherited (bool)

class pxr.UsdPhysics.Joint#

A joint constrains the movement of rigid bodies. Joint can be created between two rigid bodies or between one rigid body and world. By default joint primitive defines a D6 joint where all degrees of freedom are free. Three linear and three angular degrees of freedom. Note that default behavior is to disable collision between jointed bodies.

Methods:

CreateBody0Rel()

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

CreateBody1Rel()

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

CreateBreakForceAttr(defaultValue, writeSparsely)

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

CreateBreakTorqueAttr(defaultValue, ...)

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

CreateCollisionEnabledAttr(defaultValue, ...)

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

CreateExcludeFromArticulationAttr(...)

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

CreateJointEnabledAttr(defaultValue, ...)

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

CreateLocalPos0Attr(defaultValue, writeSparsely)

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

CreateLocalPos1Attr(defaultValue, writeSparsely)

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

CreateLocalRot0Attr(defaultValue, writeSparsely)

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

CreateLocalRot1Attr(defaultValue, writeSparsely)

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

Define

classmethod Define(stage, path) -> Joint

Get

classmethod Get(stage, path) -> Joint

GetBody0Rel()

Relationship to any UsdGeomXformable.

GetBody1Rel()

Relationship to any UsdGeomXformable.

GetBreakForceAttr()

Joint break force.

GetBreakTorqueAttr()

Joint break torque.

GetCollisionEnabledAttr()

Determines if the jointed subtrees should collide or not.

GetExcludeFromArticulationAttr()

Determines if the joint can be included in an Articulation.

GetJointEnabledAttr()

Determines if the joint is enabled.

GetLocalPos0Attr()

Relative position of the joint frame to body0's frame.

GetLocalPos1Attr()

Relative position of the joint frame to body1's frame.

GetLocalRot0Attr()

Relative orientation of the joint frame to body0's frame.

GetLocalRot1Attr()

Relative orientation of the joint frame to body1's frame.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

CreateBody0Rel() Relationship#

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

CreateBody1Rel() Relationship#

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

CreateBreakForceAttr(defaultValue, writeSparsely) Attribute#

See GetBreakForceAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateBreakTorqueAttr(defaultValue, writeSparsely) Attribute#

See GetBreakTorqueAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateCollisionEnabledAttr(
defaultValue,
writeSparsely,
) Attribute#

See GetCollisionEnabledAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateExcludeFromArticulationAttr(
defaultValue,
writeSparsely,
) Attribute#

See GetExcludeFromArticulationAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateJointEnabledAttr(defaultValue, writeSparsely) Attribute#

See GetJointEnabledAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateLocalPos0Attr(defaultValue, writeSparsely) Attribute#

See GetLocalPos0Attr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateLocalPos1Attr(defaultValue, writeSparsely) Attribute#

See GetLocalPos1Attr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateLocalRot0Attr(defaultValue, writeSparsely) Attribute#

See GetLocalRot0Attr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateLocalRot1Attr(defaultValue, writeSparsely) Attribute#

See GetLocalRot1Attr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

static Define()#

classmethod Define(stage, path) -> Joint

Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefined() ) on this stage.

If a prim adhering to this schema at path is already defined on this stage, return that prim. Otherwise author an SdfPrimSpec with specifier == SdfSpecifierDef and this schema’s prim type name for the prim at path at the current EditTarget. Author SdfPrimSpec s with specifier == SdfSpecifierDef and empty typeName at the current EditTarget for any nonexistent, or existing but not Defined ancestors.

The given path must be an absolute prim path that does not contain any variant selections.

If it is impossible to author any of the necessary PrimSpecs, (for example, in case path cannot map to the current UsdEditTarget ‘s namespace) issue an error and return an invalid UsdPrim.

Note that this method may return a defined prim whose typeName does not specify this schema class, in case a stronger typeName opinion overrides the opinion at the current EditTarget.

Parameters:
static Get()#

classmethod Get(stage, path) -> Joint

Return a UsdPhysicsJoint 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:

UsdPhysicsJoint(stage->GetPrimAtPath(path));
Parameters:
GetBody0Rel() Relationship#

Relationship to any UsdGeomXformable.

GetBody1Rel() Relationship#

Relationship to any UsdGeomXformable.

GetBreakForceAttr() Attribute#

Joint break force.

If set, joint is to break when this force limit is reached. (Used for linear DOFs.) Units: mass * distance / second / second

Declaration

float physics:breakForce = inf

C++ Type

float

Usd Type

SdfValueTypeNames->Float

GetBreakTorqueAttr() Attribute#

Joint break torque.

If set, joint is to break when this torque limit is reached. (Used for angular DOFs.) Units: mass * distance * distance / second / second

Declaration

float physics:breakTorque = inf

C++ Type

float

Usd Type

SdfValueTypeNames->Float

GetCollisionEnabledAttr() Attribute#

Determines if the jointed subtrees should collide or not.

Declaration

bool physics:collisionEnabled = 0

C++ Type

bool

Usd Type

SdfValueTypeNames->Bool

GetExcludeFromArticulationAttr() Attribute#

Determines if the joint can be included in an Articulation.

Declaration

uniform bool physics:excludeFromArticulation = 0

C++ Type

bool

Usd Type

SdfValueTypeNames->Bool

Variability

SdfVariabilityUniform

GetJointEnabledAttr() Attribute#

Determines if the joint is enabled.

Declaration

bool physics:jointEnabled = 1

C++ Type

bool

Usd Type

SdfValueTypeNames->Bool

GetLocalPos0Attr() Attribute#

Relative position of the joint frame to body0’s frame.

Declaration

point3f physics:localPos0 = (0, 0, 0)

C++ Type

GfVec3f

Usd Type

SdfValueTypeNames->Point3f

GetLocalPos1Attr() Attribute#

Relative position of the joint frame to body1’s frame.

Declaration

point3f physics:localPos1 = (0, 0, 0)

C++ Type

GfVec3f

Usd Type

SdfValueTypeNames->Point3f

GetLocalRot0Attr() Attribute#

Relative orientation of the joint frame to body0’s frame.

Declaration

quatf physics:localRot0 = (1, 0, 0, 0)

C++ Type

GfQuatf

Usd Type

SdfValueTypeNames->Quatf

GetLocalRot1Attr() Attribute#

Relative orientation of the joint frame to body1’s frame.

Declaration

quatf physics:localRot1 = (1, 0, 0, 0)

C++ Type

GfQuatf

Usd Type

SdfValueTypeNames->Quatf

static GetSchemaAttributeNames()#

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

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.

Parameters:

includeInherited (bool)

class pxr.UsdPhysics.LimitAPI#

The PhysicsLimitAPI can be applied to a PhysicsJoint and will restrict the movement along an axis. PhysicsLimitAPI is a multipleApply schema: The PhysicsJoint can be restricted along”transX”,”transY”,”transZ”,”rotX”,”rotY”,”rotZ”,”distance”. Setting these as a multipleApply schema TfToken name will define the degree of freedom the PhysicsLimitAPI is applied to. Note that if the low limit is higher than the high limit, motion along this axis is considered locked.

Methods:

Apply

classmethod Apply(prim, name) -> LimitAPI

CanApply

classmethod CanApply(prim, name, whyNot) -> bool

CreateHighAttr(defaultValue, writeSparsely)

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

CreateLowAttr(defaultValue, writeSparsely)

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

Get

classmethod Get(stage, path) -> LimitAPI

GetAll

classmethod GetAll(prim) -> list[LimitAPI]

GetHighAttr()

Upper limit.

GetLowAttr()

Lower limit.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

IsPhysicsLimitAPIPath

classmethod IsPhysicsLimitAPIPath(path, name) -> bool

static Apply()#

classmethod Apply(prim, name) -> LimitAPI

Applies this multiple-apply API schema to the given prim along with the given instance name, name .

This information is stored by adding”PhysicsLimitAPI:<i>name</i>”to the token-valued, listOp metadata apiSchemas on the prim. For example, if name is’instance1’, the token’PhysicsLimitAPI:instance1’is added to’apiSchemas’.

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

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters:
  • prim (Prim)

  • name (str)

static CanApply()#

classmethod CanApply(prim, name, whyNot) -> bool

Returns true if this multiple-apply API schema can be applied, with the given instance name, name , to the given prim .

If this schema can not be a applied the prim, this returns false and, if provided, populates whyNot with the reason it can not be applied.

Note that if CanApply returns false, that does not necessarily imply that calling Apply will fail. Callers are expected to call CanApply before calling Apply if they want to ensure that it is valid to apply a schema.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters:
  • prim (Prim)

  • name (str)

  • whyNot (str)

CreateHighAttr(defaultValue, writeSparsely) Attribute#

See GetHighAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateLowAttr(defaultValue, writeSparsely) Attribute#

See GetLowAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

static Get()#

classmethod Get(stage, path) -> LimitAPI

Return a UsdPhysicsLimitAPI 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. path must be of the format<path>.limit:name.

This is shorthand for the following:

TfToken name = SdfPath::StripNamespace(path.GetToken());
UsdPhysicsLimitAPI(
    stage->GetPrimAtPath(path.GetPrimPath()), name);
Parameters:

Get(prim, name) -> LimitAPI

Return a UsdPhysicsLimitAPI with name name holding the prim prim .

Shorthand for UsdPhysicsLimitAPI(prim, name);

Parameters:
  • prim (Prim)

  • name (str)

static GetAll()#

classmethod GetAll(prim) -> list[LimitAPI]

Return a vector of all named instances of UsdPhysicsLimitAPI on the given prim .

Parameters:

prim (Prim)

GetHighAttr() Attribute#

Upper limit.

Units: degrees or distance depending on trans or rot axis applied to. inf means not limited in positive direction.

Declaration

float physics:high = inf

C++ Type

float

Usd Type

SdfValueTypeNames->Float

GetLowAttr() Attribute#

Lower limit.

Units: degrees or distance depending on trans or rot axis applied to. -inf means not limited in negative direction.

Declaration

float physics:low = -inf

C++ Type

float

Usd Type

SdfValueTypeNames->Float

static GetSchemaAttributeNames()#

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

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.

Parameters:

includeInherited (bool)


GetSchemaAttributeNames(includeInherited, instanceName) -> list[str]

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes for a given instance name.

Does not include attributes that may be authored by custom/extended methods of the schemas involved. The names returned will have the proper namespace prefix.

Parameters:
  • includeInherited (bool)

  • instanceName (str)

static IsPhysicsLimitAPIPath()#

classmethod IsPhysicsLimitAPIPath(path, name) -> bool

Checks if the given path path is of an API schema of type PhysicsLimitAPI.

If so, it stores the instance name of the schema in name and returns true. Otherwise, it returns false.

Parameters:
  • path (Path)

  • name (str)

class pxr.UsdPhysics.MassAPI#

Defines explicit mass properties (mass, density, inertia etc.). MassAPI can be applied to any object that has a PhysicsCollisionAPI or a PhysicsRigidBodyAPI.

Methods:

Apply

classmethod Apply(prim) -> MassAPI

CanApply

classmethod CanApply(prim, whyNot) -> bool

CreateCenterOfMassAttr(defaultValue, ...)

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

CreateDensityAttr(defaultValue, writeSparsely)

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

CreateDiagonalInertiaAttr(defaultValue, ...)

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

CreateMassAttr(defaultValue, writeSparsely)

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

CreatePrincipalAxesAttr(defaultValue, ...)

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

Get

classmethod Get(stage, path) -> MassAPI

GetCenterOfMassAttr()

Center of mass in the prim's local space.

GetDensityAttr()

If non-zero, specifies the density of the object.

GetDiagonalInertiaAttr()

If non-zero, specifies diagonalized inertia tensor along the principal axes.

GetMassAttr()

If non-zero, directly specifies the mass of the object.

GetPrincipalAxesAttr()

Orientation of the inertia tensor's principal axes in the prim's local space.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

static Apply()#

classmethod Apply(prim) -> MassAPI

Applies this single-apply API schema to the given prim .

This information is stored by adding”PhysicsMassAPI”to the token- valued, listOp metadata apiSchemas on the prim.

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

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters:

prim (Prim)

static CanApply()#

classmethod CanApply(prim, whyNot) -> bool

Returns true if this single-apply API schema can be applied to the given prim .

If this schema can not be a applied to the prim, this returns false and, if provided, populates whyNot with the reason it can not be applied.

Note that if CanApply returns false, that does not necessarily imply that calling Apply will fail. Callers are expected to call CanApply before calling Apply if they want to ensure that it is valid to apply a schema.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters:
  • prim (Prim)

  • whyNot (str)

CreateCenterOfMassAttr(
defaultValue,
writeSparsely,
) Attribute#

See GetCenterOfMassAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateDensityAttr(defaultValue, writeSparsely) Attribute#

See GetDensityAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateDiagonalInertiaAttr(
defaultValue,
writeSparsely,
) Attribute#

See GetDiagonalInertiaAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateMassAttr(defaultValue, writeSparsely) Attribute#

See GetMassAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreatePrincipalAxesAttr(
defaultValue,
writeSparsely,
) Attribute#

See GetPrincipalAxesAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

static Get()#

classmethod Get(stage, path) -> MassAPI

Return a UsdPhysicsMassAPI 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:

UsdPhysicsMassAPI(stage->GetPrimAtPath(path));
Parameters:
GetCenterOfMassAttr() Attribute#

Center of mass in the prim’s local space.

Units: distance.

Declaration

point3f physics:centerOfMass = (-inf, -inf, -inf)

C++ Type

GfVec3f

Usd Type

SdfValueTypeNames->Point3f

GetDensityAttr() Attribute#

If non-zero, specifies the density of the object.

In the context of rigid body physics, density indirectly results in setting mass via (mass = density x volume of the object). How the volume is computed is up to implementation of the physics system. It is generally computed from the collision approximation rather than the graphical mesh. In the case where both density and mass are specified for the same object, mass has precedence over density. Unlike mass, child’s prim’s density overrides parent prim’s density as it is accumulative. Note that density of a collisionAPI can be also alternatively set through a PhysicsMaterialAPI. The material density has the weakest precedence in density definition. Note if density is 0.0 it is ignored. Units: mass/distance/distance/distance.

Declaration

float physics:density = 0

C++ Type

float

Usd Type

SdfValueTypeNames->Float

GetDiagonalInertiaAttr() Attribute#

If non-zero, specifies diagonalized inertia tensor along the principal axes.

Note if diagonalInertial is (0.0, 0.0, 0.0) it is ignored. Units: mass*distance*distance.

Declaration

float3 physics:diagonalInertia = (0, 0, 0)

C++ Type

GfVec3f

Usd Type

SdfValueTypeNames->Float3

GetMassAttr() Attribute#

If non-zero, directly specifies the mass of the object.

Note that any child prim can also have a mass when they apply massAPI. In this case, the precedence rule is’parent mass overrides the child’s’. This may come as counter-intuitive, but mass is a computed quantity and in general not accumulative. For example, if a parent has mass of 10, and one of two children has mass of 20, allowing child’s mass to override its parent results in a mass of -10 for the other child. Note if mass is 0.0 it is ignored. Units: mass.

Declaration

float physics:mass = 0

C++ Type

float

Usd Type

SdfValueTypeNames->Float

GetPrincipalAxesAttr() Attribute#

Orientation of the inertia tensor’s principal axes in the prim’s local space.

Declaration

quatf physics:principalAxes = (0, 0, 0, 0)

C++ Type

GfQuatf

Usd Type

SdfValueTypeNames->Quatf

static GetSchemaAttributeNames()#

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

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.

Parameters:

includeInherited (bool)

class pxr.UsdPhysics.MassUnits#

Container class for static double-precision symbols representing common mass units of measure expressed in kilograms.

Attributes:

grams = 0.001#
kilograms = 1.0#
slugs = 14.5939#
class pxr.UsdPhysics.MaterialAPI#

Adds simulation material properties to a Material. All collisions that have a relationship to this material will have their collision response defined through this material.

Methods:

Apply

classmethod Apply(prim) -> MaterialAPI

CanApply

classmethod CanApply(prim, whyNot) -> bool

CreateDensityAttr(defaultValue, writeSparsely)

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

CreateDynamicFrictionAttr(defaultValue, ...)

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

CreateRestitutionAttr(defaultValue, ...)

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

CreateStaticFrictionAttr(defaultValue, ...)

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

Get

classmethod Get(stage, path) -> MaterialAPI

GetDensityAttr()

If non-zero, defines the density of the material.

GetDynamicFrictionAttr()

Dynamic friction coefficient.

GetRestitutionAttr()

Restitution coefficient.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

GetStaticFrictionAttr()

Static friction coefficient.

static Apply()#

classmethod Apply(prim) -> MaterialAPI

Applies this single-apply API schema to the given prim .

This information is stored by adding”PhysicsMaterialAPI”to the token- valued, listOp metadata apiSchemas on the prim.

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

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters:

prim (Prim)

static CanApply()#

classmethod CanApply(prim, whyNot) -> bool

Returns true if this single-apply API schema can be applied to the given prim .

If this schema can not be a applied to the prim, this returns false and, if provided, populates whyNot with the reason it can not be applied.

Note that if CanApply returns false, that does not necessarily imply that calling Apply will fail. Callers are expected to call CanApply before calling Apply if they want to ensure that it is valid to apply a schema.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters:
  • prim (Prim)

  • whyNot (str)

CreateDensityAttr(
defaultValue,
writeSparsely,
) Attribute#

See GetDensityAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateDynamicFrictionAttr(
defaultValue,
writeSparsely,
) Attribute#

See GetDynamicFrictionAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateRestitutionAttr(
defaultValue,
writeSparsely,
) Attribute#

See GetRestitutionAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateStaticFrictionAttr(
defaultValue,
writeSparsely,
) Attribute#

See GetStaticFrictionAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

static Get()#

classmethod Get(stage, path) -> MaterialAPI

Return a UsdPhysicsMaterialAPI 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:

UsdPhysicsMaterialAPI(stage->GetPrimAtPath(path));
Parameters:
GetDensityAttr() Attribute#

If non-zero, defines the density of the material.

This can be used for body mass computation, see PhysicsMassAPI. Note that if the density is 0.0 it is ignored. Units: mass/distance/distance/distance.

Declaration

float physics:density = 0

C++ Type

float

Usd Type

SdfValueTypeNames->Float

GetDynamicFrictionAttr() Attribute#

Dynamic friction coefficient.

Unitless.

Declaration

float physics:dynamicFriction = 0

C++ Type

float

Usd Type

SdfValueTypeNames->Float

GetRestitutionAttr() Attribute#

Restitution coefficient.

Unitless.

Declaration

float physics:restitution = 0

C++ Type

float

Usd Type

SdfValueTypeNames->Float

static GetSchemaAttributeNames()#

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

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.

Parameters:

includeInherited (bool)

GetStaticFrictionAttr() Attribute#

Static friction coefficient.

Unitless.

Declaration

float physics:staticFriction = 0

C++ Type

float

Usd Type

SdfValueTypeNames->Float

class pxr.UsdPhysics.MeshCollisionAPI#

Attributes to control how a Mesh is made into a collider. Can be applied to only a USDGeomMesh in addition to its PhysicsCollisionAPI.

For any described attribute Fallback Value or Allowed Values below that are text/tokens, the actual token is published and defined in UsdPhysicsTokens. So to set an attribute to the value”rightHanded”, use UsdPhysicsTokens->rightHanded as the value.

Methods:

Apply

classmethod Apply(prim) -> MeshCollisionAPI

CanApply

classmethod CanApply(prim, whyNot) -> bool

CreateApproximationAttr(defaultValue, ...)

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

Get

classmethod Get(stage, path) -> MeshCollisionAPI

GetApproximationAttr()

Determines the mesh's collision approximation:"none"- The mesh geometry is used directly as a collider without any approximation.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

static Apply()#

classmethod Apply(prim) -> MeshCollisionAPI

Applies this single-apply API schema to the given prim .

This information is stored by adding”PhysicsMeshCollisionAPI”to the token-valued, listOp metadata apiSchemas on the prim.

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

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters:

prim (Prim)

static CanApply()#

classmethod CanApply(prim, whyNot) -> bool

Returns true if this single-apply API schema can be applied to the given prim .

If this schema can not be a applied to the prim, this returns false and, if provided, populates whyNot with the reason it can not be applied.

Note that if CanApply returns false, that does not necessarily imply that calling Apply will fail. Callers are expected to call CanApply before calling Apply if they want to ensure that it is valid to apply a schema.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters:
  • prim (Prim)

  • whyNot (str)

CreateApproximationAttr(
defaultValue,
writeSparsely,
) Attribute#

See GetApproximationAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

static Get()#

classmethod Get(stage, path) -> MeshCollisionAPI

Return a UsdPhysicsMeshCollisionAPI 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:

UsdPhysicsMeshCollisionAPI(stage->GetPrimAtPath(path));
Parameters:
GetApproximationAttr() Attribute#

Determines the mesh’s collision approximation:”none”- The mesh geometry is used directly as a collider without any approximation.

“convexDecomposition”- A convex mesh decomposition is performed. This results in a set of convex mesh colliders.”convexHull”- A convex hull of the mesh is generated and used as the collider.”boundingSphere”- A bounding sphere is computed around the mesh and used as a collider.”boundingCube”- An optimally fitting box collider is computed around the mesh.”meshSimplification”- A mesh simplification step is performed, resulting in a simplified triangle mesh collider.

Declaration

uniform token physics:approximation ="none"

C++ Type

TfToken

Usd Type

SdfValueTypeNames->Token

Variability

SdfVariabilityUniform

Allowed Values

none, convexDecomposition, convexHull, boundingSphere, boundingCube, meshSimplification

static GetSchemaAttributeNames()#

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

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.

Parameters:

includeInherited (bool)

class pxr.UsdPhysics.PrismaticJoint#

Predefined prismatic joint type (translation along prismatic joint axis is permitted.)

For any described attribute Fallback Value or Allowed Values below that are text/tokens, the actual token is published and defined in UsdPhysicsTokens. So to set an attribute to the value”rightHanded”, use UsdPhysicsTokens->rightHanded as the value.

Methods:

CreateAxisAttr(defaultValue, writeSparsely)

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

CreateLowerLimitAttr(defaultValue, writeSparsely)

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

CreateUpperLimitAttr(defaultValue, writeSparsely)

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

Define

classmethod Define(stage, path) -> PrismaticJoint

Get

classmethod Get(stage, path) -> PrismaticJoint

GetAxisAttr()

Joint axis.

GetLowerLimitAttr()

Lower limit.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

GetUpperLimitAttr()

Upper limit.

CreateAxisAttr(
defaultValue,
writeSparsely,
) Attribute#

See GetAxisAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateLowerLimitAttr(
defaultValue,
writeSparsely,
) Attribute#

See GetLowerLimitAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateUpperLimitAttr(
defaultValue,
writeSparsely,
) Attribute#

See GetUpperLimitAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

static Define()#

classmethod Define(stage, path) -> PrismaticJoint

Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefined() ) on this stage.

If a prim adhering to this schema at path is already defined on this stage, return that prim. Otherwise author an SdfPrimSpec with specifier == SdfSpecifierDef and this schema’s prim type name for the prim at path at the current EditTarget. Author SdfPrimSpec s with specifier == SdfSpecifierDef and empty typeName at the current EditTarget for any nonexistent, or existing but not Defined ancestors.

The given path must be an absolute prim path that does not contain any variant selections.

If it is impossible to author any of the necessary PrimSpecs, (for example, in case path cannot map to the current UsdEditTarget ‘s namespace) issue an error and return an invalid UsdPrim.

Note that this method may return a defined prim whose typeName does not specify this schema class, in case a stronger typeName opinion overrides the opinion at the current EditTarget.

Parameters:
static Get()#

classmethod Get(stage, path) -> PrismaticJoint

Return a UsdPhysicsPrismaticJoint 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:

UsdPhysicsPrismaticJoint(stage->GetPrimAtPath(path));
Parameters:
GetAxisAttr() Attribute#

Joint axis.

Declaration

uniform token physics:axis ="X"

C++ Type

TfToken

Usd Type

SdfValueTypeNames->Token

Variability

SdfVariabilityUniform

Allowed Values

X, Y, Z

GetLowerLimitAttr() Attribute#

Lower limit.

Units: distance. -inf means not limited in negative direction.

Declaration

float physics:lowerLimit = -inf

C++ Type

float

Usd Type

SdfValueTypeNames->Float

static GetSchemaAttributeNames()#

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

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.

Parameters:

includeInherited (bool)

GetUpperLimitAttr() Attribute#

Upper limit.

Units: distance. inf means not limited in positive direction.

Declaration

float physics:upperLimit = inf

C++ Type

float

Usd Type

SdfValueTypeNames->Float

class pxr.UsdPhysics.RevoluteJoint#

Predefined revolute joint type (rotation along revolute joint axis is permitted.)

For any described attribute Fallback Value or Allowed Values below that are text/tokens, the actual token is published and defined in UsdPhysicsTokens. So to set an attribute to the value”rightHanded”, use UsdPhysicsTokens->rightHanded as the value.

Methods:

CreateAxisAttr(defaultValue, writeSparsely)

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

CreateLowerLimitAttr(defaultValue, writeSparsely)

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

CreateUpperLimitAttr(defaultValue, writeSparsely)

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

Define

classmethod Define(stage, path) -> RevoluteJoint

Get

classmethod Get(stage, path) -> RevoluteJoint

GetAxisAttr()

Joint axis.

GetLowerLimitAttr()

Lower limit.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

GetUpperLimitAttr()

Upper limit.

CreateAxisAttr(defaultValue, writeSparsely) Attribute#

See GetAxisAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateLowerLimitAttr(
defaultValue,
writeSparsely,
) Attribute#

See GetLowerLimitAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateUpperLimitAttr(
defaultValue,
writeSparsely,
) Attribute#

See GetUpperLimitAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

static Define()#

classmethod Define(stage, path) -> RevoluteJoint

Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefined() ) on this stage.

If a prim adhering to this schema at path is already defined on this stage, return that prim. Otherwise author an SdfPrimSpec with specifier == SdfSpecifierDef and this schema’s prim type name for the prim at path at the current EditTarget. Author SdfPrimSpec s with specifier == SdfSpecifierDef and empty typeName at the current EditTarget for any nonexistent, or existing but not Defined ancestors.

The given path must be an absolute prim path that does not contain any variant selections.

If it is impossible to author any of the necessary PrimSpecs, (for example, in case path cannot map to the current UsdEditTarget ‘s namespace) issue an error and return an invalid UsdPrim.

Note that this method may return a defined prim whose typeName does not specify this schema class, in case a stronger typeName opinion overrides the opinion at the current EditTarget.

Parameters:
static Get()#

classmethod Get(stage, path) -> RevoluteJoint

Return a UsdPhysicsRevoluteJoint 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:

UsdPhysicsRevoluteJoint(stage->GetPrimAtPath(path));
Parameters:
GetAxisAttr() Attribute#

Joint axis.

Declaration

uniform token physics:axis ="X"

C++ Type

TfToken

Usd Type

SdfValueTypeNames->Token

Variability

SdfVariabilityUniform

Allowed Values

X, Y, Z

GetLowerLimitAttr() Attribute#

Lower limit.

Units: degrees. -inf means not limited in negative direction.

Declaration

float physics:lowerLimit = -inf

C++ Type

float

Usd Type

SdfValueTypeNames->Float

static GetSchemaAttributeNames()#

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

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.

Parameters:

includeInherited (bool)

GetUpperLimitAttr() Attribute#

Upper limit.

Units: degrees. inf means not limited in positive direction.

Declaration

float physics:upperLimit = inf

C++ Type

float

Usd Type

SdfValueTypeNames->Float

class pxr.UsdPhysics.RigidBodyAPI#

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.

Classes:

Methods:

Apply

classmethod Apply(prim) -> RigidBodyAPI

CanApply

classmethod CanApply(prim, whyNot) -> bool

ComputeMassProperties(diagonalInertia, com, ...)

Compute mass properties of the rigid body diagonalInertia Computed diagonal of the inertial tensor for the rigid body.

CreateAngularVelocityAttr(defaultValue, ...)

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

CreateKinematicEnabledAttr(defaultValue, ...)

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

CreateRigidBodyEnabledAttr(defaultValue, ...)

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

CreateSimulationOwnerRel()

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

CreateStartsAsleepAttr(defaultValue, ...)

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

CreateVelocityAttr(defaultValue, writeSparsely)

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

Get

classmethod Get(stage, path) -> RigidBodyAPI

GetAngularVelocityAttr()

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

GetKinematicEnabledAttr()

Determines whether the body is kinematic or not.

GetRigidBodyEnabledAttr()

Determines if this PhysicsRigidBodyAPI is enabled.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

GetSimulationOwnerRel()

Single PhysicsScene that will simulate this body.

GetStartsAsleepAttr()

Determines if the body is asleep when the simulation starts.

GetVelocityAttr()

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

class MassInformation#

Attributes:

property centerOfMass#
property inertia#
property localPos#
property localRot#
property volume#
static Apply()#

classmethod Apply(prim) -> RigidBodyAPI

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.

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.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters:

prim (Prim)

static CanApply()#

classmethod CanApply(prim, whyNot) -> bool

Returns true if this single-apply API schema can be applied to the given prim .

If this schema can not be a applied to the prim, this returns false and, if provided, populates whyNot with the reason it can not be applied.

Note that if CanApply returns false, that does not necessarily imply that calling Apply will fail. Callers are expected to call CanApply before calling Apply if they want to ensure that it is valid to apply a schema.

UsdPrim::GetAppliedSchemas()

UsdPrim::HasAPI()

UsdPrim::CanApplyAPI()

UsdPrim::ApplyAPI()

UsdPrim::RemoveAPI()

Parameters:
  • prim (Prim)

  • whyNot (str)

ComputeMassProperties(
diagonalInertia,
com,
principalAxes,
massInfoFn,
) float#

Compute mass properties of the rigid body diagonalInertia Computed diagonal of the inertial tensor for the rigid body.

com Computed center of mass for the rigid body. principalAxes Inertia tensor’s principal axes orienttion for the rigid body. massInfoFn Callback function to get collision mass information.

Computed mass of the rigid body

Parameters:
  • diagonalInertia (Vec3f)

  • com (Vec3f)

  • principalAxes (Quatf)

  • massInfoFn (MassInformationFn)

CreateAngularVelocityAttr(
defaultValue,
writeSparsely,
) Attribute#

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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateKinematicEnabledAttr(
defaultValue,
writeSparsely,
) Attribute#

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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateRigidBodyEnabledAttr(
defaultValue,
writeSparsely,
) Attribute#

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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateSimulationOwnerRel() Relationship#

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

CreateStartsAsleepAttr(
defaultValue,
writeSparsely,
) Attribute#

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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateVelocityAttr(
defaultValue,
writeSparsely,
) Attribute#

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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

static Get()#

classmethod Get(stage, path) -> RigidBodyAPI

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));
Parameters:
GetAngularVelocityAttr() Attribute#

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

GetKinematicEnabledAttr() Attribute#

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

GetRigidBodyEnabledAttr() Attribute#

Determines if this PhysicsRigidBodyAPI is enabled.

Declaration

bool physics:rigidBodyEnabled = 1

C++ Type

bool

Usd Type

SdfValueTypeNames->Bool

static GetSchemaAttributeNames()#

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

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.

Parameters:

includeInherited (bool)

GetSimulationOwnerRel() Relationship#

Single PhysicsScene that will simulate this body.

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

GetStartsAsleepAttr() Attribute#

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

GetVelocityAttr() Attribute#

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

class pxr.UsdPhysics.Scene#

General physics simulation properties, required for simulation.

Methods:

CreateGravityDirectionAttr(defaultValue, ...)

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

CreateGravityMagnitudeAttr(defaultValue, ...)

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

Define

classmethod Define(stage, path) -> Scene

Get

classmethod Get(stage, path) -> Scene

GetGravityDirectionAttr()

Gravity direction vector in simulation world space.

GetGravityMagnitudeAttr()

Gravity acceleration magnitude in simulation world space.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

CreateGravityDirectionAttr(
defaultValue,
writeSparsely,
) Attribute#

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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateGravityMagnitudeAttr(
defaultValue,
writeSparsely,
) Attribute#

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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

static Define()#

classmethod Define(stage, path) -> Scene

Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefined() ) on this stage.

If a prim adhering to this schema at path is already defined on this stage, return that prim. Otherwise author an SdfPrimSpec with specifier == SdfSpecifierDef and this schema’s prim type name for the prim at path at the current EditTarget. Author SdfPrimSpec s with specifier == SdfSpecifierDef and empty typeName at the current EditTarget for any nonexistent, or existing but not Defined ancestors.

The given path must be an absolute prim path that does not contain any variant selections.

If it is impossible to author any of the necessary PrimSpecs, (for example, in case path cannot map to the current UsdEditTarget ‘s namespace) issue an error and return an invalid UsdPrim.

Note that this method may return a defined prim whose typeName does not specify this schema class, in case a stronger typeName opinion overrides the opinion at the current EditTarget.

Parameters:
static Get()#

classmethod Get(stage, path) -> Scene

Return a UsdPhysicsScene 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:

UsdPhysicsScene(stage->GetPrimAtPath(path));
Parameters:
GetGravityDirectionAttr() Attribute#

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

GetGravityMagnitudeAttr() Attribute#

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

static GetSchemaAttributeNames()#

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

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.

Parameters:

includeInherited (bool)

class pxr.UsdPhysics.SphericalJoint#

Predefined spherical joint type (Removes linear degrees of freedom, cone limit may restrict the motion in a given range.) It allows two limit values, which when equal create a circular, else an elliptic cone limit around the limit axis.

For any described attribute Fallback Value or Allowed Values below that are text/tokens, the actual token is published and defined in UsdPhysicsTokens. So to set an attribute to the value”rightHanded”, use UsdPhysicsTokens->rightHanded as the value.

Methods:

CreateAxisAttr(defaultValue, writeSparsely)

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

CreateConeAngle0LimitAttr(defaultValue, ...)

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

CreateConeAngle1LimitAttr(defaultValue, ...)

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

Define

classmethod Define(stage, path) -> SphericalJoint

Get

classmethod Get(stage, path) -> SphericalJoint

GetAxisAttr()

Cone limit axis.

GetConeAngle0LimitAttr()

Cone limit from the primary joint axis in the local0 frame toward the next axis.

GetConeAngle1LimitAttr()

Cone limit from the primary joint axis in the local0 frame toward the second to next axis.

GetSchemaAttributeNames

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

CreateAxisAttr(
defaultValue,
writeSparsely,
) Attribute#

See GetAxisAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateConeAngle0LimitAttr(
defaultValue,
writeSparsely,
) Attribute#

See GetConeAngle0LimitAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

CreateConeAngle1LimitAttr(
defaultValue,
writeSparsely,
) Attribute#

See GetConeAngle1LimitAttr() , 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 .

Parameters:
  • defaultValue (VtValue)

  • writeSparsely (bool)

static Define()#

classmethod Define(stage, path) -> SphericalJoint

Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefined() ) on this stage.

If a prim adhering to this schema at path is already defined on this stage, return that prim. Otherwise author an SdfPrimSpec with specifier == SdfSpecifierDef and this schema’s prim type name for the prim at path at the current EditTarget. Author SdfPrimSpec s with specifier == SdfSpecifierDef and empty typeName at the current EditTarget for any nonexistent, or existing but not Defined ancestors.

The given path must be an absolute prim path that does not contain any variant selections.

If it is impossible to author any of the necessary PrimSpecs, (for example, in case path cannot map to the current UsdEditTarget ‘s namespace) issue an error and return an invalid UsdPrim.

Note that this method may return a defined prim whose typeName does not specify this schema class, in case a stronger typeName opinion overrides the opinion at the current EditTarget.

Parameters:
static Get()#

classmethod Get(stage, path) -> SphericalJoint

Return a UsdPhysicsSphericalJoint 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:

UsdPhysicsSphericalJoint(stage->GetPrimAtPath(path));
Parameters:
GetAxisAttr() Attribute#

Cone limit axis.

Declaration

uniform token physics:axis ="X"

C++ Type

TfToken

Usd Type

SdfValueTypeNames->Token

Variability

SdfVariabilityUniform

Allowed Values

X, Y, Z

GetConeAngle0LimitAttr() Attribute#

Cone limit from the primary joint axis in the local0 frame toward the next axis.

(Next axis of X is Y, and of Z is X.) A negative value means not limited. Units: degrees.

Declaration

float physics:coneAngle0Limit = -1

C++ Type

float

Usd Type

SdfValueTypeNames->Float

GetConeAngle1LimitAttr() Attribute#

Cone limit from the primary joint axis in the local0 frame toward the second to next axis.

A negative value means not limited. Units: degrees.

Declaration

float physics:coneAngle1Limit = -1

C++ Type

float

Usd Type

SdfValueTypeNames->Float

static GetSchemaAttributeNames()#

classmethod GetSchemaAttributeNames(includeInherited) -> list[str]

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.

Parameters:

includeInherited (bool)

class pxr.UsdPhysics.Tokens#

Attributes:

acceleration = 'acceleration'#
angular = 'angular'#
boundingCube = 'boundingCube'#
boundingSphere = 'boundingSphere'#
colliders = 'colliders'#
convexDecomposition = 'convexDecomposition'#
convexHull = 'convexHull'#
distance = 'distance'#
drive = 'drive'#
drive_MultipleApplyTemplate_PhysicsDamping = 'drive:__INSTANCE_NAME__:physics:damping'#
drive_MultipleApplyTemplate_PhysicsMaxForce = 'drive:__INSTANCE_NAME__:physics:maxForce'#
drive_MultipleApplyTemplate_PhysicsStiffness = 'drive:__INSTANCE_NAME__:physics:stiffness'#
drive_MultipleApplyTemplate_PhysicsTargetPosition = 'drive:__INSTANCE_NAME__:physics:targetPosition'#
drive_MultipleApplyTemplate_PhysicsTargetVelocity = 'drive:__INSTANCE_NAME__:physics:targetVelocity'#
drive_MultipleApplyTemplate_PhysicsType = 'drive:__INSTANCE_NAME__:physics:type'#
force = 'force'#
kilogramsPerUnit = 'kilogramsPerUnit'#
limit = 'limit'#
limit_MultipleApplyTemplate_PhysicsHigh = 'limit:__INSTANCE_NAME__:physics:high'#
limit_MultipleApplyTemplate_PhysicsLow = 'limit:__INSTANCE_NAME__:physics:low'#
linear = 'linear'#
meshSimplification = 'meshSimplification'#
none = 'none'#
physicsAngularVelocity = 'physics:angularVelocity'#
physicsApproximation = 'physics:approximation'#
physicsAxis = 'physics:axis'#
physicsBody0 = 'physics:body0'#
physicsBody1 = 'physics:body1'#
physicsBreakForce = 'physics:breakForce'#
physicsBreakTorque = 'physics:breakTorque'#
physicsCenterOfMass = 'physics:centerOfMass'#
physicsCollisionEnabled = 'physics:collisionEnabled'#
physicsConeAngle0Limit = 'physics:coneAngle0Limit'#
physicsConeAngle1Limit = 'physics:coneAngle1Limit'#
physicsDensity = 'physics:density'#
physicsDiagonalInertia = 'physics:diagonalInertia'#
physicsDynamicFriction = 'physics:dynamicFriction'#
physicsExcludeFromArticulation = 'physics:excludeFromArticulation'#
physicsFilteredGroups = 'physics:filteredGroups'#
physicsFilteredPairs = 'physics:filteredPairs'#
physicsGravityDirection = 'physics:gravityDirection'#
physicsGravityMagnitude = 'physics:gravityMagnitude'#
physicsInvertFilteredGroups = 'physics:invertFilteredGroups'#
physicsJointEnabled = 'physics:jointEnabled'#
physicsKinematicEnabled = 'physics:kinematicEnabled'#
physicsLocalPos0 = 'physics:localPos0'#
physicsLocalPos1 = 'physics:localPos1'#
physicsLocalRot0 = 'physics:localRot0'#
physicsLocalRot1 = 'physics:localRot1'#
physicsLowerLimit = 'physics:lowerLimit'#
physicsMass = 'physics:mass'#
physicsMaxDistance = 'physics:maxDistance'#
physicsMergeGroup = 'physics:mergeGroup'#
physicsMinDistance = 'physics:minDistance'#
physicsPrincipalAxes = 'physics:principalAxes'#
physicsRestitution = 'physics:restitution'#
physicsRigidBodyEnabled = 'physics:rigidBodyEnabled'#
physicsSimulationOwner = 'physics:simulationOwner'#
physicsStartsAsleep = 'physics:startsAsleep'#
physicsStaticFriction = 'physics:staticFriction'#
physicsUpperLimit = 'physics:upperLimit'#
physicsVelocity = 'physics:velocity'#
rotX = 'rotX'#
rotY = 'rotY'#
rotZ = 'rotZ'#
transX = 'transX'#
transY = 'transY'#
transZ = 'transZ'#
x = 'X'#
y = 'Y'#
z = 'Z'#