00001 00002 #include "CutModelFigureCube.h" 00003 00004 //---------------------------------------------------------------------------- 00005 //---------------------------------------------------------------------------- 00006 //---------------------------------------------------------------------------- 00007 CutModelFigureCube::CutModelFigureCube() 00008 : CutModelFigure() 00009 { 00010 _vtkcube = vtkCubeSource::New(); 00011 _vtkcube->SetXLength (1); 00012 _vtkcube->SetYLength (1); 00013 _vtkcube->SetZLength (1); 00014 } 00015 //---------------------------------------------------------------------------- 00016 CutModelFigureCube::~CutModelFigureCube() // virtual 00017 { 00018 _vtkcube->Delete(); 00019 } 00020 //---------------------------------------------------------------------------- 00021 bool CutModelFigureCube::IfPointInside(double x, double y, double z) // virtual 00022 { 00023 double in[4],out[4]; 00024 in[0]=x; 00025 in[1]=y; 00026 in[2]=z; 00027 in[3]=1; 00028 _inversModel->MultiplyPoint (in, out); 00029 00030 bool result=false; 00031 if ((out[0]>-0.5) && (out[0]<0.5) && (out[1]>-0.5) && (out[1]<0.5) && (out[2]>-0.5) && (out[2]<0.5) ) 00032 { 00033 result=true; 00034 } 00035 return result; 00036 } 00037 //---------------------------------------------------------------------------- 00038 double CutModelFigureCube::GetTheoricVolume() // virtual 00039 { 00040 return _sx * _sy * _sz; 00041 } 00042 00043 //---------------------------------------------------------------------------- 00044 char *CutModelFigureCube::GetName() // virtual 00045 { 00046 return "Cube"; 00047 } 00048 00049 vtkPolyData* CutModelFigureCube::getPolyData(){ 00050 return _vtkcube->GetOutput(); 00051 } 00052