RavEngine
Loading...
Searching...
No Matches
physx::Gu::PCMCapsuleVsMeshContactGeneration Class Reference
Inheritance diagram for physx::Gu::PCMCapsuleVsMeshContactGeneration:
[legend]
Collaboration diagram for physx::Gu::PCMCapsuleVsMeshContactGeneration:
[legend]

Public Member Functions

 PCMCapsuleVsMeshContactGeneration (const CapsuleV &capsule, const aos::FloatVArg contactDist, const aos::FloatVArg replaceBreakingThreshold, const aos::PxTransformV &sphereTransform, const aos::PxTransformV &meshTransform, Gu::MultiplePersistentContactManifold &multiManifold, PxContactBuffer &contactBuffer, PxInlineArray< PxU32, LOCAL_PCM_CONTACTS_SIZE > *deferredContacts, PxRenderOutput *renderOutput=NULL)
 
void generateEEContacts (const aos::Vec3VArg a, const aos::Vec3VArg b, const aos::Vec3VArg c, const aos::Vec3VArg normal, const PxU32 triangleIndex, const aos::Vec3VArg p, const aos::Vec3VArg q, const aos::FloatVArg sqInflatedRadius, const PxU32 previousNumContacts, Gu::MeshPersistentContact *manifoldContacts, PxU32 &numContacts)
 
void generateEE (const aos::Vec3VArg p, const aos::Vec3VArg q, const aos::FloatVArg sqInflatedRadius, const aos::Vec3VArg normal, const PxU32 triangleIndex, const aos::Vec3VArg a, const aos::Vec3VArg b, Gu::MeshPersistentContact *manifoldContacts, PxU32 &numContacts)
 
bool processTriangle (const PxVec3 *verts, const PxU32 triangleIndex, PxU8 triFlags, const PxU32 *vertInds)
 
- Public Member Functions inherited from physx::Gu::PCMMeshContactGeneration
 PCMMeshContactGeneration (const aos::FloatVArg contactDist, const aos::FloatVArg replaceBreakingThreshold, const aos::PxTransformV &convexTransform, const aos::PxTransformV &meshTransform, Gu::MultiplePersistentContactManifold &multiManifold, PxContactBuffer &contactBuffer, PxInlineArray< PxU32, LOCAL_PCM_CONTACTS_SIZE > *deferredContacts, PxRenderOutput *renderOutput)
 
template<PxU32 TriangleCount, typename Derived >
bool processTriangleCache (Gu::TriangleCache< TriangleCount > &cache)
 
void prioritizeContactPatches ()
 
void addManifoldPointToPatch (const aos::Vec3VArg currentPatchNormal, const aos::FloatVArg maxPen, const PxU32 previousNumContacts)
 
void processContacts (const PxU8 maxContactPerManifold, const bool isNotLastPatch=true)
 

Static Public Member Functions

static void generateContacts (const aos::Vec3VArg a, const aos::Vec3VArg b, const aos::Vec3VArg c, const aos::Vec3VArg planeNormal, const aos::Vec3VArg normal, const PxU32 triangleIndex, const aos::Vec3VArg p, const aos::Vec3VArg q, const aos::FloatVArg inflatedRadius, Gu::MeshPersistentContact *manifoldContacts, PxU32 &numContacts)
 
static void generateEEContactsMTD (const aos::Vec3VArg a, const aos::Vec3VArg b, const aos::Vec3VArg c, const aos::Vec3VArg normal, const PxU32 triangleIndex, const aos::Vec3VArg p, const aos::Vec3VArg q, const aos::FloatVArg inflatedRadius, Gu::MeshPersistentContact *manifoldContacts, PxU32 &numContacts)
 
static void generateEEMTD (const aos::Vec3VArg p, const aos::Vec3VArg q, const aos::FloatVArg inflatedRadius, const aos::Vec3VArg normal, const PxU32 trianlgeIndex, const aos::Vec3VArg a, const aos::Vec3VArg b, Gu::MeshPersistentContact *manifoldContacts, PxU32 &numContacts)
 
static bool processTriangle (const TriangleV &triangle, const PxU32 triangleIndex, const CapsuleV &capsule, const aos::FloatVArg inflatedRadius, const PxU8 triFlag, Gu::MeshPersistentContact *manifoldContacts, PxU32 &numContacts)
 

Public Attributes

aos::FloatV mInflatedRadius
 
aos::FloatV mSqInflatedRadius
 
const CapsuleV & mCapsule
 
- Public Attributes inherited from physx::Gu::PCMMeshContactGeneration
PCMContactPatch mContactPatch [PCM_MAX_CONTACTPATCH_SIZE]
 
PCMContactPatch * mContactPatchPtr [PCM_MAX_CONTACTPATCH_SIZE]
 
const aos::FloatV mContactDist
 
const aos::FloatV mReplaceBreakingThreshold
 
const aos::PxTransformV & mConvexTransform
 
const aos::PxTransformV & mMeshTransform
 
Gu::MultiplePersistentContactManifold & mMultiManifold
 
PxContactBuffer & mContactBuffer
 
aos::FloatV mAcceptanceEpsilon
 
aos::FloatV mSqReplaceBreakingThreshold
 
aos::PxMatTransformV mMeshToConvex
 
Gu::MeshPersistentContact * mManifoldContacts
 
PxU32 mNumContacts
 
PxU32 mNumContactPatch
 
PxU32 mNumCalls
 
Gu::CacheMap< Gu::CachedEdge, MAX_CACHE_SIZE > mEdgeCache
 
Gu::CacheMap< Gu::CachedVertex, MAX_CACHE_SIZE > mVertexCache
 
PxInlineArray< PxU32, LOCAL_PCM_CONTACTS_SIZE > * mDeferredContacts
 
PxRenderOutput * mRenderOutput
 

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