22 #ifndef __ND_SHAPE_CYLINDER_H__
23 #define __ND_SHAPE_CYLINDER_H__
25 #include "ndShapeConvex.h"
27 #define D_TAPED_CYLINDER_SEGMENTS 12
35 D_COLLISION_API
ndShapeCylinder(ndFloat32 radio0, ndFloat32 radio1, ndFloat32 height);
41 D_COLLISION_API
void Init (ndFloat32 radio0, ndFloat32 radio1, ndFloat32 height);
43 D_COLLISION_API
virtual ndShapeInfo GetShapeInfo()
const;
47 D_COLLISION_API
virtual ndVector SupportVertex(
const ndVector& dir, ndInt32*
const vertexIndex)
const;
48 D_COLLISION_API
virtual ndVector SupportVertexSpecial(
const ndVector& dir, ndFloat32 skinMargin, ndInt32*
const vertexIndex)
const;
52 virtual ndInt32 CalculatePlaneIntersection(
const ndVector& normal,
const ndVector& point,
ndVector*
const contactsOut)
const;
55 ndVector m_vertex[D_TAPED_CYLINDER_SEGMENTS * 2];
60 static ndInt32 m_shapeRefCount;
63 } D_GCC_NEWTON_ALIGN_32;