00001 00002 #ifndef _MC_POTENTIAL_SPHERE_HPP_ 00003 #define _MC_POTENTIAL_SPHERE_HPP_ 00004 00005 #include <MC_potential_implicit.hpp> 00006 #include <MC_sphere_geometry.hpp> 00007 00008 namespace mesh_conv 00009 { 00010 namespace implicit 00011 { 00012 class MC_potential_sphere : public MC_potential_implicit 00013 { 00014 public: 00015 00016 // ************************************************ // 00017 // ************************************************ // 00018 // Constructor 00019 // ************************************************ // 00020 // ************************************************ // 00021 00023 MC_potential_sphere(); 00025 MC_potential_sphere(const MC_sphere_geometry& sphere); 00026 00028 virtual ~MC_potential_sphere(); 00029 00031 virtual void clear(); 00032 00033 // ************************************************ // 00034 // ************************************************ // 00035 // Potential computation 00036 // ************************************************ // 00037 // ************************************************ // 00038 00040 virtual double operator()(const MC_v3d& x) const; 00041 00042 // ************************************************ // 00043 // ************************************************ // 00044 // Internal sphere object 00045 // ************************************************ // 00046 // ************************************************ // 00047 00049 const MC_sphere_geometry& sphere() const; 00051 MC_sphere_geometry& sphere(); 00052 00053 private: 00054 00056 MC_sphere_geometry sphere_internal; 00057 00058 }; 00059 } 00060 } 00061 00062 #endif
1.6.1