22 #if !defined(AFX_DGCOLLISIONCAPSULE_H__AS235640FER__INCLUDED_) 23 #define AFX_DGCOLLISIONCAPSULE_H__AS235640FER__INCLUDED_ 27 #include "dgCollisionConvex.h" 29 #define DG_CAP_SEGMENTS 4 30 #define DG_CAPSULE_SEGMENTS 6 38 dgFloat32 GetRadius()
const {
41 dgFloat32 GetHeight()
const {
47 void Init(dgFloat32 radius, dgFloat32 height);
50 virtual dgFloat32 RayCast(
const dgVector &localP0,
const dgVector &localP1,
dgContactPoint &contactOut, OnRayPrecastAction preFilter,
const dgBody *
const body,
void *
const userData)
const;
51 virtual dgFloat32 RayCastSimd(
const dgVector &localP0,
const dgVector &localP1,
dgContactPoint &contactOut, OnRayPrecastAction preFilter,
const dgBody *
const body,
void *
const userData)
const;
56 virtual dgInt32 CalculatePlaneIntersection(
const dgVector &normal,
const dgVector &point,
dgVector *
const contactsOut)
const;
57 virtual dgInt32 CalculatePlaneIntersectionSimd(
const dgVector &normal,
const dgVector &point,
dgVector *
const contactsOut)
const;
60 virtual void DebugCollision(
const dgMatrix &matrix, OnDebugCollisionMeshCallback callback,
void *
const userData)
const;
62 virtual dgInt32 CalculateSignature()
const;
67 virtual void Serialize(dgSerialize callback,
void *
const userData)
const;
69 dgFloat32 m_height[2];
72 dgFloat32 m_tethaStep;
73 dgFloat32 m_tethaStepInv;
74 dgFloat32 m_delCosTetha;
75 dgFloat32 m_delSinTetha;
78 dgVector m_vertex[2 * DG_CAP_SEGMENTS * DG_CAPSULE_SEGMENTS];
79 static dgInt32 m_shapeRefCount;
Definition: dgCollision.h:73
Definition: dgCollisionConvex.h:29
Definition: dgVector.h:86
Definition: dgCollisionCapsule.h:32
Definition: dgCollisionConvex.h:39
Definition: dgMatrix.h:41
Definition: dgMemory.h:80
Definition: dgWorld.h:118