RavEngine
Loading...
Searching...
No Matches
local::QuickHull Class Reference
Inheritance diagram for local::QuickHull:
[legend]
Collaboration diagram for local::QuickHull:
[legend]

Public Member Functions

 QuickHull (const PxCookingParams &params, const PxConvexMeshDesc &desc)
 
void preallocate (PxU32 numVertices)
 
void parseInputVertices (const PxVec3 *verts, PxU32 numVerts)
 
void releaseHull ()
 
void setPrecomputedMinMax (const QuickHullVertex *minVertex, const QuickHullVertex *maxVertex, const float tolerance, const float planeTolerance)
 
QuickHullResult::Enum buildHull ()
 
PxU32 maxNumVertsPerFace () const
 
- Public Member Functions inherited from physx::PxUserAllocated
PX_INLINE void * operator new (size_t, void *address)
 
PX_INLINE void operator delete (void *, void *)
 
template<typename Alloc >
PX_INLINE void * operator new (size_t size, Alloc alloc, const char *fileName, int line)
 
template<typename Alloc >
PX_INLINE void * operator new (size_t size, size_t, Alloc alloc, const char *fileName, int line)
 
template<typename Alloc >
PX_INLINE void * operator new[] (size_t size, Alloc alloc, const char *fileName, int line)
 
template<typename Alloc >
PX_INLINE void * operator new[] (size_t size, size_t, Alloc alloc, const char *fileName, int line)
 
template<typename Alloc >
PX_INLINE void operator delete (void *ptr, Alloc alloc, const char *fileName, int line)
 
template<typename Alloc >
PX_INLINE void operator delete[] (void *ptr, Alloc alloc, const char *fileName, int line)
 
PX_INLINE void operator delete (void *ptr)
 
PX_INLINE void operator delete[] (void *ptr)
 

Protected Member Functions

void computeMinMaxVerts ()
 
bool findSimplex ()
 
void addSimplex (QuickHullVertex *simplex, bool flipTriangle)
 
QuickHullVertex * nextPointToAdd (QuickHullFace *&eyeFace)
 
bool addPointToHull (const QuickHullVertex *vertex, QuickHullFace &face, bool &addFailed)
 
QuickHullFace * createTriangle (const QuickHullVertex &v0, const QuickHullVertex &v1, const QuickHullVertex &v2)
 
void addPointToFace (QuickHullFace &face, QuickHullVertex *vertex, float dist)
 
void removeEyePointFromFace (QuickHullFace &face, const QuickHullVertex *vertex)
 
void calculateHorizon (const PxVec3 &eyePoint, QuickHullHalfEdge *edge, QuickHullFace &face, QuickHullHalfEdgeArray &horizon, QuickHullFaceArray &removedFaces)
 
void addNewFacesFromHorizon (const QuickHullVertex *eyePoint, const QuickHullHalfEdgeArray &horizon, QuickHullFaceArray &newFaces)
 
bool doAdjacentMerge (QuickHullFace &face, bool mergeWrtLargeFace, bool &mergeFailed)
 
bool doPostAdjacentMerge (QuickHullFace &face, const float minAngle)
 
void deleteFacePoints (QuickHullFace &faceToDelete, QuickHullFace *absorbingFace)
 
void resolveUnclaimedPoints (const QuickHullFaceArray &newFaces)
 
void postMergeHull ()
 
bool canMergeFaces (const QuickHullHalfEdge &he)
 
PX_FORCE_INLINE QuickHullFace * getFreeHullFace ()
 
PX_FORCE_INLINE QuickHullHalfEdge * getFreeHullHalfEdge ()
 
PX_FORCE_INLINE PxU32 getNbHullVerts ()
 

Protected Attributes

const PxCookingParams & mCookingParams
 
const PxConvexMeshDesc & mConvexDesc
 
PxVec3 mInteriorPoint
 
PxU32 mMaxVertices
 
PxU32 mNumVertices
 
PxU32 mOutputNumVertices
 
PxU32 mTerminalVertex
 
QuickHullVertex * mVerticesList
 
MemBlock< QuickHullHalfEdge, false > mFreeHalfEdges
 
MemBlock< QuickHullFace, true > mFreeFaces
 
QuickHullFaceArray mHullFaces
 
PxU32 mNumHullFaces
 
bool mPrecomputedMinMax
 
QuickHullVertex mMinVertex [3]
 
QuickHullVertex mMaxVertex [3]
 
float mTolerance
 
float mPlaneTolerance
 
QuickHullVertexArray mUnclaimedPoints
 
QuickHullHalfEdgeArray mHorizon
 
QuickHullFaceArray mNewFaces
 
QuickHullFaceArray mRemovedFaces
 
QuickHullFaceArray mDiscardedFaces
 

Friends

class physx::QuickHullConvexHullLib
 

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