24 #ifndef FORCEFIELDSCHEMA_GENERATED_PHYSXFORCEFIELDRINGAPI_H
25 #define FORCEFIELDSCHEMA_GENERATED_PHYSXFORCEFIELDRINGAPI_H
31 #include "pxr/usd/usd/apiSchemaBase.h"
32 #include "pxr/usd/usd/prim.h"
33 #include "pxr/usd/usd/stage.h"
36 #include "pxr/base/vt/value.h"
38 #include "pxr/base/gf/vec3d.h"
39 #include "pxr/base/gf/vec3f.h"
40 #include "pxr/base/gf/matrix4d.h"
42 #include "pxr/base/tf/token.h"
43 #include "pxr/base/tf/type.h"
45 PXR_NAMESPACE_OPEN_SCOPE
68 static const UsdSchemaKind
schemaKind = UsdSchemaKind::MultipleApplyAPI;
80 const UsdPrim& prim=UsdPrim(),
const TfToken &name=TfToken())
81 : UsdAPISchemaBase(prim, name)
89 const UsdSchemaBase& schemaObj,
const TfToken &name)
90 : UsdAPISchemaBase(schemaObj, name)
101 static const TfTokenVector &
115 return _GetInstanceName();
134 Get(
const UsdStagePtr &stage,
const SdfPath &path);
140 Get(
const UsdPrim &prim,
const TfToken &name);
145 static std::vector<ForceFieldSchemaPhysxForceFieldRingAPI>
146 GetAll(
const UsdPrim &prim);
179 CanApply(
const UsdPrim &prim,
const TfToken &name,
180 std::string *whyNot=
nullptr);
203 Apply(
const UsdPrim &prim,
const TfToken &name);
214 friend class UsdSchemaRegistry;
216 static const TfType &_GetStaticTfType();
218 static bool _IsTypedSchema();
222 const TfType &_GetTfType()
const override;
244 UsdAttribute
CreateNormalAxisAttr(VtValue
const &defaultValue = VtValue(),
bool writeSparsely=
false)
const;
266 UsdAttribute
CreateRadiusAttr(VtValue
const &defaultValue = VtValue(),
bool writeSparsely=
false)
const;
288 UsdAttribute
CreateConstantAttr(VtValue
const &defaultValue = VtValue(),
bool writeSparsely=
false)
const;
310 UsdAttribute
CreateLinearAttr(VtValue
const &defaultValue = VtValue(),
bool writeSparsely=
false)
const;
354 UsdAttribute
CreateSpinConstantAttr(VtValue
const &defaultValue = VtValue(),
bool writeSparsely=
false)
const;
376 UsdAttribute
CreateSpinLinearAttr(VtValue
const &defaultValue = VtValue(),
bool writeSparsely=
false)
const;
413 PXR_NAMESPACE_CLOSE_SCOPE
FORCEFIELDSCHEMA_API UsdAttribute CreateLinearAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetLinearAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create.
static FORCEFIELDSCHEMA_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...
FORCEFIELDSCHEMA_API UsdSchemaKind _GetSchemaKind() const override
Returns the kind of schema this class belongs to.
static FORCEFIELDSCHEMA_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...
FORCEFIELDSCHEMA_API UsdAttribute GetSpinLinearAttr() const
spinLinear applies a force that rotates bodies around the ring and varies with distance to the ring...
FORCEFIELDSCHEMA_API UsdAttribute GetSpinInverseSquareAttr() const
inverseSquare sets a force that rotates bodies around the ring and varies with the reciprocal of the ...
FORCEFIELDSCHEMA_API UsdAttribute CreateSpinInverseSquareAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetSpinInverseSquareAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create...
static FORCEFIELDSCHEMA_API bool IsSchemaPropertyBaseName(const TfToken &baseName)
Checks if the given name baseName is the base name of a property of PhysxForceFieldRingAPI.
FORCEFIELDSCHEMA_API UsdAttribute CreateSpinConstantAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetSpinConstantAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create...
FORCEFIELDSCHEMA_API UsdAttribute GetSpinConstantAttr() const
spinConstant applies a steady force that rotates bodies around the ring.
ForceFieldSchemaPhysxForceFieldRingAPI(const UsdSchemaBase &schemaObj, const TfToken &name)
Construct a ForceFieldSchemaPhysxForceFieldRingAPI on the prim held by schemaObj with name name...
FORCEFIELDSCHEMA_API UsdAttribute CreateNormalAxisAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetNormalAxisAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create...
FORCEFIELDSCHEMA_API UsdAttribute CreateInverseSquareAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetInverseSquareAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create...
FORCEFIELDSCHEMA_API UsdAttribute GetLinearAttr() const
linear applies a force that attracts bodies toward the ring and varies with distance to the ring...
static FORCEFIELDSCHEMA_API std::vector< ForceFieldSchemaPhysxForceFieldRingAPI > GetAll(const UsdPrim &prim)
Return a vector of all named instances of ForceFieldSchemaPhysxForceFieldRingAPI on the given prim...
static FORCEFIELDSCHEMA_API ForceFieldSchemaPhysxForceFieldRingAPI Apply(const UsdPrim &prim, const TfToken &name)
Applies this multiple-apply API schema to the given prim along with the given instance name...
FORCEFIELDSCHEMA_API UsdAttribute GetRadiusAttr() const
The distance from the normal axis to the center of the ring.
FORCEFIELDSCHEMA_API UsdAttribute CreateRadiusAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetRadiusAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create.
A force field that applies forces to rotate rigid bodies around a ring, defined by a normal axis thro...
TfToken GetName() const
Returns the name of this multiple-apply schema instance.
static FORCEFIELDSCHEMA_API ForceFieldSchemaPhysxForceFieldRingAPI Get(const UsdStagePtr &stage, const SdfPath &path)
Return a ForceFieldSchemaPhysxForceFieldRingAPI holding the prim adhering to this schema at path on s...
FORCEFIELDSCHEMA_API UsdAttribute GetInverseSquareAttr() const
inverseSquare applies a force that attracts bodies toward the ring and varies with the reciprocal of ...
static const UsdSchemaKind schemaKind
Compile time constant representing what kind of schema this class is.
static FORCEFIELDSCHEMA_API bool IsPhysxForceFieldRingAPIPath(const SdfPath &path, TfToken *name)
Checks if the given path path is of an API schema of type PhysxForceFieldRingAPI. ...
virtual FORCEFIELDSCHEMA_API ~ForceFieldSchemaPhysxForceFieldRingAPI()
Destructor.
ForceFieldSchemaPhysxForceFieldRingAPI(const UsdPrim &prim=UsdPrim(), const TfToken &name=TfToken())
Construct a ForceFieldSchemaPhysxForceFieldRingAPI on UsdPrim prim with name name ...
FORCEFIELDSCHEMA_API UsdAttribute CreateSpinLinearAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetSpinLinearAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create...
FORCEFIELDSCHEMA_API UsdAttribute GetConstantAttr() const
constant applies a steady force that attracts bodies toward the ring.
FORCEFIELDSCHEMA_API UsdAttribute CreateConstantAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetConstantAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create...
FORCEFIELDSCHEMA_API UsdAttribute GetNormalAxisAttr() const
The normal axis through the center of the ring in world coordinates.