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