This document is for a version of USD that is under development. See this page for the current release.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
collisionAPI.h
Go to the documentation of this file.
1//
2// Copyright 2016 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
7#ifndef USDPHYSICS_GENERATED_COLLISIONAPI_H
8#define USDPHYSICS_GENERATED_COLLISIONAPI_H
9
11
12#include "pxr/pxr.h"
13#include "pxr/usd/usdPhysics/api.h"
15#include "pxr/usd/usd/prim.h"
16#include "pxr/usd/usd/stage.h"
18
19#include "pxr/base/vt/value.h"
20
21#include "pxr/base/gf/vec3d.h"
22#include "pxr/base/gf/vec3f.h"
24
25#include "pxr/base/tf/token.h"
26#include "pxr/base/tf/type.h"
27
28PXR_NAMESPACE_OPEN_SCOPE
29
30class SdfAssetPath;
31
32// -------------------------------------------------------------------------- //
33// PHYSICSCOLLISIONAPI //
34// -------------------------------------------------------------------------- //
35
45{
46public:
50 static const UsdSchemaKind schemaKind = UsdSchemaKind::SingleApplyAPI;
51
56 explicit UsdPhysicsCollisionAPI(const UsdPrim& prim=UsdPrim())
57 : UsdAPISchemaBase(prim)
58 {
59 }
60
64 explicit UsdPhysicsCollisionAPI(const UsdSchemaBase& schemaObj)
65 : UsdAPISchemaBase(schemaObj)
66 {
67 }
68
70 USDPHYSICS_API
72
76 USDPHYSICS_API
77 static const TfTokenVector &
78 GetSchemaAttributeNames(bool includeInherited=true);
79
89 USDPHYSICS_API
91 Get(const UsdStagePtr &stage, const SdfPath &path);
92
93
110 USDPHYSICS_API
111 static bool
112 CanApply(const UsdPrim &prim, std::string *whyNot=nullptr);
113
129 USDPHYSICS_API
131 Apply(const UsdPrim &prim);
132
133protected:
137 USDPHYSICS_API
139
140private:
141 // needs to invoke _GetStaticTfType.
142 friend class UsdSchemaRegistry;
143 USDPHYSICS_API
144 static const TfType &_GetStaticTfType();
145
146 static bool _IsTypedSchema();
147
148 // override SchemaBase virtuals.
149 USDPHYSICS_API
150 const TfType &_GetTfType() const override;
151
152public:
153 // --------------------------------------------------------------------- //
154 // COLLISIONENABLED
155 // --------------------------------------------------------------------- //
163 USDPHYSICS_API
165
171 USDPHYSICS_API
172 UsdAttribute CreateCollisionEnabledAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
173
174public:
175 // --------------------------------------------------------------------- //
176 // SIMULATIONOWNER
177 // --------------------------------------------------------------------- //
183 USDPHYSICS_API
185
188 USDPHYSICS_API
190
191public:
192 // ===================================================================== //
193 // Feel free to add custom code below this line, it will be preserved by
194 // the code generator.
195 //
196 // Just remember to:
197 // - Close the class declaration with };
198 // - Close the namespace with PXR_NAMESPACE_CLOSE_SCOPE
199 // - Close the include guard with #endif
200 // ===================================================================== //
201 // --(BEGIN CUSTOM CODE)--
202};
203
204PXR_NAMESPACE_CLOSE_SCOPE
205
206#endif
Contains an asset path and an optional resolved path.
Definition: assetPath.h:30
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:274
TfType represents a dynamic runtime type.
Definition: type.h:48
The base class for all API schemas.
Definition: apiSchemaBase.h:99
Scenegraph object for authoring and retrieving numeric, string, and array valued data,...
Definition: attribute.h:160
Applies collision attributes to a UsdGeomXformable prim.
Definition: collisionAPI.h:45
static USDPHYSICS_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.
static USDPHYSICS_API UsdPhysicsCollisionAPI Apply(const UsdPrim &prim)
Applies this single-apply API schema to the given prim.
UsdPhysicsCollisionAPI(const UsdSchemaBase &schemaObj)
Construct a UsdPhysicsCollisionAPI on the prim held by schemaObj .
Definition: collisionAPI.h:64
static const UsdSchemaKind schemaKind
Compile time constant representing what kind of schema this class is.
Definition: collisionAPI.h:50
USDPHYSICS_API UsdRelationship GetSimulationOwnerRel() const
Single PhysicsScene that will simulate this collider.
virtual USDPHYSICS_API ~UsdPhysicsCollisionAPI()
Destructor.
USDPHYSICS_API UsdAttribute CreateCollisionEnabledAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetCollisionEnabledAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
static USDPHYSICS_API UsdPhysicsCollisionAPI Get(const UsdStagePtr &stage, const SdfPath &path)
Return a UsdPhysicsCollisionAPI holding the prim adhering to this schema at path on stage.
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 CreateSimulationOwnerRel() const
See GetSimulationOwnerRel(), and also Create vs Get Property Methods for when to use Get vs Create.
UsdPhysicsCollisionAPI(const UsdPrim &prim=UsdPrim())
Construct a UsdPhysicsCollisionAPI on UsdPrim prim .
Definition: collisionAPI.h:56
USDPHYSICS_API UsdAttribute GetCollisionEnabledAttr() const
Determines if the PhysicsCollisionAPI is enabled.
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 ...
Definition: prim.h:117
A UsdRelationship creates dependencies between scenegraph objects by allowing a prim to target other ...
Definition: relationship.h:111
The base class for all schema types in Usd.
Definition: schemaBase.h:39
Singleton registry that provides access to schema type information and the prim definitions for regis...
Provides a container which may hold any type, and provides introspection and iteration over array typ...
Definition: value.h:147
UsdSchemaKind
An enum representing which kind of schema a given schema class belongs to.
Definition: common.h:112
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...
std::vector< TfToken > TfTokenVector
Convenience types.
Definition: token.h:440