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

Triangle mesh geometry class. More...

#include <PxTriangleMeshGeometry.h>

Inheritance diagram for physx::PxTriangleMeshGeometry:
[legend]
Collaboration diagram for physx::PxTriangleMeshGeometry:
[legend]

Public Member Functions

PX_INLINE PxTriangleMeshGeometry (PxTriangleMesh *mesh=NULL, const PxMeshScale &scaling=PxMeshScale(), PxMeshGeometryFlags flags=PxMeshGeometryFlags())
 Constructor. By default creates an empty object with a NULL mesh and identity scale.
 
PX_INLINE PxTriangleMeshGeometry (const PxTriangleMeshGeometry &that)
 Copy constructor.
 
PX_INLINE void operator= (const PxTriangleMeshGeometry &that)
 Assignment operator.
 
PX_INLINE bool isValid () const
 Returns true if the geometry is valid.
 
- Public Member Functions inherited from physx::PxGeometry
PX_CUDA_CALLABLE PX_FORCE_INLINE PxGeometryType::Enum getType () const
 Returns the type of the geometry.
 
PX_INLINE void operator= (const PxGeometry &that)
 Assignment operator.
 

Public Attributes

PxMeshScale scale
 The scaling transformation.
 
PxMeshGeometryFlags meshFlags
 Mesh flags.
 
PxPadding< 3 > paddingFromFlags
 padding for mesh flags
 
PxTriangleMesh * triangleMesh
 A reference to the mesh object.
 
- Public Attributes inherited from physx::PxGeometry
float mTypePadding
 

Additional Inherited Members

- Protected Member Functions inherited from physx::PxGeometry
PX_CUDA_CALLABLE PX_FORCE_INLINE PxGeometry (PxGeometryType::Enum type)
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxGeometry (const PxGeometry &that)
 
- Protected Attributes inherited from physx::PxGeometry
PxGeometryType::Enum mType
 

Detailed Description

Triangle mesh geometry class.

This class unifies a mesh object with a scaling transform, and lets the combined object be used anywhere a PxGeometry is needed.

The scaling is a transform along arbitrary axes contained in the scale object. The vertices of the mesh in geometry (or shape) space is the PxMeshScale::toMat33() transform, multiplied by the vertex space vertices in the PxTriangleMeshGeometry object.

Constructor & Destructor Documentation

◆ PxTriangleMeshGeometry() [1/2]

PX_INLINE physx::PxTriangleMeshGeometry::PxTriangleMeshGeometry ( PxTriangleMesh *  mesh = NULL,
const PxMeshScale &  scaling = PxMeshScale(),
PxMeshGeometryFlags  flags = PxMeshGeometryFlags() 
)
inline

Constructor. By default creates an empty object with a NULL mesh and identity scale.

Parameters
[in]meshMesh pointer. May be NULL, though this will not make the object valid for shape construction.
[in]scalingScale factor.
[in]flagsMesh flags.

◆ PxTriangleMeshGeometry() [2/2]

PX_INLINE physx::PxTriangleMeshGeometry::PxTriangleMeshGeometry ( const PxTriangleMeshGeometry &  that)
inline

Copy constructor.

Parameters
[in]thatOther object

Member Function Documentation

◆ isValid()

PX_INLINE bool physx::PxTriangleMeshGeometry::isValid ( ) const

Returns true if the geometry is valid.

Returns
True if the current settings are valid for shape creation.
Note
A valid triangle mesh has a positive scale value in each direction (scale.scale.x > 0, scale.scale.y > 0, scale.scale.z > 0). It is illegal to call PxRigidActor::createShape and PxPhysics::createShape with a triangle mesh that has zero extents in any direction.
See also
PxRigidActor::createShape, PxPhysics::createShape

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