00001 #include "figureCuttingSphereModel.h" 00002 00003 //---------------------------------------------------------------------------- 00004 //---------------------------------------------------------------------------- 00005 //---------------------------------------------------------------------------- 00006 figureCuttingSphereModel::figureCuttingSphereModel() 00007 { 00008 } 00009 //---------------------------------------------------------------------------- 00010 figureCuttingSphereModel::~figureCuttingSphereModel() // virtual 00011 { 00012 } 00013 //---------------------------------------------------------------------------- 00014 bool figureCuttingSphereModel::IfPointInside(double x, double y, double z) // virtual 00015 { 00016 double in[4],out[4]; 00017 in[0]=x; 00018 in[1]=y; 00019 in[2]=z; 00020 in[3]=1; 00021 _inversModel->MultiplyPoint (in, out); 00022 00023 bool result=false; 00024 if (sqrt( out[0]*out[0] + out[1]*out[1] + out[2]*out[2] )<0.5 ) 00025 { 00026 result=true; 00027 } 00028 return result; 00029 } 00030 //---------------------------------------------------------------------------- 00031 double figureCuttingSphereModel::GetTheoricVolume() // virtual 00032 { 00033 double piTMP=3.14159265; 00034 return (4.0/3.0) * piTMP * (_sx/2)*(_sy/2)*(_sz/2); 00035 } 00036 //---------------------------------------------------------------------------- 00037 const char *figureCuttingSphereModel::GetName() // virtual 00038 { 00039 return "Sphere"; 00040 }