00001 00002 #ifndef _MC_SPHERE_GEOMETRY_HPP_ 00003 #define _MC_SPHERE_GEOMETRY_HPP_ 00004 00005 #include <MC_v3d.hpp> 00006 00007 namespace mesh_conv 00008 { 00010 class MC_sphere_geometry 00011 { 00012 public: 00013 00014 // ********************************************* // 00015 // ********************************************* // 00016 // CONSTRUCTORS 00017 // ********************************************* // 00018 // ********************************************* // 00019 00021 MC_sphere_geometry(); 00023 MC_sphere_geometry(const MC_v3d& _center,const double& _radius); 00025 MC_sphere_geometry(const MC_sphere_geometry& sphere); 00026 00027 // ********************************************* // 00028 // ********************************************* // 00029 // Get parameters 00030 // ********************************************* // 00031 // ********************************************* // 00032 00034 MC_v3d& center(); 00036 const MC_v3d& center() const; 00037 00039 double& radius(); 00041 const double& radius() const; 00042 00043 // ********************************************* // 00044 // ********************************************* // 00045 // Collision detection 00046 // ********************************************* // 00047 // ********************************************* // 00048 00050 bool is_collide(const MC_sphere_geometry& sphere); 00051 00052 00053 private: 00054 00056 MC_v3d center_internal; 00058 double radius_internal; 00059 00060 }; 00061 } 00062 00063 #endif
1.6.1