RavEngine
Loading...
Searching...
No Matches
physx::PxTetrahedronMeshDesc Class Reference

Descriptor class for #PxTetrahedronMesh (contains only pure geometric data). More...

#include <PxTetrahedronMeshDesc.h>

Collaboration diagram for physx::PxTetrahedronMeshDesc:
[legend]

Public Types

enum  PxMeshFormat { eTET_MESH , eHEX_MESH }
 Defines the tetrahedron structure of a mesh. More...
 

Public Member Functions

 PxTetrahedronMeshDesc ()
 Constructor to build an empty tetmesh description.
 
 PxTetrahedronMeshDesc (physx::PxArray< physx::PxVec3 > &meshVertices, physx::PxArray< physx::PxU32 > &meshTetIndices, const PxTetrahedronMeshDesc::PxMeshFormat meshFormat=eTET_MESH)
 Constructor to build a tetmeshdescription that links to the vertices and indices provided.
 
PX_INLINE bool isValid () const
 

Public Attributes

PxTypedStridedData< PxFEMMaterialTableIndex > materialIndices
 
PxBoundedData points
 Pointer to first vertex point.
 
PxBoundedData tetrahedrons
 Pointer to first tetrahedron.
 
PxMeshFlags flags
 Flags bits, combined from values of the enum ::PxMeshFlag.
 
PxU16 tetsPerElement
 Used for simulation meshes only. Defines if this tet mesh should be simulated as a tet mesh, or if a set of tetrahedra should be used to represent another shape, e.g. a hexahedral mesh constructed from 6 elements.
 

Detailed Description

Descriptor class for #PxTetrahedronMesh (contains only pure geometric data).

See also
PxTetrahedronMesh PxShape

Member Enumeration Documentation

◆ PxMeshFormat

Defines the tetrahedron structure of a mesh.

Enumerator
eTET_MESH 

Normal tetmesh with arbitrary tetrahedra.

eHEX_MESH 

6 tetrahedra in a row will form a hexahedron

Member Data Documentation

◆ materialIndices

PxTypedStridedData<PxFEMMaterialTableIndex> physx::PxTetrahedronMeshDesc::materialIndices

Optional pointer to first material index, or NULL. There are PxTetrahedronMesh::numTriangles indices in total. Caller may add materialIndexStride bytes to the pointer to access the next triangle.

When a tetrahedron mesh collides with another object, a material is required at the collision point. If materialIndices is NULL, then the material of the PxShape instance is used. Otherwise, if the point of contact is on a tetrahedron with index i, then the material index is determined as: PxFEMMaterialTableIndex index = *(PxFEMMaterialTableIndex *)(((PxU8*)materialIndices) + materialIndexStride * i);

If the contact point falls on a vertex or an edge, a tetrahedron adjacent to the vertex or edge is selected, and its index used to look up a material. The selection is arbitrary but consistent over time.

Default: NULL

See also
materialIndexStride

◆ tetrahedrons

PxBoundedData physx::PxTetrahedronMeshDesc::tetrahedrons

Pointer to first tetrahedron.

Caller may add tetrhedronStrideBytes bytes to the pointer to access the next tetrahedron.

These are quadruplets of 0 based indices: vert0 vert1 vert2 vert3 vert0 vert1 vert2 vert3 vert0 vert1 vert2 vert3 ...

where vertex is either a 32 or 16 bit unsigned integer. There are numTetrahedrons*4 indices.

This is declared as a void pointer because it is actually either an PxU16 or a PxU32 pointer.


The documentation for this class was generated from the following file: