Nv::Blast::ConvexMeshBuilder Class Reference

#include <NvBlastExtAuthoringCollisionBuilder.h>

List of all members.

Public Member Functions

virtual CollisionHull * buildCollisionGeometry (uint32_t verticesCount, const physx::PxVec3 *vertexData)=0
virtual physx::PxConvexMesh * buildConvexMesh (const CollisionHull &hull)=0
virtual physx::PxConvexMesh * buildConvexMesh (uint32_t verticesCount, const physx::PxVec3 *vertexData)=0
virtual int32_t buildMeshConvexDecomposition (const Nv::Blast::Triangle *mesh, uint32_t triangleCount, const CollisionParams &params, CollisionHull **&convexes)=0
virtual void release ()=0
virtual void trimCollisionGeometry (uint32_t chunksCount, CollisionHull **in, const uint32_t *chunkDepth)=0
virtual ~ConvexMeshBuilder ()


Detailed Description

ConvexMeshBuilder provides routine to build collision hulls from array of vertices. Collision hull is built as convex hull of provided point set. If due to some reason building of convex hull is failed, collision hull is built as bounding box of vertex set.

Constructor & Destructor Documentation

virtual Nv::Blast::ConvexMeshBuilder::~ConvexMeshBuilder (  )  [inline, virtual]


Member Function Documentation

virtual CollisionHull* Nv::Blast::ConvexMeshBuilder::buildCollisionGeometry ( uint32_t  verticesCount,
const physx::PxVec3 *  vertexData 
) [pure virtual]

Method creates CollisionHull from provided array of vertices.

Parameters:
[in] verticesCount Number of vertices
[in] vertexData Vertex array of some object, for which collision geometry should be built
[out] output Reference on CollisionHull object in which generated geometry should be saved

virtual physx::PxConvexMesh* Nv::Blast::ConvexMeshBuilder::buildConvexMesh ( const CollisionHull &  hull  )  [pure virtual]

Method creates PxConvexMesh from provided ConvexHull geometry

Parameters:
[in] hull ConvexHull geometry
Returns:
pointer to the PxConvexMesh object if it was built successfully, 'nullptr' otherwise.

virtual physx::PxConvexMesh* Nv::Blast::ConvexMeshBuilder::buildConvexMesh ( uint32_t  verticesCount,
const physx::PxVec3 *  vertexData 
) [pure virtual]

Method creates PxConvexMesh from provided array of vertices.

Parameters:
[in] verticesCount Number of vertices
[in] vertexData Vertex array of some object, for which collision geometry should be built
Returns:
pointer to the PxConvexMesh object if it was built successfully, 'nullptr' otherwise.

virtual int32_t Nv::Blast::ConvexMeshBuilder::buildMeshConvexDecomposition ( const Nv::Blast::Triangle *  mesh,
uint32_t  triangleCount,
const CollisionParams &  params,
CollisionHull **&  convexes 
) [pure virtual]

Create mesh convex decomposition

virtual void Nv::Blast::ConvexMeshBuilder::release (  )  [pure virtual]

Release ConvexMeshBuilder memory

virtual void Nv::Blast::ConvexMeshBuilder::trimCollisionGeometry ( uint32_t  chunksCount,
CollisionHull **  in,
const uint32_t *  chunkDepth 
) [pure virtual]

Convex geometry trimming. Using slicing with noised slicing surface can result in intersecting collision geometry. It leads to unstable behaviour of rigid body simulation. This method trims all intersecting parts of collision geometry. As a drawback, trimming collision geometry can lead to penetrating render meshes during simulation.

Parameters:
[in] chunksCount Number of chunks
[in,out] in ConvexHull geometry which should be clipped.
[in] chunkDepth Array of depth levels of convex hulls corresponding chunks.


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