My Project: dgCollisionConvex::dgMinkHull Class Reference

My Project

Classes | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
dgCollisionConvex::dgMinkHull Class Reference
Inheritance diagram for dgCollisionConvex::dgMinkHull:

## Public Member Functions

| dgMinkHull (dgCollisionParamProxy &proxy)
DG_INLINE dgMinkFace * | NewFace ()
void DG_INLINE | DeleteFace (dgMinkFace *const face)
DG_INLINE dgMinkFace * | AddFace (dgInt32 v0, dgInt32 v1, dgInt32 v2)
DG_INLINE void | PushFace (dgMinkFace *const face)
void | SaveOFF (const char *const fileName) const
void | SupportVertex (const dgVector &dir, dgInt32 vertexIndex)
void | TranslateSimplex (const dgVector &step)
dgInt32 | CalculateClosestSimplex ()
dgInt32 | CalculateClosestSimplexLarge ()
void | CalculateContactFromFeacture (dgInt32 featureType)
void | CalculateClosestPoints ()
bool | DisjointTest ()
bool | SanityCheck ()
dgInt32 | CalculateIntersectingPlane (dgInt32 count)
Public Member Functions inherited from dgDownHeap< dgMinkFace *, dgFloat32 >
| dgDownHeap (dgInt32 maxElements, dgMemoryAllocator *const allocator)
| dgDownHeap (const void *const buffer, dgInt32 sizeInBytes)
void | Pop ()
void | Push (dgMinkFace * &obj, dgFloat32 key)
void | Sort ()
void | Remove (dgInt32 Index)
Public Member Functions inherited from dgHeapBase< dgMinkFace *, dgFloat32 >
void | Flush ()
dgFloat32 | MaxValue () const
dgFloat32 | Value (dgInt32 i=0) const
dgInt32 | GetCount () const
dgInt32 | GetMaxCount () const
const dgMinkFace * & | operator[] (dgInt32 i) const
dgInt32 | Find (dgMinkFace * &obj)
dgInt32 | Find (dgFloat32 key)

## Static Public Member Functions

static dgVector | ReduceLine (dgInt32 &indexOut, dgVector *const lineDiff, dgVector *const lineSum, dgInt32 *const shapeFaceIndex)
static dgVector | ReduceLineLarge (dgInt32 &indexOut, dgVector *const lineDiff, dgVector *const lineSum, dgInt32 *const shapeFaceIndex)
static void | ReduceDegeneratedTriangle (dgVector &diff0, dgVector &sum0, dgVector &diff1, dgVector &sum1, const dgVector &diff2, const dgVector &sum2)
static dgVector | ReduceTriangle (dgInt32 &indexOut, dgVector *const triangleDiff, dgVector *const triangleSum, dgInt32 *const shapeFaceIndex)
static dgVector | ReduceTriangleLarge (dgInt32 &indexOut, dgVector *const triangleDiff, dgVector *const triangleSum, dgInt32 *const shapeFaceIndex)
static dgVector | ReduceTetrahedrum (dgInt32 &indexOut, dgVector *const tetraDiff, dgVector *const tetraSum, dgInt32 *const shapeFaceIndex)
static dgVector | ReduceTetrahedrumLarge (dgInt32 &indexOut, dgVector *const tetraDiff, dgVector *const tetraSum, dgInt32 *const shapeFaceIndex)

## Public Attributes

dgMatrix | m_matrix
dgVector | m_otherScale
dgVector | m_myInvScale
dgVector | m_p
dgVector | m_q
dgVector | m_normal
dgInt32 | m_faceIndex
dgInt32 | m_vertexIndex
dgContact * | m_contactJoint
dgCollisionConvex * | m_myShape
dgCollisionConvex * | m_otherShape
dgCollisionParamProxy * | m_proxy
dgFaceFreeList * | m_freeFace
dgCollisionInstance::dgScaleType | m_scaleType
dgMinkFace * | m_faceStack [DG_CONVEX_MINK_STACK_SIZE]
dgMinkFace * | m_coneFaceList [DG_CONVEX_MINK_STACK_SIZE]
dgMinkFace * | m_deletedFaceList [DG_CONVEX_MINK_STACK_SIZE]
dgInt32 | m_polygonFaceIndex [DG_CONVEX_MINK_MAX_POINTS]
dgVector | m_hullDiff [DG_CONVEX_MINK_MAX_POINTS]
dgVector | m_hullSum [DG_CONVEX_MINK_MAX_POINTS]
dgMinkFace | m_facePool [DG_CONVEX_MINK_MAX_FACES]
dgInt8 | m_heapBuffer [DG_CONVEX_MINK_MAX_FACES *(sizeof(dgFloat32)+sizeof(dgMinkFace *))]
Public Attributes inherited from dgHeapBase< dgMinkFace *, dgFloat32 >
dgInt32 | m_curCount
dgInt32 | m_maxCount
dgMemoryAllocator * | m_allocator
RECORD * | m_pool

## Additional Inherited Members

Protected Member Functions inherited from dgHeapBase< dgMinkFace *, dgFloat32 >
| dgHeapBase (dgInt32 maxElements, dgMemoryAllocator *const allocator)
| dgHeapBase (const void *const buffer, dgInt32 sizeInBytes)
| ~dgHeapBase ()

## Constructor & Destructor Documentation

## § dgMinkHull()

dgCollisionConvex::dgMinkHull::dgMinkHull | ( | dgCollisionParamProxy & | proxy | ) |

inline

## Member Function Documentation

## § AddFace()

DG_INLINE dgMinkFace* dgCollisionConvex::dgMinkHull::AddFace | ( | dgInt32 | v0,
|  | dgInt32 | v1,
|  | dgInt32 | v2
| ) |  |

inline

## § CalculateClosestPoints()

void dgCollisionConvex::dgMinkHull::CalculateClosestPoints | ( |  | ) |

inline

## § CalculateClosestSimplex()

dgInt32 dgCollisionConvex::dgMinkHull::CalculateClosestSimplex | ( |  | ) |

inline

## § CalculateClosestSimplexLarge()

dgInt32 dgCollisionConvex::dgMinkHull::CalculateClosestSimplexLarge | ( |  | ) |

inline

## § CalculateContactFromFeacture()

void dgCollisionConvex::dgMinkHull::CalculateContactFromFeacture | ( | dgInt32 | featureType | ) |

inline

## § CalculateIntersectingPlane()

dgInt32 dgCollisionConvex::dgMinkHull::CalculateIntersectingPlane | ( | dgInt32 | count | ) |

inline

## § DeleteFace()

void DG_INLINE dgCollisionConvex::dgMinkHull::DeleteFace | ( | dgMinkFace *const | face | ) |

inline

## § DisjointTest()

bool dgCollisionConvex::dgMinkHull::DisjointTest | ( |  | ) |

inline

## § NewFace()

DG_INLINE dgMinkFace* dgCollisionConvex::dgMinkHull::NewFace | ( |  | ) |

inline

## § PushFace()

DG_INLINE void dgCollisionConvex::dgMinkHull::PushFace | ( | dgMinkFace *const | face | ) |

inline

## § ReduceDegeneratedTriangle()

static void dgCollisionConvex::dgMinkHull::ReduceDegeneratedTriangle | ( | dgVector & | diff0,
|  | dgVector & | sum0,
|  | dgVector & | diff1,
|  | dgVector & | sum1,
|  | const dgVector & | diff2,
|  | const dgVector & | sum2
| ) |  |

inlinestatic

## § ReduceLine()

static dgVector dgCollisionConvex::dgMinkHull::ReduceLine | ( | dgInt32 & | indexOut,
|  | dgVector *const | lineDiff,
|  | dgVector *const | lineSum,
|  | dgInt32 *const | shapeFaceIndex
| ) |  |

inlinestatic

## § ReduceLineLarge()

static dgVector dgCollisionConvex::dgMinkHull::ReduceLineLarge | ( | dgInt32 & | indexOut,
|  | dgVector *const | lineDiff,
|  | dgVector *const | lineSum,
|  | dgInt32 *const | shapeFaceIndex
| ) |  |

inlinestatic

## § ReduceTetrahedrum()

static dgVector dgCollisionConvex::dgMinkHull::ReduceTetrahedrum | ( | dgInt32 & | indexOut,
|  | dgVector *const | tetraDiff,
|  | dgVector *const | tetraSum,
|  | dgInt32 *const | shapeFaceIndex
| ) |  |

inlinestatic

## § ReduceTetrahedrumLarge()

static dgVector dgCollisionConvex::dgMinkHull::ReduceTetrahedrumLarge | ( | dgInt32 & | indexOut,
|  | dgVector *const | tetraDiff,
|  | dgVector *const | tetraSum,
|  | dgInt32 *const | shapeFaceIndex
| ) |  |

inlinestatic

## § ReduceTriangle()

static dgVector dgCollisionConvex::dgMinkHull::ReduceTriangle | ( | dgInt32 & | indexOut,
|  | dgVector *const | triangleDiff,
|  | dgVector *const | triangleSum,
|  | dgInt32 *const | shapeFaceIndex
| ) |  |

inlinestatic

## § ReduceTriangleLarge()

static dgVector dgCollisionConvex::dgMinkHull::ReduceTriangleLarge | ( | dgInt32 & | indexOut,
|  | dgVector *const | triangleDiff,
|  | dgVector *const | triangleSum,
|  | dgInt32 *const | shapeFaceIndex
| ) |  |

inlinestatic

## § SanityCheck()

bool dgCollisionConvex::dgMinkHull::SanityCheck | ( |  | ) |

inline

## § SaveOFF()

void dgCollisionConvex::dgMinkHull::SaveOFF | ( | const char *const | fileName | ) | const

inline

## § SupportVertex()

void dgCollisionConvex::dgMinkHull::SupportVertex | ( | const dgVector & | dir,
|  | dgInt32 | vertexIndex
| ) |  |

inline

## § TranslateSimplex()

void dgCollisionConvex::dgMinkHull::TranslateSimplex | ( | const dgVector & | step | ) |

inline

## Member Data Documentation

## § m_coneFaceList

dgMinkFace* dgCollisionConvex::dgMinkHull::m_coneFaceList[DG_CONVEX_MINK_STACK_SIZE]

## § m_contactJoint

dgContact* dgCollisionConvex::dgMinkHull::m_contactJoint

## § m_deletedFaceList

dgMinkFace* dgCollisionConvex::dgMinkHull::m_deletedFaceList[DG_CONVEX_MINK_STACK_SIZE]

## § m_faceIndex

dgInt32 dgCollisionConvex::dgMinkHull::m_faceIndex

## § m_facePool

dgMinkFace dgCollisionConvex::dgMinkHull::m_facePool[DG_CONVEX_MINK_MAX_FACES]

## § m_faceStack

dgMinkFace* dgCollisionConvex::dgMinkHull::m_faceStack[DG_CONVEX_MINK_STACK_SIZE]

## § m_freeFace

dgFaceFreeList* dgCollisionConvex::dgMinkHull::m_freeFace

## § m_heapBuffer

dgInt8 dgCollisionConvex::dgMinkHull::m_heapBuffer[DG_CONVEX_MINK_MAX_FACES *(sizeof(dgFloat32)+sizeof(dgMinkFace *))]

## § m_hullDiff

dgVector dgCollisionConvex::dgMinkHull::m_hullDiff[DG_CONVEX_MINK_MAX_POINTS]

## § m_hullSum

dgVector dgCollisionConvex::dgMinkHull::m_hullSum[DG_CONVEX_MINK_MAX_POINTS]

## § m_matrix

dgMatrix dgCollisionConvex::dgMinkHull::m_matrix

## § m_myInvScale

dgVector dgCollisionConvex::dgMinkHull::m_myInvScale

## § m_myShape

dgCollisionConvex* dgCollisionConvex::dgMinkHull::m_myShape

## § m_normal

dgVector dgCollisionConvex::dgMinkHull::m_normal

## § m_otherScale

dgVector dgCollisionConvex::dgMinkHull::m_otherScale

## § m_otherShape

dgCollisionConvex* dgCollisionConvex::dgMinkHull::m_otherShape

## § m_p

dgVector dgCollisionConvex::dgMinkHull::m_p

## § m_polygonFaceIndex

dgInt32 dgCollisionConvex::dgMinkHull::m_polygonFaceIndex[DG_CONVEX_MINK_MAX_POINTS]

## § m_proxy

dgCollisionParamProxy* dgCollisionConvex::dgMinkHull::m_proxy

## § m_q

dgVector dgCollisionConvex::dgMinkHull::m_q

## § m_scaleType

dgCollisionInstance::dgScaleType dgCollisionConvex::dgMinkHull::m_scaleType

## § m_vertexIndex

dgInt32 dgCollisionConvex::dgMinkHull::m_vertexIndex

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

- dynamics.mod/NewtonDynamics/source/physics/dgCollisionConvex.cpp