PxTetrahedronMesh
Defined in include/geometry/PxTetrahedronMesh.h
-
class PxTetrahedronMesh : public PxRefCounted
A tetramedron mesh, also called a ‘tetrahedron soup’.
It is represented as an indexed tetrahedron list. There are no restrictions on the tetrahedron data.
To avoid duplicating data when you have several instances of a particular mesh positioned differently, you do not use this class to represent a mesh object directly. Instead, you create an instance of this mesh via the PxTetrahedronMeshGeometry and PxShape classes.
Creation
To create an instance of this class call PxPhysics::createTetrahedronMesh(), and release() to delete it. This is only possible once you have released all of its PxShape instances.
Visualizations:
PxVisualizationParameter::eCOLLISION_AABBS
PxVisualizationParameter::eCOLLISION_SHAPES
PxVisualizationParameter::eCOLLISION_AXES
PxVisualizationParameter::eCOLLISION_FNORMALS
PxVisualizationParameter::eCOLLISION_EDGES
See also
PxTetrahedronMeshDesc PxTetrahedronMeshGeometry PxShape PxPhysics.createTetrahedronMesh()
Public Functions
-
virtual PxU32 getNbVertices() const = 0
Returns the number of vertices.
See also
getVertices()
- Returns
number of vertices
-
virtual const PxVec3 *getVertices() const = 0
Returns the vertices.
See also
getNbVertices()
- Returns
array of vertices
-
virtual PxU32 getNbTetrahedrons() const = 0
Returns the number of tetrahedrons.
See also
getTetrahedrons()
- Returns
number of tetrahedrons
-
virtual const void *getTetrahedrons() const = 0
Returns the tetrahedron indices.
The indices can be 16 or 32bit depending on the number of tetrahedrons in the mesh. Call getTetrahedronMeshFlags() to know if the indices are 16 or 32 bits.
The number of indices is the number of tetrahedrons * 4.
See also
getNbTetrahedron() getTetrahedronMeshFlags() getTetrahedraRemap()
- Returns
array of tetrahedrons
-
virtual PxTetrahedronMeshFlags getTetrahedronMeshFlags() const = 0
Reads the PxTetrahedronMesh flags.
See the list of flags PxTetrahedronMeshFlags
- Returns
The values of the PxTetrahedronMesh flags.
-
virtual const PxU32 *getTetrahedraRemap() const = 0
Returns the tetrahedra remapping table.
The tetrahedra are internally sorted according to various criteria. Hence the internal tetrahedron order does not always match the original (user-defined) order. The remapping table helps finding the old indices knowing the new ones:
remapTable[ internalTetrahedronIndex ] = originalTetrahedronIndex
See also
getNbTetrahedron() getTetrahedrons() PxCookingParams::suppressTriangleMeshRemapTable
- Returns
the remapping table (or NULL if ‘PxCookingParams::suppressTriangleMeshRemapTable’ has been used)
-
virtual PxBounds3 getLocalBounds() const = 0
Returns the local-space (vertex space) AABB from the tetrahedron mesh.
- Returns
local-space bounds
-
virtual void release() = 0
Decrements the reference count of a tetrahedron mesh and releases it if the new reference count is zero.
See also
PxPhysics.createTetrahedronMesh()
-
virtual PxU32 getReferenceCount() const = 0
Returns the reference count of the object.
At creation, the reference count of the object is 1. Every other object referencing this object increments the count by 1. When the reference count reaches 0, and only then, the object gets destroyed automatically.
- Returns
the current reference count.
-
virtual void acquireReference() = 0
Acquires a counted reference to this object.
This method increases the reference count of the object by 1. Decrement the reference count by calling release()
-
virtual const char *getConcreteTypeName() const = 0
Returns string name of dynamic type.
- Returns
Class name of most derived type of this object.
-
inline PxType getConcreteType() const
Returns concrete type of object.
See also
PxConcreteType
- Returns
PxConcreteType::Enum of serialized object
-
inline void setBaseFlag(PxBaseFlag::Enum flag, bool value)
Set PxBaseFlag
- Parameters
flag – [in] The flag to be set
value – [in] The flags new value
-
inline void setBaseFlags(PxBaseFlags inFlags)
Set PxBaseFlags
See also
PxBaseFlags
- Parameters
inFlags – [in] The flags to be set
-
inline PxBaseFlags getBaseFlags() const
Returns PxBaseFlags.
See also
PxBaseFlags
- Returns
PxBaseFlags
-
inline virtual bool isReleasable() const
Whether the object is subordinate.
A class is subordinate, if it can only be instantiated in the context of another class.
See also
PxSerialization::isSerializable
- Returns
Whether the class is subordinate
Protected Functions
-
inline PxTetrahedronMesh(PxType concreteType, PxBaseFlags baseFlags)
-
inline PxTetrahedronMesh(PxBaseFlags baseFlags)
-
inline virtual ~PxTetrahedronMesh()
-
inline virtual bool isKindOf(const char *name) const
Returns whether a given type name matches with the type of this instance.
-
inline virtual void onRefCountZero()
-
template<class T>
inline bool typeMatch() const