PxTriangleMeshDesc

Defined in include/cooking/PxTriangleMeshDesc.h

class PxTriangleMeshDesc : public PxSimpleTriangleMesh

Descriptor class for PxTriangleMesh.

Note that this class is derived from PxSimpleTriangleMesh which contains the members that describe the basic mesh. The mesh data is copied when an PxTriangleMesh object is created from this descriptor. After the call the user may discard the triangle data.

See also

PxTriangleMesh PxTriangleMeshGeometry PxShape

Public Functions

inline PxTriangleMeshDesc()

Constructor sets to default.

inline void setToDefault()

(re)sets the structure to the default.

inline bool isValid() const

Returns true if the descriptor is valid.

Returns

true if the current settings are valid

Public Members

PxTypedStridedData<const PxMaterialTableIndex> materialIndices

Optional pointer to first material index, or NULL.

There are PxSimpleTriangleMesh::numTriangles indices in total. Caller may add materialIndexStride bytes to the pointer to access the next triangle.

When a triangle 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 triangle with index i, then the material index is determined as: PxMaterialTableIndex index = *(PxMaterialTableIndex *)(((PxU8*)materialIndices) + materialIndexStride * i);

If the contact point falls on a vertex or an edge, a triangle 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

PxSDFDesc *sdfDesc

SDF descriptor.

When this descriptor is set, a signed distance field (SDF) is calculated. SDF collisions only work when the GPU solver is used to run the simulation. The GPU solver is enabled by setting the flag PxSceneFlag::eENABLE_GPU_DYNAMICS in the scene description.

Default: NULL

PxBoundedData points

Pointer to first vertex point.

PxBoundedData triangles

Pointer to first triangle.

Caller may add triangleStrideBytes bytes to the pointer to access the next triangle.

These are triplets of 0 based indices: vert0 vert1 vert2 vert0 vert1 vert2 vert0 vert1 vert2 …

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

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

PxMeshFlags flags

Flags bits, combined from values of the enum PxMeshFlag.