22 #ifndef __ND_SHAPE_CHAMFER_CYLINDER_H__
23 #define __ND_SHAPE_CHAMFER_CYLINDER_H__
25 #include "ndShapeConvex.h"
27 #define DG_CHAMFERCYLINDER_SLICES 4
28 #define DG_CHAMFERCYLINDER_BRAKES 8
29 #define DG_MAX_CHAMFERCYLINDER_DIR_COUNT 8
43 D_COLLISION_API
void Init(ndFloat32 radius, ndFloat32 height);
45 D_COLLISION_API
virtual ndShapeInfo GetShapeInfo()
const;
49 D_COLLISION_API
virtual ndVector SupportVertex(
const ndVector& dir, ndInt32*
const vertexIndex)
const;
50 D_COLLISION_API
virtual ndVector SupportVertexSpecial(
const ndVector& dir, ndFloat32 skinMargin, ndInt32*
const vertexIndex)
const;
54 virtual ndInt32 CalculatePlaneIntersection(
const ndVector& normal,
const ndVector& point,
ndVector*
const contactsOut)
const;
60 ndVector m_vertex[DG_CHAMFERCYLINDER_BRAKES * (DG_CHAMFERCYLINDER_SLICES + 1)];
61 static ndInt32 m_shapeRefCount;