00001 #ifndef CDSPHERE_H 00002 #define CDSPHERE_H 00003 #include <Collision/CDGeometry.h> 00004 #include <Collision/CDConvex.h> 00005 00006 namespace Spr {; 00007 /** 球体 */ 00008 class CDSphere:public CDConvex{ 00009 mutable Vec3f curPos; 00010 public: 00011 /// 中心の座標 00012 Vec3f center; 00013 /// 半径 00014 float radius; 00015 00016 SGOBJECTDEF(CDSphere); 00017 /// 00018 CDSphere(float r = 0.0f, Vec3f c = Vec3f()):radius(r), center(c){} 00019 /// GeomtryID 00020 virtual int GeometryID(){ return CONVEX; } 00021 00022 /// サポートポイントを求める. 00023 virtual Vec3f Support(const Vec3f& p) const; 00024 /// BBoxの計算 00025 void CalcBBox(Vec3f& bbMin, Vec3f& bbMax); 00026 }; 00027 00028 } 00029 #endif