24#ifndef USDPHYSICS_GENERATED_COLLISIONGROUP_H
25#define USDPHYSICS_GENERATED_COLLISIONGROUP_H
30#include "pxr/usd/usdPhysics/api.h"
38#include "pxr/base/vt/value.h"
45#include "pxr/base/tf/type.h"
47PXR_NAMESPACE_OPEN_SCOPE
152 static const TfType &_GetStaticTfType();
154 static bool _IsTypedSchema();
158 const TfType &_GetTfType()
const override;
255 const unsigned int idxB)
const;
265 SdfPathVector _groups;
268 std::vector<bool> _enabled;
275 static USDPHYSICS_API
279PXR_NAMESPACE_CLOSE_SCOPE
Contains an asset path and an optional resolved path.
A path value used to locate objects in layers or scenegraphs.
TfType represents a dynamic runtime type.
Scenegraph object for authoring and retrieving numeric, string, and array valued data,...
This is a general purpose API schema, used to describe a collection of heterogeneous objects within t...
Defines a collision group for coarse filtering.
USDPHYSICS_API UsdAttribute CreateInvertFilteredGroupsAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetInvertFilteredGroupsAttr(), and also Create vs Get Property Methods for when to use Get vs Cre...
USDPHYSICS_API UsdRelationship CreateFilteredGroupsRel() const
See GetFilteredGroupsRel(), and also Create vs Get Property Methods for when to use Get vs Create.
USDPHYSICS_API UsdAttribute GetMergeGroupNameAttr() const
If non-empty, any collision groups in a stage with a matching mergeGroup should be considered to refe...
USDPHYSICS_API UsdAttribute CreateMergeGroupNameAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetMergeGroupNameAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
static const UsdSchemaKind schemaKind
Compile time constant representing what kind of schema this class is.
USDPHYSICS_API UsdCollectionAPI GetCollidersCollectionAPI() const
Return the UsdCollectionAPI interface used for defining what colliders belong to the CollisionGroup.
static USDPHYSICS_API UsdPhysicsCollisionGroup Define(const UsdStagePtr &stage, const SdfPath &path)
Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefin...
virtual USDPHYSICS_API ~UsdPhysicsCollisionGroup()
Destructor.
UsdPhysicsCollisionGroup(const UsdPrim &prim=UsdPrim())
Construct a UsdPhysicsCollisionGroup on UsdPrim prim .
static USDPHYSICS_API CollisionGroupTable ComputeCollisionGroupTable(const UsdStage &stage)
Compute a table encoding all the collision groups filter rules for a stage.
UsdPhysicsCollisionGroup(const UsdSchemaBase &schemaObj)
Construct a UsdPhysicsCollisionGroup on the prim held by schemaObj .
static USDPHYSICS_API UsdPhysicsCollisionGroup Get(const UsdStagePtr &stage, const SdfPath &path)
Return a UsdPhysicsCollisionGroup holding the prim adhering to this schema at path on stage.
USDPHYSICS_API UsdAttribute GetInvertFilteredGroupsAttr() const
Normally, the filter will disable collisions against the selected filter groups.
static USDPHYSICS_API const TfTokenVector & GetSchemaAttributeNames(bool includeInherited=true)
Return a vector of names of all pre-declared attributes for this schema class and all its ancestor cl...
USDPHYSICS_API UsdRelationship GetFilteredGroupsRel() const
References a list of PhysicsCollisionGroups with which collisions should be ignored.
USDPHYSICS_API UsdSchemaKind _GetSchemaKind() const override
Returns the kind of schema this class belongs to.
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
A UsdRelationship creates dependencies between scenegraph objects by allowing a prim to target other ...
The base class for all schema types in Usd.
Singleton registry that provides access to schema type information and the prim definitions for regis...
The outermost container for scene description, which owns and presents composed prims as a scenegraph...
The base class for all typed schemas (those that can impart a typeName to a UsdPrim),...
Provides a container which may hold any type, and provides introspection and iteration over array typ...
UsdSchemaKind
An enum representing which kind of schema a given schema class belongs to.
Utility structure generated by ComputeCollisionGroupTable(); contains a table describing which pairs ...
USDPHYSICS_API bool IsCollisionEnabled(const SdfPath &primA, const SdfPath &primB) const
Return true if the groups primA and primB collide.
USDPHYSICS_API const SdfPathVector & GetCollisionGroups() const
Return the set of all UsdPhysicsCollisionGroup which this table contains.
USDPHYSICS_API bool IsCollisionEnabled(const unsigned int idxA, const unsigned int idxB) const
Return true if the groups at indices idxA and idxB collide.
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...
std::vector< TfToken > TfTokenVector
Convenience types.