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

Public Member Functions

 PCMConvexVsMeshContactGeneration (const aos::FloatVArg contactDistance, const aos::FloatVArg replaceBreakingThreshold, const aos::PxTransformV &convexTransform, const aos::PxTransformV &meshTransform, Gu::MultiplePersistentContactManifold &multiManifold, PxContactBuffer &contactBuffer, const Gu::PolygonalData &polyData, SupportLocal *polyMap, PxInlineArray< PxU32, LOCAL_PCM_CONTACTS_SIZE > *delayedContacts, const Cm::FastVertex2ShapeScaling &convexScaling, bool idtConvexScale, bool silhouetteEdgesAreActive, PxRenderOutput *renderOutput)
 
bool generateTriangleFullContactManifold (Gu::TriangleV &localTriangle, const PxU32 triangleIndex, const PxU32 *triIndices, const PxU8 triFlags, const Gu::PolygonalData &polyData, Gu::SupportLocalImpl< Gu::TriangleV > *localTriMap, Gu::SupportLocal *polyMap, Gu::MeshPersistentContact *manifoldContacts, PxU32 &numContacts, const aos::FloatVArg contactDist, aos::Vec3V &patchNormal)
 
bool generatePolyDataContactManifold (Gu::TriangleV &localTriangle, const PxU32 featureIndex, const PxU32 triangleIndex, const PxU8 triFlags, Gu::MeshPersistentContact *manifoldContacts, PxU32 &numContacts, const aos::FloatVArg contactDist, aos::Vec3V &patchNormal)
 
void generateLastContacts ()
 
void addContactsToPatch (const aos::Vec3VArg patchNormal, const PxU32 previousNumContacts)
 
bool processTriangle (const PxVec3 *verts, 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 bool generateTriangleFullContactManifold (Gu::TriangleV &localTriangle, const PxU32 triangleIndex, const PxU8 triFlags, const Gu::PolygonalData &polyData, Gu::SupportLocalImpl< Gu::TriangleV > *localTriMap, Gu::SupportLocal *polyMap, Gu::MeshPersistentContact *manifoldContacts, PxU32 &numContacts, const aos::FloatVArg contactDist, aos::Vec3V &patchNormal, PxRenderOutput *renderOutput=NULL)
 
static bool processTriangle (const Gu::PolygonalData &polyData, SupportLocal *polyMap, const PxVec3 *verts, const PxU32 triangleIndex, PxU8 triFlags, const aos::FloatVArg inflation, const bool isDoubleSided, const aos::PxTransformV &convexTransform, const aos::PxMatTransformV &meshToConvex, Gu::MeshPersistentContact *manifoldContact, PxU32 &numContacts)
 

Public Attributes

aos::Vec3V mHullCenterMesh
 
const Gu::PolygonalData & mPolyData
 
SupportLocal * mPolyMap
 
const Cm::FastVertex2ShapeScaling & mConvexScaling
 
bool mIdtConvexScale
 
bool mSilhouetteEdgesAreActive
 
- 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: