PhysX SDF mesh extended parameters. More...
Inherits UsdAPISchemaBase.
Public Member Functions | |
PhysxSchemaPhysxSDFMeshCollisionAPI (const UsdPrim &prim=UsdPrim()) | |
Construct a PhysxSchemaPhysxSDFMeshCollisionAPI on UsdPrim prim . More... | |
PhysxSchemaPhysxSDFMeshCollisionAPI (const UsdSchemaBase &schemaObj) | |
Construct a PhysxSchemaPhysxSDFMeshCollisionAPI on the prim held by schemaObj . More... | |
virtual PHYSXSCHEMA_API | ~PhysxSchemaPhysxSDFMeshCollisionAPI () |
Destructor. More... | |
PHYSXSCHEMA_API UsdAttribute | GetSdfResolutionAttr () const |
The spacing of the uniformly sampled SDF is equal to the largest AABB extent of the mesh, divided by the resolution. More... | |
PHYSXSCHEMA_API UsdAttribute | CreateSdfResolutionAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const |
See GetSdfResolutionAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. More... | |
PHYSXSCHEMA_API UsdAttribute | GetSdfSubgridResolutionAttr () const |
A positive subgrid resolution enables sparsity on signed-distance-fields (SDF) while a value of 0 leads to the usage of a dense SDF. More... | |
PHYSXSCHEMA_API UsdAttribute | CreateSdfSubgridResolutionAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const |
See GetSdfSubgridResolutionAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. More... | |
PHYSXSCHEMA_API UsdAttribute | GetSdfBitsPerSubgridPixelAttr () const |
Values of 8, 16 and 32 bits per subgrid pixel are supported. More... | |
PHYSXSCHEMA_API UsdAttribute | CreateSdfBitsPerSubgridPixelAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const |
See GetSdfBitsPerSubgridPixelAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. More... | |
PHYSXSCHEMA_API UsdAttribute | GetSdfNarrowBandThicknessAttr () const |
Size of the narrow band around the mesh surface where high resolution SDF samples are available. More... | |
PHYSXSCHEMA_API UsdAttribute | CreateSdfNarrowBandThicknessAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const |
See GetSdfNarrowBandThicknessAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. More... | |
PHYSXSCHEMA_API UsdAttribute | GetSdfMarginAttr () const |
Margin to increase the size of the SDF relative to the bounding box diagonal length of the mesh. More... | |
PHYSXSCHEMA_API UsdAttribute | CreateSdfMarginAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const |
See GetSdfMarginAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. More... | |
PHYSXSCHEMA_API UsdAttribute | GetSdfEnableRemeshingAttr () const |
Enables optional remeshing as a preprocessing step before the SDF is computed. More... | |
PHYSXSCHEMA_API UsdAttribute | CreateSdfEnableRemeshingAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const |
See GetSdfEnableRemeshingAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. More... | |
PHYSXSCHEMA_API UsdAttribute | GetSdfTriangleCountReductionFactorAttr () const |
Factor that quantifies the percentage of the input triangles to keep. More... | |
PHYSXSCHEMA_API UsdAttribute | CreateSdfTriangleCountReductionFactorAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const |
See GetSdfTriangleCountReductionFactorAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. More... | |
Static Public Member Functions | |
static PHYSXSCHEMA_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 classes. More... | |
static PHYSXSCHEMA_API PhysxSchemaPhysxSDFMeshCollisionAPI | Get (const UsdStagePtr &stage, const SdfPath &path) |
Return a PhysxSchemaPhysxSDFMeshCollisionAPI holding the prim adhering to this schema at path on stage . More... | |
static PHYSXSCHEMA_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 . More... | |
static PHYSXSCHEMA_API PhysxSchemaPhysxSDFMeshCollisionAPI | Apply (const UsdPrim &prim) |
Applies this single-apply API schema to the given prim . More... | |
Static Public Attributes | |
static const UsdSchemaKind | schemaKind = UsdSchemaKind::SingleApplyAPI |
Compile time constant representing what kind of schema this class is. More... | |
Protected Member Functions | |
PHYSXSCHEMA_API UsdSchemaKind | _GetSchemaKind () const override |
Returns the kind of schema this class belongs to. More... | |
Friends | |
class | UsdSchemaRegistry |
PhysX SDF mesh extended parameters.
For any described attribute Fallback Value or Allowed Values below that are text/tokens, the actual token is published and defined in PhysxSchemaTokens. So to set an attribute to the value "rightHanded", use PhysxSchemaTokens->rightHanded as the value.
Definition at line 62 of file physxSDFMeshCollisionAPI.h.
|
inlineexplicit |
Construct a PhysxSchemaPhysxSDFMeshCollisionAPI on UsdPrim prim
.
Equivalent to PhysxSchemaPhysxSDFMeshCollisionAPI::Get(prim.GetStage(), prim.GetPath()) for a valid prim
, but will not immediately throw an error for an invalid prim
Definition at line 74 of file physxSDFMeshCollisionAPI.h.
|
inlineexplicit |
Construct a PhysxSchemaPhysxSDFMeshCollisionAPI on the prim held by schemaObj
.
Should be preferred over PhysxSchemaPhysxSDFMeshCollisionAPI(schemaObj.GetPrim()), as it preserves SchemaBase state.
Definition at line 82 of file physxSDFMeshCollisionAPI.h.
|
virtual |
Destructor.
|
overrideprotected |
Returns the kind of schema this class belongs to.
|
static |
Applies this single-apply API schema to the given prim
.
This information is stored by adding "PhysxSDFMeshCollisionAPI" to the token-valued, listOp metadata apiSchemas on the prim.
|
static |
Returns true if this single-apply API schema can be applied to the given prim
.
If this schema can not be a applied to the prim, this returns false and, if provided, populates whyNot
with the reason it can not be applied.
Note that if CanApply returns false, that does not necessarily imply that calling Apply will fail. Callers are expected to call CanApply before calling Apply if they want to ensure that it is valid to apply a schema.
PHYSXSCHEMA_API UsdAttribute CreateSdfBitsPerSubgridPixelAttr | ( | VtValue const & | defaultValue = VtValue() , |
bool | writeSparsely = false |
||
) | const |
See GetSdfBitsPerSubgridPixelAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create.
If specified, author defaultValue
as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely
is true
- the default for writeSparsely
is false
.
PHYSXSCHEMA_API UsdAttribute CreateSdfEnableRemeshingAttr | ( | VtValue const & | defaultValue = VtValue() , |
bool | writeSparsely = false |
||
) | const |
See GetSdfEnableRemeshingAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create.
If specified, author defaultValue
as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely
is true
- the default for writeSparsely
is false
.
PHYSXSCHEMA_API UsdAttribute CreateSdfMarginAttr | ( | VtValue const & | defaultValue = VtValue() , |
bool | writeSparsely = false |
||
) | const |
See GetSdfMarginAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create.
If specified, author defaultValue
as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely
is true
- the default for writeSparsely
is false
.
PHYSXSCHEMA_API UsdAttribute CreateSdfNarrowBandThicknessAttr | ( | VtValue const & | defaultValue = VtValue() , |
bool | writeSparsely = false |
||
) | const |
See GetSdfNarrowBandThicknessAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create.
If specified, author defaultValue
as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely
is true
- the default for writeSparsely
is false
.
PHYSXSCHEMA_API UsdAttribute CreateSdfResolutionAttr | ( | VtValue const & | defaultValue = VtValue() , |
bool | writeSparsely = false |
||
) | const |
See GetSdfResolutionAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create.
If specified, author defaultValue
as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely
is true
- the default for writeSparsely
is false
.
PHYSXSCHEMA_API UsdAttribute CreateSdfSubgridResolutionAttr | ( | VtValue const & | defaultValue = VtValue() , |
bool | writeSparsely = false |
||
) | const |
See GetSdfSubgridResolutionAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create.
If specified, author defaultValue
as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely
is true
- the default for writeSparsely
is false
.
PHYSXSCHEMA_API UsdAttribute CreateSdfTriangleCountReductionFactorAttr | ( | VtValue const & | defaultValue = VtValue() , |
bool | writeSparsely = false |
||
) | const |
See GetSdfTriangleCountReductionFactorAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create.
If specified, author defaultValue
as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely
is true
- the default for writeSparsely
is false
.
|
static |
Return a PhysxSchemaPhysxSDFMeshCollisionAPI holding the prim adhering to this schema at path
on stage
.
If no prim exists at path
on stage
, or if the prim at that path does not adhere to this schema, return an invalid schema object. This is shorthand for the following:
|
static |
Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes.
Does not include attributes that may be authored by custom/extended methods of the schemas involved.
PHYSXSCHEMA_API UsdAttribute GetSdfBitsPerSubgridPixelAttr | ( | ) | const |
Values of 8, 16 and 32 bits per subgrid pixel are supported.
Dense SDFs always use 32 bits per pixel. The less bits per pixel, the smaller the resulting SDF but also the less precise. The SDF's memory consumption scales proportionally with the number of bits per subgrid pixel.
Declaration | uniform token physxSDFMeshCollision:sdfBitsPerSubgridPixel = "BitsPerPixel16" |
C++ Type | TfToken |
Usd Type | SdfValueTypeNames->Token |
Variability | SdfVariabilityUniform |
Allowed Values | BitsPerPixel8, BitsPerPixel16, BitsPerPixel32 |
PHYSXSCHEMA_API UsdAttribute GetSdfEnableRemeshingAttr | ( | ) | const |
Enables optional remeshing as a preprocessing step before the SDF is computed.
Remeshing can help generate valid SDF data even if the input mesh has bad properties like inconsistent winding or self-intersections. The SDF distances (and therefore the collisions) will be slightly less accurate when remeshing is enabled.
Declaration | uniform bool physxSDFMeshCollision:sdfEnableRemeshing = 0 |
C++ Type | bool |
Usd Type | SdfValueTypeNames->Bool |
Variability | SdfVariabilityUniform |
PHYSXSCHEMA_API UsdAttribute GetSdfMarginAttr | ( | ) | const |
Margin to increase the size of the SDF relative to the bounding box diagonal length of the mesh.
A sdf margin value of 0.01 means the sdf boundary will be enlarged in any direction by 1% of the mesh's bounding box diagonal length. Representing the margin relative to the bounding box diagonal length ensures that it is scale independent. Margins allow for precise distance queries in a region slightly outside of the mesh's bounding box. Range: [0, inf) Units: dimensionless
Declaration | uniform float physxSDFMeshCollision:sdfMargin = 0.01 |
C++ Type | float |
Usd Type | SdfValueTypeNames->Float |
Variability | SdfVariabilityUniform |
PHYSXSCHEMA_API UsdAttribute GetSdfNarrowBandThicknessAttr | ( | ) | const |
Size of the narrow band around the mesh surface where high resolution SDF samples are available.
Outside of the narrow band, only low resolution samples are stored. Representing the narrow band thickness as a fraction of the mesh's bounding box diagonal length ensures that it is scale independent. A value of 0.01 is usually large enough. The smaller the narrow band thickness, the smaller the memory consumption of the sparse SDF. Range: [0, 1] Units: dimensionless
Declaration | uniform float physxSDFMeshCollision:sdfNarrowBandThickness = 0.01 |
C++ Type | float |
Usd Type | SdfValueTypeNames->Float |
Variability | SdfVariabilityUniform |
PHYSXSCHEMA_API UsdAttribute GetSdfResolutionAttr | ( | ) | const |
The spacing of the uniformly sampled SDF is equal to the largest AABB extent of the mesh, divided by the resolution.
Choose the lowest possible resolution that provides acceptable performance; very high resolution results in large memory consumption, and slower cooking and simulation performance. Range: (1, inf)
Declaration | uniform int physxSDFMeshCollision:sdfResolution = 256 |
C++ Type | int |
Usd Type | SdfValueTypeNames->Int |
Variability | SdfVariabilityUniform |
PHYSXSCHEMA_API UsdAttribute GetSdfSubgridResolutionAttr | ( | ) | const |
A positive subgrid resolution enables sparsity on signed-distance-fields (SDF) while a value of 0 leads to the usage of a dense SDF.
A value in the range of 4 to 8 is a reasonable compromise between block size and the overhead introduced by block addressing. The smaller a block, the more memory is spent on the address table. The bigger a block, the less precisely the sparse SDF can adapt to the mesh's surface. In most cases sparsity reduces the memory consumption of a SDF significantly. Range: [0, inf)
Declaration | uniform int physxSDFMeshCollision:sdfSubgridResolution = 6 |
C++ Type | int |
Usd Type | SdfValueTypeNames->Int |
Variability | SdfVariabilityUniform |
PHYSXSCHEMA_API UsdAttribute GetSdfTriangleCountReductionFactorAttr | ( | ) | const |
Factor that quantifies the percentage of the input triangles to keep.
1 means the input triangle mesh does not get modified. 0.5 would mean that the triangle count gets reduced to half the amount of the original mesh such that the collider needs to process less data. This helps to speed up collision detection at the cost of a small geometric error. Range: [0, 1] Units: dimensionless
Declaration | uniform float physxSDFMeshCollision:sdfTriangleCountReductionFactor = 1 |
C++ Type | float |
Usd Type | SdfValueTypeNames->Float |
Variability | SdfVariabilityUniform |
|
static |
Compile time constant representing what kind of schema this class is.
Definition at line 68 of file physxSDFMeshCollisionAPI.h.