]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/CutModule/kernel/CutModelFigureCylinder.cxx
84e2faf6329572c323c06787d315aa980013c4e7
[creaMaracasVisu.git] / lib / maracasVisuLib / src / CutModule / kernel / CutModelFigureCylinder.cxx
1
2 #include "CutModelFigureCylinder.h"
3
4 CutModelFigureCylinder::CutModelFigureCylinder()
5 {
6         _vtkcylinder    = vtkCylinderSource::New();
7         _vtkcylinder->SetResolution(20);
8 }
9 //----------------------------------------------------------------------------
10 CutModelFigureCylinder::~CutModelFigureCylinder()  // virtual
11 {
12         _vtkcylinder->Delete();
13 }
14 //----------------------------------------------------------------------------
15 bool CutModelFigureCylinder::IfPointInside(double x, double y, double z) // virtual
16 {
17         double in[4],out[4];
18         in[0]=x;
19         in[1]=y;
20         in[2]=z;
21         in[3]=1;
22         _inversModel->MultiplyPoint (in, out);
23
24         bool result=false;
25         if ((sqrt( out[0]*out[0] + out[2]*out[2] )<0.5 )  && (out[1]>-0.5) && (out[1]<0.5)  )
26         {
27                 result=true;
28         }
29         return result;
30 }
31 //----------------------------------------------------------------------------
32 double CutModelFigureCylinder::GetTheoricVolume() // virtual
33 {
34         double piTMP=3.14159265;
35         return piTMP*(_sx/2)*(_sz/2)*_sy;
36 }
37 //----------------------------------------------------------------------------
38 const char *CutModelFigureCylinder::GetName() // virtual
39 {
40         return "Cylinder";
41 }
42 vtkPolyData* CutModelFigureCylinder::getPolyData(){
43         return _vtkcylinder->GetOutput();
44 }
45 //----------------------------------------------------------------------------