22 #ifndef __ND_SHAPE_BOX_H__
23 #define __ND_SHAPE_BOX_H__
25 #include "ndShapeConvex.h"
33 D_COLLISION_API
ndShapeBox(ndFloat32 size_x, ndFloat32 size_y, ndFloat32 size_z);
36 D_COLLISION_API
virtual ndShapeBox* GetAsShapeBox() {
return this; }
39 D_COLLISION_API
void Init (ndFloat32 size_x, ndFloat32 size_y, ndFloat32 size_z);
40 D_COLLISION_API
virtual void MassProperties();
42 D_COLLISION_API
virtual ndShapeInfo GetShapeInfo()
const;
45 D_COLLISION_API
virtual ndVector SupportVertex(
const ndVector& dir, ndInt32*
const vertexIndex)
const;
46 D_COLLISION_API
virtual ndVector SupportVertexSpecial(
const ndVector& dir, ndFloat32 skinMargin, ndInt32*
const vertexIndex)
const;
50 D_COLLISION_API
virtual ndInt32 CalculatePlaneIntersection(
const ndVector& normal,
const ndVector& point,
ndVector*
const contactsOut)
const;
56 static ndInt32 m_initSimplex;
57 static ndInt32 m_faces[][4];
64 } D_GCC_NEWTON_ALIGN_32;