My Project: dgCollisionConvexPolygon Class Reference

My Project

Classes | Public Member Functions | Public Attributes | List of all members
dgCollisionConvexPolygon Class Reference

`#include <dgCollisionConvexPolygon.h>`

Inheritance diagram for dgCollisionConvexPolygon:

## Classes

class | dgClippedFaceEdge

## Public Member Functions

| dgCollisionConvexPolygon (dgMemoryAllocator *const allocator)
| ~dgCollisionConvexPolygon ()
virtual dgInt32 | CalculateSignature () const
virtual void | Serialize (dgSerialize callback, void *const userData) const
virtual void | SetCollisionBBox (const dgVector &p0, const dgVector &p1)
virtual dgFloat32 | RayCast (const dgVector &localP0, const dgVector &localP1, dgFloat32 maxT, dgContactPoint &contactOut, const dgBody *const body, void *const userData, OnRayPrecastAction preFilter) const
virtual dgVector | SupportVertex (const dgVector &dir, dgInt32 *const vertexIndex) const
virtual dgInt32 | CalculatePlaneIntersection (const dgVector &normal, const dgVector &point, dgVector *const contactsOut, dgFloat32 normalSign) const
virtual dgFloat32 | GetVolume () const
virtual dgFloat32 | GetBoxMinRadius () const
virtual dgFloat32 | GetBoxMaxRadius () const
void | BeamClipping (const dgVector &origin, dgFloat32 size)
void | SetFeatureHit (dgInt32 featureCount, const dgInt32 *const index)
dgInt32 | CalculateContactToConvexHullDescrete (dgCollisionParamProxy &proxy, const dgVector &polyInstanceScale, const dgVector &polyInstanceInvScale)
dgInt32 | CalculateContactToConvexHullContinue (dgCollisionParamProxy &proxy, const dgVector &polyInstanceScale, const dgVector &polyInstanceInvScale)
Public Member Functions inherited from dgCollisionConvex
virtual void | CalcAABB (const dgMatrix &matrix, dgVector &p0, dgVector &p1) const
virtual dgFloat32 | ConvexRayCast (const dgCollisionInstance *const convexShape, const dgMatrix &origin, const dgVector &veloc, dgFloat32 maxT, dgContactPoint &contactOut, const dgBody *const referenceBody, const dgCollisionInstance *const referenceInstance, void *const userData, dgInt32 threadId) const
virtual dgInt32 | GetConvexVertexCount () const
bool | IntesectionTest (dgCollisionParamProxy &proxy) const
bool | CalculateClosestPoints (dgCollisionParamProxy &proxy) const
dgInt32 | CalculateConvexCastContacts (dgCollisionParamProxy &proxy) const
dgInt32 | CalculateConvexToConvexContact (dgCollisionParamProxy &proxy) const
Public Member Functions inherited from dgCollision
dgInt32 | IsType (dgRTTI type) const
dgUnsigned32 | GetSignature () const
dgCollisionID | GetCollisionPrimityType () const
virtual dgFloat32 | GetSkinThickness () const
virtual void | GetCollisionInfo (dgCollisionInfo *const info) const
const dgCollision * | AddRef () const
dgInt32 | GetRefCount () const
virtual dgInt32 | Release () const
const dgVector & | GetObbOrigin () const
virtual dgVector | GetObbSize () const
dgFloat32 | GetUmbraClipSize () const
dgMemoryAllocator * | GetAllocator () const

## Public Attributes

dgVector | m_normal
dgVector | m_localPoly [DG_CONVEX_POLYGON_MAX_VERTEX_COUNT]
dgInt32 | m_clippEdgeNormal [DG_CONVEX_POLYGON_MAX_VERTEX_COUNT]
dgInt32 | m_count
dgInt32 | m_paddedCount
dgInt32 | m_faceId
dgInt32 | m_stride
dgInt32 | m_faceNormalIndex
dgInt32 | m_closestFeatureType
dgInt32 | m_closestFeatureStartIndex
dgFloat32 | m_faceClipSize
const dgFloat32 * | m_vertex
const dgInt32 * | m_vertexIndex
const dgInt32 * | m_adjacentFaceEdgeNormalIndex

## Additional Inherited Members

Public Types inherited from dgCollision

enum

dgRTTI {
dgCollisionNull_RTTI = 1<<0, dgCollisionBox_RTTI = 1<<1, dgCollisionCone_RTTI = 1<<2, dgCollisionSphere_RTTI = 1<<3,
dgCollisionCapsule_RTTI = 1<<4, dgCollisionCylinder_RTTI = 1<<5, dgCollisionConvexHull_RTTI = 1<<6, dgCollisionTaperedCapsule_RTTI = 1<<7,
dgCollisionTaperedCylinder_RTTI = 1<<8, dgCollisionChamferCylinder_RTTI = 1<<9, dgCollisionConvexPolygon_RTTI = 1<<10, dgCollisionConvexShape_RTTI = 1<<11,
dgCollisionCompound_RTTI = 1<<12, dgCollisionBVH_RTTI = 1<<13, dgCollisionMesh_RTTI = 1<<14, dgCollisionDeformableMesh_RTTI = 1<<15,
dgCollisionDeformableSolidMesh_RTTI = 1<<16, dgCollisionDeformableClothPatch_RTTI = 1<<17, dgCollisionUserMesh_RTTI = 1<<18, dgCollisionHeightField_RTTI = 1<<19,
dgCollisionScene_RTTI = 1<<20, dgCollisionCompoundBreakable_RTTI = 1<<21
}

typedef void(dgApi * | OnDebugCollisionMeshCallback) (void *userData, int vertexCount, const dgFloat32 *FaceArray, int faceId)
Static Public Member Functions inherited from dgCollision
static dgUnsigned32 | Quantize (dgFloat32 value)
static dgUnsigned32 | Quantize (void *buffer, int size)
Static Public Attributes inherited from dgCollisionConvex
static dgVector | m_hullDirs [14]
static dgVector | m_dummySum [4]
static dgInt32 | m_rayCastSimplex [4][4]
static dgCollisionPriority | m_priorityOrder
Protected Member Functions inherited from dgCollisionConvex
| dgCollisionConvex (dgMemoryAllocator *const allocator, dgUnsigned32 signature, dgCollisionID id)
| dgCollisionConvex (dgWorld *const world, dgDeserialize deserialization, void *const userData)
| ~dgCollisionConvex ()
virtual void | SerializeLow (dgSerialize callback, void *const userData) const
virtual dgVector | CalculateVolumeIntegral (const dgMatrix &globalMatrix, const dgVector &plane, const dgCollisionInstance &parentScale) const
virtual void * | GetUserData () const
virtual void | SetUserData (void *const userData)
dgInt32 | RayCastClosestFace (dgVector *tetrahedrum, const dgVector &origin, dgFloat32 &pointDist) const
dgInt32 | SimplifyClipPolygon (dgInt32 count, const dgVector &normal, dgVector *const polygon) const
dgVector | CalculateVolumeIntegral (const dgPlane &plane) const
void | SetVolumeAndCG ()
bool | SanityCheck (dgPolyhedra &hull) const
virtual void | DebugCollision (const dgMatrix &matrix, dgCollision::OnDebugCollisionMeshCallback callback, void *const userData) const
virtual void | MassProperties ()
virtual dgMatrix | CalculateInertiaAndCenterOfMass (const dgMatrix &m_alignMatrix, const dgVector &localScale, const dgMatrix &matrix) const
virtual dgFloat32 | CalculateMassProperties (const dgMatrix &offset, dgVector &inertia, dgVector &crossInertia, dgVector &centerOfMass) const
bool | SanityCheck (dgInt32 count, const dgVector &normal, dgVector *const contactsOut) const
dgPerimenterEdge * | ReduceContacts (dgPerimenterEdge *poly, dgInt32 maxCount) const
dgInt32 | RectifyConvexSlice (dgInt32 count, const dgVector &normal, dgVector *const contactsOut) const
virtual dgVector | ConvexConicSupporVertex (const dgVector &dir) const
virtual dgVector | ConvexConicSupporVertex (const dgVector &point, const dgVector &dir) const
virtual dgInt32 | CalculateContacts (const dgVector &point, const dgVector &normal, dgCollisionParamProxy &proxy, dgVector *const contactsOut) const
dgInt32 | CalculateContactsGeneric (const dgVector &point, const dgVector &normal, dgCollisionParamProxy &proxy, dgVector *const contactsOut) const
dgInt32 | ConvexPolygonsIntersection (const dgVector &nornal, dgInt32 count1, dgVector *const shape1, dgInt32 count2, dgVector *const shape2, dgVector *const contactOut, dgInt32 maxContacts) const
dgInt32 | ConvexPolygonToLineIntersection (const dgVector &normal, dgInt32 count1, dgVector *const shape1, dgInt32 count2, dgVector *const shape2, dgVector *const contactOut, dgVector *const mem) const
dgFloat32 | ConvexConicConvexRayCast (const dgCollisionInstance *const convexConicShape, const dgMatrix &conicShapeMatrix, const dgCollisionInstance *const convexCastingShape, const dgMatrix &castingMatrix, const dgVector &castingVeloc, dgFloat32 maxT, dgContactPoint &contactOut) const
virtual const dgConvexSimplexEdge ** | GetVertexToEdgeMapping () const
Protected Member Functions inherited from dgCollision
| dgCollision (const dgCollision &source)
| dgCollision (dgMemoryAllocator *const allocator, dgUnsigned32 signature, dgCollisionID id)
| dgCollision (dgWorld *const world, dgDeserialize deserialization, void *const userData)
virtual | ~dgCollision ()
void | SetSignature (dgInt32 signature)
Static Protected Member Functions inherited from dgCollisionConvex
static void | CalculateInertia (void *userData, int vertexCount, const dgFloat32 *const FaceArray, int faceId)
Protected Attributes inherited from dgCollisionConvex
void * | m_userData
dgVector * | m_vertex
dgConvexSimplexEdge * | m_simplex
dgFloat32 | m_boxMinRadius
dgFloat32 | m_boxMaxRadius
dgFloat32 | m_simplexVolume
dgUnsigned16 | m_edgeCount
dgUnsigned16 | m_vertexCount
Protected Attributes inherited from dgCollision
dgVector | m_inertia
dgVector | m_crossInertia
dgVector | m_centerOfMass
dgVector | m_boxSize
dgVector | m_boxOrigin
dgInt32 | m_rtti
dgInt32 | m_refCount
dgUnsigned32 | m_signature
dgCollisionID | m_collisionId
dgMemoryAllocator * | m_allocator

## Constructor & Destructor Documentation

## § dgCollisionConvexPolygon()

dgCollisionConvexPolygon::dgCollisionConvexPolygon | ( | dgMemoryAllocator *const | allocator | ) |

## § ~dgCollisionConvexPolygon()

dgCollisionConvexPolygon::~dgCollisionConvexPolygon | ( |  | ) |

## Member Function Documentation

## § BeamClipping()

void dgCollisionConvexPolygon::BeamClipping | ( | const dgVector & | origin,
|  | dgFloat32 | size
| ) |  |

## § CalculateContactToConvexHullContinue()

dgInt32 dgCollisionConvexPolygon::CalculateContactToConvexHullContinue | ( | dgCollisionParamProxy & | proxy,
|  | const dgVector & | polyInstanceScale,
|  | const dgVector & | polyInstanceInvScale
| ) |  |

## § CalculateContactToConvexHullDescrete()

dgInt32 dgCollisionConvexPolygon::CalculateContactToConvexHullDescrete | ( | dgCollisionParamProxy & | proxy,
|  | const dgVector & | polyInstanceScale,
|  | const dgVector & | polyInstanceInvScale
| ) |  |

## § CalculatePlaneIntersection()

dgInt32 dgCollisionConvexPolygon::CalculatePlaneIntersection | ( | const dgVector & | normal,
|  | const dgVector & | point,
|  | dgVector *const | contactsOut,
|  | dgFloat32 | normalSign
| ) |  | const

virtual

Reimplemented from dgCollisionConvex.

## § CalculateSignature()

dgInt32 dgCollisionConvexPolygon::CalculateSignature | ( |  | ) | const

virtual

Implements dgCollision.

## § GetBoxMaxRadius()

dgFloat32 dgCollisionConvexPolygon::GetBoxMaxRadius | ( |  | ) | const

virtual

Reimplemented from dgCollisionConvex.

## § GetBoxMinRadius()

dgFloat32 dgCollisionConvexPolygon::GetBoxMinRadius | ( |  | ) | const

virtual

Reimplemented from dgCollisionConvex.

## § GetVolume()

dgFloat32 dgCollisionConvexPolygon::GetVolume | ( |  | ) | const

virtual

Reimplemented from dgCollisionConvex.

## § RayCast()

dgFloat32 dgCollisionConvexPolygon::RayCast | ( | const dgVector & | localP0,
|  | const dgVector & | localP1,
|  | dgFloat32 | maxT,
|  | dgContactPoint & | contactOut,
|  | const dgBody *const | body,
|  | void *const | userData,
|  | OnRayPrecastAction | preFilter
| ) |  | const

virtual

Reimplemented from dgCollisionConvex.

## § Serialize()

void dgCollisionConvexPolygon::Serialize | ( | dgSerialize | callback,
|  | void *const | userData
| ) |  | const

virtual

Implements dgCollision.

## § SetCollisionBBox()

void dgCollisionConvexPolygon::SetCollisionBBox | ( | const dgVector & | p0,
|  | const dgVector & | p1
| ) |  |

virtual

Implements dgCollision.

## § SetFeatureHit()

void dgCollisionConvexPolygon::SetFeatureHit | ( | dgInt32 | featureCount,
|  | const dgInt32 *const | index
| ) |  |

## § SupportVertex()

dgVector dgCollisionConvexPolygon::SupportVertex | ( | const dgVector & | dir,
|  | dgInt32 *const | vertexIndex
| ) |  | const

virtual

Reimplemented from dgCollisionConvex.

## Member Data Documentation

## § m_adjacentFaceEdgeNormalIndex

const dgInt32* dgCollisionConvexPolygon::m_adjacentFaceEdgeNormalIndex

## § m_clippEdgeNormal

dgInt32 dgCollisionConvexPolygon::m_clippEdgeNormal[DG_CONVEX_POLYGON_MAX_VERTEX_COUNT]

## § m_closestFeatureStartIndex

dgInt32 dgCollisionConvexPolygon::m_closestFeatureStartIndex

## § m_closestFeatureType

dgInt32 dgCollisionConvexPolygon::m_closestFeatureType

## § m_count

dgInt32 dgCollisionConvexPolygon::m_count

## § m_faceClipSize

dgFloat32 dgCollisionConvexPolygon::m_faceClipSize

## § m_faceId

dgInt32 dgCollisionConvexPolygon::m_faceId

## § m_faceNormalIndex

dgInt32 dgCollisionConvexPolygon::m_faceNormalIndex

## § m_localPoly

dgVector dgCollisionConvexPolygon::m_localPoly[DG_CONVEX_POLYGON_MAX_VERTEX_COUNT]

## § m_normal

dgVector dgCollisionConvexPolygon::m_normal

## § m_paddedCount

dgInt32 dgCollisionConvexPolygon::m_paddedCount

## § m_stride

dgInt32 dgCollisionConvexPolygon::m_stride

## § m_vertex

const dgFloat32* dgCollisionConvexPolygon::m_vertex

## § m_vertexIndex

const dgInt32* dgCollisionConvexPolygon::m_vertexIndex

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

- dynamics.mod/NewtonDynamics/source/physics/dgCollisionConvexPolygon.h
- dynamics.mod/NewtonDynamics/source/physics/dgCollisionConvexPolygon.cpp