24 #ifndef FORCEFIELDSCHEMA_GENERATED_PHYSXFORCEFIELDAPI_H
25 #define FORCEFIELDSCHEMA_GENERATED_PHYSXFORCEFIELDAPI_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
63 static const UsdSchemaKind
schemaKind = UsdSchemaKind::MultipleApplyAPI;
75 const UsdPrim& prim=UsdPrim(),
const TfToken &name=TfToken())
76 : UsdAPISchemaBase(prim, name)
84 const UsdSchemaBase& schemaObj,
const TfToken &name)
85 : UsdAPISchemaBase(schemaObj, name)
96 static const TfTokenVector &
110 return _GetInstanceName();
129 Get(
const UsdStagePtr &stage,
const SdfPath &path);
135 Get(
const UsdPrim &prim,
const TfToken &name);
140 static std::vector<ForceFieldSchemaPhysxForceFieldAPI>
141 GetAll(
const UsdPrim &prim);
174 CanApply(
const UsdPrim &prim,
const TfToken &name,
175 std::string *whyNot=
nullptr);
198 Apply(
const UsdPrim &prim,
const TfToken &name);
209 friend class UsdSchemaRegistry;
211 static const TfType &_GetStaticTfType();
213 static bool _IsTypedSchema();
217 const TfType &_GetTfType()
const override;
239 UsdAttribute
CreateEnabledAttr(VtValue
const &defaultValue = VtValue(),
bool writeSparsely=
false)
const;
323 UsdAttribute
CreatePositionAttr(VtValue
const &defaultValue = VtValue(),
bool writeSparsely=
false)
const;
350 UsdAttribute
CreateRangeAttr(VtValue
const &defaultValue = VtValue(),
bool writeSparsely=
false)
const;
365 PXR_NAMESPACE_CLOSE_SCOPE
FORCEFIELDSCHEMA_API UsdAttribute CreateSurfaceAreaScaleEnabledAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetSurfaceAreaScaleEnabledAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Crea...
FORCEFIELDSCHEMA_API UsdAttribute GetEnabledAttr() const
Enable or disable this ForceField.
static FORCEFIELDSCHEMA_API bool IsPhysxForceFieldAPIPath(const SdfPath &path, TfToken *name)
Checks if the given path path is of an API schema of type PhysxForceFieldAPI.
FORCEFIELDSCHEMA_API UsdAttribute GetPositionAttr() const
The location of the force field.
static FORCEFIELDSCHEMA_API bool IsSchemaPropertyBaseName(const TfToken &baseName)
Checks if the given name baseName is the base name of a property of PhysxForceFieldAPI.
static FORCEFIELDSCHEMA_API ForceFieldSchemaPhysxForceFieldAPI Apply(const UsdPrim &prim, const TfToken &name)
Applies this multiple-apply API schema to the given prim along with the given instance name...
static FORCEFIELDSCHEMA_API ForceFieldSchemaPhysxForceFieldAPI Get(const UsdStagePtr &stage, const SdfPath &path)
Return a ForceFieldSchemaPhysxForceFieldAPI holding the prim adhering to this schema at path on stage...
FORCEFIELDSCHEMA_API UsdAttribute GetRangeAttr() const
Forces are not applied when the distance to the force field is outside of this (minimum, maximum) range.
Force field base class that simply specifies the position and enables or disables the ForceField...
ForceFieldSchemaPhysxForceFieldAPI(const UsdPrim &prim=UsdPrim(), const TfToken &name=TfToken())
Construct a ForceFieldSchemaPhysxForceFieldAPI on UsdPrim prim with name name .
static FORCEFIELDSCHEMA_API std::vector< ForceFieldSchemaPhysxForceFieldAPI > GetAll(const UsdPrim &prim)
Return a vector of all named instances of ForceFieldSchemaPhysxForceFieldAPI on the given prim...
FORCEFIELDSCHEMA_API UsdSchemaKind _GetSchemaKind() const override
Returns the kind of schema this class belongs to.
FORCEFIELDSCHEMA_API UsdAttribute CreateRangeAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetRangeAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create.
static const UsdSchemaKind schemaKind
Compile time constant representing what kind of schema this class is.
FORCEFIELDSCHEMA_API UsdAttribute CreateEnabledAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetEnabledAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create.
FORCEFIELDSCHEMA_API UsdAttribute CreatePositionAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetPositionAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create...
FORCEFIELDSCHEMA_API UsdAttribute GetSurfaceAreaScaleEnabledAttr() const
Enable or disable scaling forces by the surface area that faces in the direction of the applied force...
FORCEFIELDSCHEMA_API UsdAttribute GetSurfaceSampleDensityAttr() const
Number of rays to cast per square unit of surface area.
FORCEFIELDSCHEMA_API UsdAttribute CreateSurfaceSampleDensityAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetSurfaceSampleDensityAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create...
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...
virtual FORCEFIELDSCHEMA_API ~ForceFieldSchemaPhysxForceFieldAPI()
Destructor.
ForceFieldSchemaPhysxForceFieldAPI(const UsdSchemaBase &schemaObj, const TfToken &name)
Construct a ForceFieldSchemaPhysxForceFieldAPI on the prim held by schemaObj with name name...
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...
TfToken GetName() const
Returns the name of this multiple-apply schema instance.