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
driveAPI.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_DRIVEAPI_H
8#define USDPHYSICS_GENERATED_DRIVEAPI_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// PHYSICSDRIVEAPI //
34// -------------------------------------------------------------------------- //
35
54{
55public:
59 static const UsdSchemaKind schemaKind = UsdSchemaKind::MultipleApplyAPI;
60
71 const UsdPrim& prim=UsdPrim(), const TfToken &name=TfToken())
72 : UsdAPISchemaBase(prim, /*instanceName*/ name)
73 { }
74
80 const UsdSchemaBase& schemaObj, const TfToken &name)
81 : UsdAPISchemaBase(schemaObj, /*instanceName*/ name)
82 { }
83
85 USDPHYSICS_API
87
91 USDPHYSICS_API
92 static const TfTokenVector &
93 GetSchemaAttributeNames(bool includeInherited=true);
94
100 USDPHYSICS_API
101 static TfTokenVector
102 GetSchemaAttributeNames(bool includeInherited, const TfToken &instanceName);
103
105 TfToken GetName() const {
106 return _GetInstanceName();
107 }
108
123 USDPHYSICS_API
124 static UsdPhysicsDriveAPI
125 Get(const UsdStagePtr &stage, const SdfPath &path);
126
129 USDPHYSICS_API
130 static UsdPhysicsDriveAPI
131 Get(const UsdPrim &prim, const TfToken &name);
132
135 USDPHYSICS_API
136 static std::vector<UsdPhysicsDriveAPI>
137 GetAll(const UsdPrim &prim);
138
141 USDPHYSICS_API
142 static bool
144
148 USDPHYSICS_API
149 static bool
151
168 USDPHYSICS_API
169 static bool
170 CanApply(const UsdPrim &prim, const TfToken &name,
171 std::string *whyNot=nullptr);
172
192 USDPHYSICS_API
193 static UsdPhysicsDriveAPI
194 Apply(const UsdPrim &prim, const TfToken &name);
195
196protected:
200 USDPHYSICS_API
202
203private:
204 // needs to invoke _GetStaticTfType.
205 friend class UsdSchemaRegistry;
206 USDPHYSICS_API
207 static const TfType &_GetStaticTfType();
208
209 static bool _IsTypedSchema();
210
211 // override SchemaBase virtuals.
212 USDPHYSICS_API
213 const TfType &_GetTfType() const override;
214
215public:
216 // --------------------------------------------------------------------- //
217 // TYPE
218 // --------------------------------------------------------------------- //
229 USDPHYSICS_API
231
237 USDPHYSICS_API
238 UsdAttribute CreateTypeAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
239
240public:
241 // --------------------------------------------------------------------- //
242 // MAXFORCE
243 // --------------------------------------------------------------------- //
255 USDPHYSICS_API
257
263 USDPHYSICS_API
264 UsdAttribute CreateMaxForceAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
265
266public:
267 // --------------------------------------------------------------------- //
268 // TARGETPOSITION
269 // --------------------------------------------------------------------- //
279 USDPHYSICS_API
281
287 USDPHYSICS_API
288 UsdAttribute CreateTargetPositionAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
289
290public:
291 // --------------------------------------------------------------------- //
292 // TARGETVELOCITY
293 // --------------------------------------------------------------------- //
303 USDPHYSICS_API
305
311 USDPHYSICS_API
312 UsdAttribute CreateTargetVelocityAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
313
314public:
315 // --------------------------------------------------------------------- //
316 // DAMPING
317 // --------------------------------------------------------------------- //
327 USDPHYSICS_API
329
335 USDPHYSICS_API
336 UsdAttribute CreateDampingAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
337
338public:
339 // --------------------------------------------------------------------- //
340 // STIFFNESS
341 // --------------------------------------------------------------------- //
351 USDPHYSICS_API
353
359 USDPHYSICS_API
360 UsdAttribute CreateStiffnessAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
361
362public:
363 // ===================================================================== //
364 // Feel free to add custom code below this line, it will be preserved by
365 // the code generator.
366 //
367 // Just remember to:
368 // - Close the class declaration with };
369 // - Close the namespace with PXR_NAMESPACE_CLOSE_SCOPE
370 // - Close the include guard with #endif
371 // ===================================================================== //
372 // --(BEGIN CUSTOM CODE)--
373};
374
375PXR_NAMESPACE_CLOSE_SCOPE
376
377#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
Token for efficient comparison, assignment, and hashing of known strings.
Definition: token.h:71
TfType represents a dynamic runtime type.
Definition: type.h:48
The base class for all API schemas.
Definition: apiSchemaBase.h:99
const TfToken & _GetInstanceName() const
Returns the instance name of the API schema object belonging to a multiple-apply API schema.
Scenegraph object for authoring and retrieving numeric, string, and array valued data,...
Definition: attribute.h:160
The PhysicsDriveAPI when applied to any joint primitive will drive the joint towards a given target.
Definition: driveAPI.h:54
static USDPHYSICS_API bool CanApply(const UsdPrim &prim, const TfToken &name, std::string *whyNot=nullptr)
Returns true if this multiple-apply API schema can be applied, with the given instance name,...
USDPHYSICS_API UsdAttribute CreateDampingAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetDampingAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
static USDPHYSICS_API bool IsSchemaPropertyBaseName(const TfToken &baseName)
Checks if the given name baseName is the base name of a property of PhysicsDriveAPI.
virtual USDPHYSICS_API ~UsdPhysicsDriveAPI()
Destructor.
static USDPHYSICS_API TfTokenVector GetSchemaAttributeNames(bool includeInherited, const TfToken &instanceName)
Return a vector of names of all pre-declared attributes for this schema class and all its ancestor cl...
static USDPHYSICS_API bool IsPhysicsDriveAPIPath(const SdfPath &path, TfToken *name)
Checks if the given path path is of an API schema of type PhysicsDriveAPI.
TfToken GetName() const
Returns the name of this multiple-apply schema instance.
Definition: driveAPI.h:105
static const UsdSchemaKind schemaKind
Compile time constant representing what kind of schema this class is.
Definition: driveAPI.h:59
UsdPhysicsDriveAPI(const UsdSchemaBase &schemaObj, const TfToken &name)
Construct a UsdPhysicsDriveAPI on the prim held by schemaObj with name name.
Definition: driveAPI.h:79
USDPHYSICS_API UsdAttribute GetTargetVelocityAttr() const
Target value for velocity.
USDPHYSICS_API UsdAttribute GetTargetPositionAttr() const
Target value for position.
USDPHYSICS_API UsdAttribute GetTypeAttr() const
Drive spring is for the acceleration at the joint (rather than the force).
static USDPHYSICS_API UsdPhysicsDriveAPI Get(const UsdStagePtr &stage, const SdfPath &path)
Return a UsdPhysicsDriveAPI holding the prim adhering to this schema at path on stage.
USDPHYSICS_API UsdAttribute CreateTargetPositionAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetTargetPositionAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
USDPHYSICS_API UsdAttribute CreateStiffnessAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetStiffnessAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
USDPHYSICS_API UsdAttribute CreateTypeAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetTypeAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
static USDPHYSICS_API std::vector< UsdPhysicsDriveAPI > GetAll(const UsdPrim &prim)
Return a vector of all named instances of UsdPhysicsDriveAPI on the given prim.
USDPHYSICS_API UsdAttribute GetDampingAttr() const
Damping of the drive.
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 UsdAttribute GetStiffnessAttr() const
Stiffness of the drive.
static USDPHYSICS_API UsdPhysicsDriveAPI Get(const UsdPrim &prim, const TfToken &name)
Return a UsdPhysicsDriveAPI with name name holding the prim prim.
static USDPHYSICS_API UsdPhysicsDriveAPI Apply(const UsdPrim &prim, const TfToken &name)
Applies this multiple-apply API schema to the given prim along with the given instance name,...
USDPHYSICS_API UsdAttribute CreateTargetVelocityAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetTargetVelocityAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
UsdPhysicsDriveAPI(const UsdPrim &prim=UsdPrim(), const TfToken &name=TfToken())
Construct a UsdPhysicsDriveAPI on UsdPrim prim with name name .
Definition: driveAPI.h:70
USDPHYSICS_API UsdAttribute GetMaxForceAttr() const
Maximum force that can be applied to drive.
USDPHYSICS_API UsdSchemaKind _GetSchemaKind() const override
Returns the kind of schema this class belongs to.
USDPHYSICS_API UsdAttribute CreateMaxForceAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetMaxForceAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
Definition: prim.h:117
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