All Classes Files Functions Variables Pages
PhysxSchemaPhysxMeshMergeCollisionAPI Class Reference

PhysxMeshMergeCollisionAPI enables implicit mesh merging of given meshes with respect to physics collision geometry representation. More...

Inherits UsdAPISchemaBase.

Public Member Functions

 PhysxSchemaPhysxMeshMergeCollisionAPI (const UsdPrim &prim=UsdPrim())
 Construct a PhysxSchemaPhysxMeshMergeCollisionAPI on UsdPrim prim . More...
 
 PhysxSchemaPhysxMeshMergeCollisionAPI (const UsdSchemaBase &schemaObj)
 Construct a PhysxSchemaPhysxMeshMergeCollisionAPI on the prim held by schemaObj . More...
 
virtual PHYSXSCHEMA_API ~PhysxSchemaPhysxMeshMergeCollisionAPI ()
 Destructor. More...
 
PHYSXSCHEMA_API UsdCollectionAPI GetCollisionMeshesCollectionAPI () const
 Return the UsdCollectionAPI interface used for defining what prims belong to the mesh merge API. More...
 

Static Public Member Functions

static PHYSXSCHEMA_API const
TfTokenVector & 
GetSchemaAttributeNames (bool includeInherited=true)
 Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes. More...
 
static PHYSXSCHEMA_API
PhysxSchemaPhysxMeshMergeCollisionAPI 
Get (const UsdStagePtr &stage, const SdfPath &path)
 Return a PhysxSchemaPhysxMeshMergeCollisionAPI holding the prim adhering to this schema at path on stage. More...
 
static PHYSXSCHEMA_API bool CanApply (const UsdPrim &prim, std::string *whyNot=nullptr)
 Returns true if this single-apply API schema can be applied to the given prim. More...
 
static PHYSXSCHEMA_API
PhysxSchemaPhysxMeshMergeCollisionAPI 
Apply (const UsdPrim &prim)
 Applies this single-apply API schema to the given prim. More...
 

Static Public Attributes

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

Protected Member Functions

PHYSXSCHEMA_API UsdSchemaKind _GetSchemaKind () const override
 Returns the kind of schema this class belongs to. More...
 

Friends

class UsdSchemaRegistry
 

Detailed Description

PhysxMeshMergeCollisionAPI enables implicit mesh merging of given meshes with respect to physics collision geometry representation.

It is expected that this API extends the UsdPhysics.CollisionAPI definition, the UsdPhysics.CollisionAPI is still required to be present together with this API to define the collision properties. All meshes that belong to the collisionmeshes collection will be merged into one mesh that will be used for collision representation. Note that the collection can also define what meshes should be excluded from the selection.

This means that for example all meshes that belong to the collection will be represented as one convexHull rather than dozens of convexHulls per mesh.

It is possible to collect meshes through the collection that do not belong to the same hierarchy. This is allowed, however if the collisions are part of a rigid body, the meshes that do not belong to the rigid body hierarchy wont move. As defined in the rigid body specification, only rigid body transformation is updated.

Note that any changes to the meshes during runtime will get ignored.

Definition at line 69 of file physxMeshMergeCollisionAPI.h.

Constructor & Destructor Documentation

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

Construct a PhysxSchemaPhysxMeshMergeCollisionAPI on UsdPrim prim .

Equivalent to PhysxSchemaPhysxMeshMergeCollisionAPI::Get(prim.GetStage(), prim.GetPath()) for a valid prim, but will not immediately throw an error for an invalid prim

Definition at line 81 of file physxMeshMergeCollisionAPI.h.

PhysxSchemaPhysxMeshMergeCollisionAPI ( const UsdSchemaBase &  schemaObj)
inlineexplicit

Construct a PhysxSchemaPhysxMeshMergeCollisionAPI on the prim held by schemaObj .

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

Definition at line 89 of file physxMeshMergeCollisionAPI.h.

virtual PHYSXSCHEMA_API ~PhysxSchemaPhysxMeshMergeCollisionAPI ( )
virtual

Destructor.

Member Function Documentation

PHYSXSCHEMA_API UsdSchemaKind _GetSchemaKind ( ) const
overrideprotected

Returns the kind of schema this class belongs to.

See Also
UsdSchemaKind
static PHYSXSCHEMA_API PhysxSchemaPhysxMeshMergeCollisionAPI Apply ( const UsdPrim &  prim)
static

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

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

Returns
A valid PhysxSchemaPhysxMeshMergeCollisionAPI object is returned upon success. An invalid (or empty) PhysxSchemaPhysxMeshMergeCollisionAPI object is returned upon failure. See UsdPrim::ApplyAPI() for conditions resulting in failure.
See Also
UsdPrim::GetAppliedSchemas()
UsdPrim::HasAPI()
UsdPrim::CanApplyAPI()
UsdPrim::ApplyAPI()
UsdPrim::RemoveAPI()
static PHYSXSCHEMA_API bool CanApply ( const UsdPrim &  prim,
std::string *  whyNot = nullptr 
)
static

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.

See Also
UsdPrim::GetAppliedSchemas()
UsdPrim::HasAPI()
UsdPrim::CanApplyAPI()
UsdPrim::ApplyAPI()
UsdPrim::RemoveAPI()
static PHYSXSCHEMA_API PhysxSchemaPhysxMeshMergeCollisionAPI Get ( const UsdStagePtr &  stage,
const SdfPath &  path 
)
static

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

* PhysxSchemaPhysxMeshMergeCollisionAPI(stage->GetPrimAtPath(path));
*
PHYSXSCHEMA_API UsdCollectionAPI GetCollisionMeshesCollectionAPI ( ) const

Return the UsdCollectionAPI interface used for defining what prims belong to the mesh merge API.

static PHYSXSCHEMA_API const TfTokenVector& GetSchemaAttributeNames ( bool  includeInherited = true)
static

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

Does not include attributes that may be authored by custom/extended methods of the schemas involved.

Member Data Documentation

const UsdSchemaKind schemaKind = UsdSchemaKind::SingleApplyAPI
static

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

See Also
UsdSchemaKind

Definition at line 75 of file physxMeshMergeCollisionAPI.h.


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