1 #include "manualContour3DControler.h"
4 // ----------------------------------------------------------------------------
5 // ----------------------------------------------------------------------------
6 // ----------------------------------------------------------------------------
8 manualContour3DControler::manualContour3DControler()
11 // ----------------------------------------------------------------------------
12 manualContour3DControler::~manualContour3DControler()
15 // ----------------------------------------------------------------------------
16 manualContour3DControler * manualContour3DControler :: Clone() // virtual
18 manualContour3DControler * clone = new manualContour3DControler();
19 CopyAttributesTo(clone);
23 // ---------------------------------------------------------------------------
24 void manualContour3DControler::CopyAttributesTo( manualContour3DControler * cloneObject)
27 manualContourControler::CopyAttributesTo(cloneObject);
29 cloneObject->SetVtkMPRBaseData( this->GetVtkMPRBaseData() );
32 // ----------------------------------------------------------------------------
33 bool manualContour3DControler::OnLeftButtonDown()
36 wxVTKRenderWindowInteractor *wxVTKiren;
37 wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk3DBaseView()->GetWxVTKRenderWindowInteractor();
38 wxVTKiren->GetEventPosition(X,Y);
42 // ----------------------------------------------------------------------------
43 void manualContour3DControler::ResetOrientationPlane()
45 double p[3],rp[3],rn[3];
46 p[0] = this->GetVtkMPRBaseData()->GetX( );
47 p[1] = this->GetVtkMPRBaseData()->GetY( );
48 p[2] = this->GetVtkMPRBaseData()->GetZ( );
49 this->GetManualContourModel()->GetNearestPointAndNormal(p,rp,rn);
50 this->GetVtkMPRBaseData()->SetNormal(rn[0],rn[1],rn[2]);
52 // ----------------------------------------------------------------------------
53 void manualContour3DControler::MouseClickLeft(int x, int y) // virtual
55 manualView3DContour *manualview3Dcontour=(manualView3DContour*)GetManualViewBaseContour();
56 int id=manualview3Dcontour->GetIdPoint2(x,y);
57 if ( (GetState()==0) && (id!=-1) )
59 manualPoint *mp = this->GetManualContourModel()->GetManualPoint(id);
61 this->GetVtkMPRBaseData()->SetX( mp->GetX() );
62 this->GetVtkMPRBaseData()->SetY( mp->GetY() );
63 this->GetVtkMPRBaseData()->SetZ( mp->GetZ() );
64 ResetOrientationPlane();
65 this->_vtkInteractorStyleBaseView->SetParent_refresh_waiting();
69 manualContourControler::MouseClickLeft(x,y);
72 // ----------------------------------------------------------------------------
73 bool manualContour3DControler::OnChar()
76 manualContourControler::OnChar();
77 char keyCode = _vtkInteractorStyleBaseView->GetInteractor()-> GetKeyCode();
80 ResetOrientationPlane();
81 this->_vtkInteractorStyleBaseView->SetRefresh_waiting();
86 // ----------------------------------------------------------------------------
87 void manualContour3DControler::SetVtkMPRBaseData (vtkMPRBaseData *vtkmprbasedata )
89 _vtkmprbasedata=vtkmprbasedata;
91 // ----------------------------------------------------------------------------
92 vtkMPRBaseData *manualContour3DControler::GetVtkMPRBaseData()
94 return _vtkmprbasedata;
97 // ----------------------------------------------------------------------------
98 void manualContour3DControler::InsertPoint(int x, int y, int z ) // virtual
100 manualContourControler::InsertPoint( x, y, z );
101 ResetOrientationPlane();