|
RavEngine
|
A convex mesh. More...
#include <PxConvexMesh.h>
Public Member Functions | |
| virtual PxU32 | getNbVertices () const =0 |
| Returns the number of vertices. | |
| virtual const PxVec3 * | getVertices () const =0 |
| Returns the vertices. | |
| virtual const PxU8 * | getIndexBuffer () const =0 |
| Returns the index buffer. | |
| virtual PxU32 | getNbPolygons () const =0 |
| Returns the number of polygons. | |
| virtual bool | getPolygonData (PxU32 index, PxHullPolygon &data) const =0 |
| Returns the polygon data. | |
| virtual void | release ()=0 |
| Decrements the reference count of a convex mesh and releases it if the new reference count is zero. | |
| virtual void | getMassInformation (PxReal &mass, PxMat33 &localInertia, PxVec3 &localCenterOfMass) const =0 |
| Returns the mass properties of the mesh assuming unit density. | |
| virtual PxBounds3 | getLocalBounds () const =0 |
| Returns the local-space (vertex space) AABB from the convex mesh. | |
| virtual const PxReal * | getSDF () const =0 |
| Returns the local-space Signed Distance Field for this mesh if it has one. | |
| virtual const char * | getConcreteTypeName () const |
| Returns string name of dynamic type. | |
| virtual bool | isGpuCompatible () const =0 |
| This method decides whether a convex mesh is gpu compatible. If the total number of vertices are more than 64 or any number of vertices in a polygon is more than 32, or convex hull data was not cooked with GPU data enabled during cooking or was loaded from a serialized collection, the convex hull is incompatible with GPU collision detection. Otherwise it is compatible. | |
Public Member Functions inherited from physx::PxRefCounted | |
| virtual PxU32 | getReferenceCount () const =0 |
| Returns the reference count of the object. | |
| virtual void | acquireReference ()=0 |
| Acquires a counted reference to this object. | |
Public Member Functions inherited from physx::PxBase | |
| template<class T > | |
| T * | is () |
| template<class T > | |
| const T * | is () const |
| PX_FORCE_INLINE PxType | getConcreteType () const |
| Returns concrete type of object. | |
| PX_FORCE_INLINE void | setBaseFlag (PxBaseFlag::Enum flag, bool value) |
| Set PxBaseFlag | |
| PX_FORCE_INLINE void | setBaseFlags (PxBaseFlags inFlags) |
| Set PxBaseFlags | |
| PX_FORCE_INLINE PxBaseFlags | getBaseFlags () const |
| Returns PxBaseFlags. | |
| virtual bool | isReleasable () const |
| Whether the object is subordinate. | |
Protected Member Functions | |
| PX_INLINE | PxConvexMesh (PxType concreteType, PxBaseFlags baseFlags) |
| PX_INLINE | PxConvexMesh (PxBaseFlags baseFlags) |
| virtual bool | isKindOf (const char *name) const |
| Returns whether a given type name matches with the type of this instance. | |
Protected Member Functions inherited from physx::PxRefCounted | |
| virtual void | onRefCountZero () |
| PX_INLINE | PxRefCounted (PxType concreteType, PxBaseFlags baseFlags) |
| PX_INLINE | PxRefCounted (PxBaseFlags baseFlags) |
Protected Member Functions inherited from physx::PxBase | |
| PX_INLINE | PxBase (PxType concreteType, PxBaseFlags baseFlags) |
| Constructor setting concrete type and base flags. | |
| PX_INLINE | PxBase (PxBaseFlags baseFlags) |
| Deserialization constructor setting base flags. | |
| virtual | ~PxBase () |
| Destructor. | |
| template<class T > | |
| bool | typeMatch () const |
Additional Inherited Members | |
Protected Attributes inherited from physx::PxBase | |
| PxType | mConcreteType |
| PxBaseFlags | mBaseFlags |
| PxU32 | mBuiltInRefCount |
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.
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.
|
inlinevirtual |
Returns string name of dynamic type.
Implements physx::PxBase.
|
pure virtual |
Returns the index buffer.
Implemented in physx::Gu::ConvexMesh.
|
pure virtual |
Returns the local-space (vertex space) AABB from the convex mesh.
Implemented in physx::Gu::ConvexMesh.
|
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.
| [out] | mass | The mass of the mesh assuming unit density. |
| [out] | localInertia | The inertia tensor in mesh local space assuming unit density. |
| [out] | localCenterOfMass | Position of center of mass (or centroid) in mesh local space. |
Implemented in physx::Gu::ConvexMesh.
|
pure virtual |
Returns the number of polygons.
Implemented in physx::Gu::ConvexMesh.
|
pure virtual |
Returns the number of vertices.
Implemented in physx::Gu::ConvexMesh.
|
pure virtual |
Returns the polygon data.
| [in] | index | Polygon index in [0 ; getNbPolygons()[. |
| [out] | data | Polygon data. |
Implemented in physx::Gu::ConvexMesh.
|
pure virtual |
Returns the local-space Signed Distance Field for this mesh if it has one.
Implemented in physx::Gu::ConvexMesh.
|
pure virtual |
Returns the vertices.
Implemented in physx::Gu::ConvexMesh.
|
pure virtual |
This method decides whether a convex mesh is gpu compatible. If the total number of vertices are more than 64 or any number of vertices in a polygon is more than 32, or convex hull data was not cooked with GPU data enabled during cooking or was loaded from a serialized collection, the convex hull is incompatible with GPU collision detection. Otherwise it is compatible.
Implemented in physx::Gu::ConvexMesh.
|
inlineprotectedvirtual |
Returns whether a given type name matches with the type of this instance.
Reimplemented from physx::PxRefCounted.
|
pure virtual |
Decrements the reference count of a convex mesh and releases it if the new reference count is zero.
Implements physx::PxRefCounted.
Implemented in physx::Gu::ConvexMesh.