Public Member Functions | Protected Member Functions | List of all members
PxConvexMesh Class Referenceabstract

A convex mesh. More...

#include <PxConvexMesh.h>

Inheritance diagram for PxConvexMesh:
Inheritance graph
[legend]
Collaboration diagram for PxConvexMesh:
Collaboration graph
[legend]

Public Member Functions

virtual PX_PHYSX_COMMON_API PxU32 getNbVertices () const =0
 Returns the number of vertices. More...
 
virtual PX_PHYSX_COMMON_API
const PxVec3
getVertices () const =0
 Returns the vertices. More...
 
virtual PX_PHYSX_COMMON_API
const PxU8
getIndexBuffer () const =0
 Returns the index buffer. More...
 
virtual PX_PHYSX_COMMON_API PxU32 getNbPolygons () const =0
 Returns the number of polygons. More...
 
virtual PX_PHYSX_COMMON_API bool getPolygonData (PxU32 index, PxHullPolygon &data) const =0
 Returns the polygon data. More...
 
virtual PX_PHYSX_COMMON_API void release ()=0
 Decrements the reference count of a convex mesh and releases it if the new reference count is zero. More...
 
virtual PX_PHYSX_COMMON_API PxU32 getReferenceCount () const =0
 Returns the reference count for shared meshes. More...
 
virtual PX_PHYSX_COMMON_API void getMassInformation (PxReal &mass, PxMat33 &localInertia, PxVec3 &localCenterOfMass) const =0
 Returns the mass properties of the mesh assuming unit density. More...
 
virtual PX_PHYSX_COMMON_API
PxBounds3 
getLocalBounds () const =0
 Returns the local-space (vertex space) AABB from the convex mesh. More...
 
virtual PX_PHYSX_COMMON_API
const char * 
getConcreteTypeName () const
 Returns string name of dynamic type. More...
 
- Public Member Functions inherited from PxBase
template<class T >
T * is ()
 
template<class T >
const T * is () const
 
PX_INLINE PxType getConcreteType () const
 Returns concrete type of object. More...
 
PX_INLINE void setBaseFlag (PxBaseFlag::Enum flag, bool value)
 Set PxBaseFlag. More...
 
PX_INLINE void setBaseFlags (PxBaseFlags inFlags)
 Set PxBaseFlags. More...
 
PX_INLINE PxBaseFlags getBaseFlags () const
 Returns PxBaseFlags. More...
 
virtual bool isReleasable () const
 Whether the object is subordinate. More...
 

Protected Member Functions

PX_INLINE PxConvexMesh (PxType concreteType, PxBaseFlags baseFlags)
 
PX_INLINE PxConvexMesh (PxBaseFlags baseFlags)
 
virtual PX_PHYSX_COMMON_API ~PxConvexMesh ()
 
virtual PX_PHYSX_COMMON_API bool isKindOf (const char *name) const
 Returns whether a given type name matches with the type of this instance. More...
 
- Protected Member Functions inherited from PxBase
PX_INLINE PxBase (PxType concreteType, PxBaseFlags baseFlags)
 Constructor setting concrete type and base flags. More...
 
PX_INLINE PxBase (PxBaseFlags baseFlags)
 Deserialization constructor setting base flags. More...
 
virtual ~PxBase ()
 Destructor. More...
 
template<class T >
bool typeMatch () const
 

Additional Inherited Members

- Protected Attributes inherited from PxBase
PxType mConcreteType
 
PxBaseFlags mBaseFlags
 

Detailed Description

A convex mesh.

Internally represented as a list of convex polygons. The number of polygons is limited to 256.

To avoid duplicating data when you have several instances of a particular mesh positioned differently, you do not use this class to represent a convex object directly. Instead, you create an instance of this mesh via the PxConvexMeshGeometry and PxShape classes.

Creation

To create an instance of this class call PxPhysics::createConvexMesh(), and PxConvexMesh::release() to delete it. This is only possible once you have released all of its PxShape instances.

Visualizations:

See Also
PxConvexMeshDesc PxPhysics.createConvexMesh()

Constructor & Destructor Documentation

PX_INLINE PxConvexMesh::PxConvexMesh ( PxType  concreteType,
PxBaseFlags  baseFlags 
)
inlineprotected
PX_INLINE PxConvexMesh::PxConvexMesh ( PxBaseFlags  baseFlags)
inlineprotected
virtual PX_PHYSX_COMMON_API PxConvexMesh::~PxConvexMesh ( )
inlineprotectedvirtual

Member Function Documentation

virtual PX_PHYSX_COMMON_API const char* PxConvexMesh::getConcreteTypeName ( ) const
inlinevirtual

Returns string name of dynamic type.

Returns
Class name of most derived type of this object.

Reimplemented from PxBase.

virtual PX_PHYSX_COMMON_API const PxU8* PxConvexMesh::getIndexBuffer ( ) const
pure virtual

Returns the index buffer.

Returns
Index buffer.
See Also
getNbPolygons() getPolygonData()
virtual PX_PHYSX_COMMON_API PxBounds3 PxConvexMesh::getLocalBounds ( ) const
pure virtual

Returns the local-space (vertex space) AABB from the convex mesh.

Returns
local-space bounds
virtual PX_PHYSX_COMMON_API void PxConvexMesh::getMassInformation ( PxReal mass,
PxMat33 localInertia,
PxVec3 localCenterOfMass 
) const
pure virtual

Returns the mass properties of the mesh assuming unit density.

The following relationship holds between mass and volume:

mass = volume * density

The mass of a unit density mesh is equal to its volume, so this function returns the volume of the mesh.

Similarly, to obtain the localInertia of an identically shaped object with a uniform density of d, simply multiply the localInertia of the unit density mesh by d.

Parameters
[out]massThe mass of the mesh assuming unit density.
[out]localInertiaThe inertia tensor in mesh local space assuming unit density.
[out]localCenterOfMassPosition of center of mass (or centroid) in mesh local space.
virtual PX_PHYSX_COMMON_API PxU32 PxConvexMesh::getNbPolygons ( ) const
pure virtual

Returns the number of polygons.

Returns
Number of polygons.
See Also
getIndexBuffer() getPolygonData()
virtual PX_PHYSX_COMMON_API PxU32 PxConvexMesh::getNbVertices ( ) const
pure virtual

Returns the number of vertices.

Returns
Number of vertices.
See Also
getVertices()
virtual PX_PHYSX_COMMON_API bool PxConvexMesh::getPolygonData ( PxU32  index,
PxHullPolygon data 
) const
pure virtual

Returns the polygon data.

Parameters
[in]indexPolygon index in [0 ; getNbPolygons()[.
[out]dataPolygon data.
Returns
True if success.
See Also
getIndexBuffer() getNbPolygons()
virtual PX_PHYSX_COMMON_API PxU32 PxConvexMesh::getReferenceCount ( ) const
pure virtual

Returns the reference count for shared meshes.

At creation, the reference count of the convex mesh is 1. Every shape referencing this convex mesh increments the count by 1. When the reference count reaches 0, and only then, the convex mesh gets destroyed automatically.

Returns
the current reference count.
virtual PX_PHYSX_COMMON_API const PxVec3* PxConvexMesh::getVertices ( ) const
pure virtual

Returns the vertices.

Returns
Array of vertices.
See Also
getNbVertices()
virtual PX_PHYSX_COMMON_API bool PxConvexMesh::isKindOf ( const char *  superClass) const
inlineprotectedvirtual

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxBase.

References PxBase::isKindOf().

virtual PX_PHYSX_COMMON_API void PxConvexMesh::release ( )
pure virtual

Decrements the reference count of a convex mesh and releases it if the new reference count is zero.

The mesh is destroyed when the application's reference is released and all shapes referencing the mesh are destroyed.

See Also
PxPhysics.createConvexMesh() PxConvexMeshGeometry PxShape

Implements PxBase.


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


Copyright © 2008-2015 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. www.nvidia.com