My Project: dgCollisionSphere Class Reference

My Project

Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Friends | List of all members
dgCollisionSphere Class Reference

`#include <dgCollisionSphere.h>`

Inheritance diagram for dgCollisionSphere:

## Public Member Functions

| dgCollisionSphere (dgMemoryAllocator *allocator, dgUnsigned32 signature, dgFloat32 radius)
| dgCollisionSphere (dgWorld *const world, dgDeserialize deserialization, void *const userData)
virtual | ~dgCollisionSphere ()
Public Member Functions inherited from dgCollisionConvex
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
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

## Protected Member Functions

void | Init (dgFloat32 radius, dgMemoryAllocator *allocator)
virtual dgVector | SupportVertex (const dgVector &dir, dgInt32 *const vertexIndex) const
virtual void | CalcAABB (const dgMatrix &matrix, dgVector &p0, dgVector &p1) const
virtual void | DebugCollision (const dgMatrix &matrix, dgCollision::OnDebugCollisionMeshCallback callback, void *const userData) const
virtual dgFloat32 | RayCast (const dgVector &localP0, const dgVector &localP1, dgFloat32 maxT, dgContactPoint &contactOut, const dgBody *const body, void *const userData, OnRayPrecastAction preFilter) const
void | TesselateTriangle (dgInt32 level, const dgVector &p0, const dgVector &p1, const dgVector &p2, dgInt32 &count, dgVector *ouput) const
virtual dgInt32 | CalculateSignature () const
virtual void | SetCollisionBBox (const dgVector &p0, const dgVector &p1)
virtual void | MassProperties ()
virtual dgInt32 | CalculatePlaneIntersection (const dgVector &normal, const dgVector &point, dgVector *const contactsOut, dgFloat32 normalSign) const
virtual void | GetCollisionInfo (dgCollisionInfo *const info) const
virtual void | Serialize (dgSerialize callback, void *const userData) 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
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 dgFloat32 | GetVolume () const
virtual dgFloat32 | GetBoxMinRadius () const
virtual dgFloat32 | GetBoxMaxRadius () 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 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
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

static dgInt32 | CalculateSignature (dgFloat32 radius)
Static Protected Member Functions inherited from dgCollisionConvex
static void | CalculateInertia (void *userData, int vertexCount, const dgFloat32 *const FaceArray, int faceId)

## Protected Attributes

dgFloat32 | m_radius
dgVector | m_vertex [DG_SPHERE_VERTEX_COUNT]
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

## Static Protected Attributes

static dgInt32 | m_shapeRefCount = 0
static dgVector | m_unitSphere []
static dgConvexSimplexEdge | m_edgeArray []

## Friends

class | dgWorld

## 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

## Constructor & Destructor Documentation

## § dgCollisionSphere() [1/2]

dgCollisionSphere::dgCollisionSphere | ( | dgMemoryAllocator * | allocator,
|  | dgUnsigned32 | signature,
|  | dgFloat32 | radius
| ) |  |

## § dgCollisionSphere() [2/2]

dgCollisionSphere::dgCollisionSphere | ( | dgWorld *const | world,
|  | dgDeserialize | deserialization,
|  | void *const | userData
| ) |  |

## § ~dgCollisionSphere()

dgCollisionSphere::~dgCollisionSphere | ( |  | ) |

virtual

## Member Function Documentation

## § CalcAABB()

void dgCollisionSphere::CalcAABB | ( | const dgMatrix & | matrix,
|  | dgVector & | p0,
|  | dgVector & | p1
| ) |  | const

protectedvirtual

Reimplemented from dgCollisionConvex.

## § CalculateContacts()

dgInt32 dgCollisionSphere::CalculateContacts | ( | const dgVector & | point,
|  | const dgVector & | normal,
|  | dgCollisionParamProxy & | proxy,
|  | dgVector *const | contactsOut
| ) |  | const

protectedvirtual

Reimplemented from dgCollisionConvex.

## § CalculatePlaneIntersection()

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

protectedvirtual

Reimplemented from dgCollisionConvex.

## § CalculateSignature() [1/2]

dgInt32 dgCollisionSphere::CalculateSignature | ( | dgFloat32 | radius | ) |

staticprotected

## § CalculateSignature() [2/2]

dgInt32 dgCollisionSphere::CalculateSignature | ( |  | ) | const

protectedvirtual

Implements dgCollision.

## § ConvexConicSupporVertex() [1/2]

dgVector dgCollisionSphere::ConvexConicSupporVertex | ( | const dgVector & | dir | ) | const

protectedvirtual

Reimplemented from dgCollisionConvex.

## § ConvexConicSupporVertex() [2/2]

dgVector dgCollisionSphere::ConvexConicSupporVertex | ( | const dgVector & | point,
|  | const dgVector & | dir
| ) |  | const

protectedvirtual

Reimplemented from dgCollisionConvex.

## § DebugCollision()

void dgCollisionSphere::DebugCollision | ( | const dgMatrix & | matrix,
|  | dgCollision::OnDebugCollisionMeshCallback | callback,
|  | void *const | userData
| ) |  | const

protectedvirtual

Reimplemented from dgCollisionConvex.

## § GetCollisionInfo()

void dgCollisionSphere::GetCollisionInfo | ( | dgCollisionInfo *const | info | ) | const

protectedvirtual

Reimplemented from dgCollision.

## § Init()

void dgCollisionSphere::Init | ( | dgFloat32 | radius,
|  | dgMemoryAllocator * | allocator
| ) |  |

protected

## § MassProperties()

void dgCollisionSphere::MassProperties | ( |  | ) |

protectedvirtual

Reimplemented from dgCollisionConvex.

## § RayCast()

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

protectedvirtual

Reimplemented from dgCollisionConvex.

## § Serialize()

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

protectedvirtual

Implements dgCollision.

## § SetCollisionBBox()

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

protectedvirtual

Implements dgCollision.

## § SupportVertex()

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

protectedvirtual

Reimplemented from dgCollisionConvex.

Reimplemented in dgCollisionPoint.

## § TesselateTriangle()

void dgCollisionSphere::TesselateTriangle | ( | dgInt32 | level,
|  | const dgVector & | p0,
|  | const dgVector & | p1,
|  | const dgVector & | p2,
|  | dgInt32 & | count,
|  | dgVector * | ouput
| ) |  | const

protected

## Friends And Related Function Documentation

## § dgWorld

friend class dgWorld

friend

## Member Data Documentation

## § m_edgeArray

dgConvexSimplexEdge dgCollisionSphere::m_edgeArray

staticprotected

## § m_radius

dgFloat32 dgCollisionSphere::m_radius

protected

## § m_shapeRefCount

dgInt32 dgCollisionSphere::m_shapeRefCount = 0

staticprotected

## § m_unitSphere

dgVector dgCollisionSphere::m_unitSphere

staticprotected

## § m_vertex

dgVector dgCollisionSphere::m_vertex[DG_SPHERE_VERTEX_COUNT]

protected

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

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