1 #include "wxVtkMPR3DViewCntrlPanel.h"
3 #include "HistogramDialog.h"
5 wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DView *wxvtkmpr3Dview, bool align )
10 _wxvtkmpr3Dview = wxvtkmpr3Dview;
12 /*int maxX = _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetMaxPositionX();
13 int maxY = _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetMaxPositionY();
14 int maxZ = _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetMaxPositionZ();*/
20 //CPR: Modified 30 Nov 2009
22 wxCheckBox *ckBoxX = new wxCheckBox(panel,-1,_T("X "));
23 _positionX = new wxSlider(panel,-1,maxX/2,0,maxX, wxDefaultPosition, wxSize(150,40), wxSL_HORIZONTAL | wxSL_LABELS);
24 wxCheckBox *ckBoxY = new wxCheckBox(panel,-1,_T("Y "));
25 _positionY = new wxSlider(panel,-1,maxY/2,0,maxY, wxDefaultPosition, wxSize(150,40), wxSL_HORIZONTAL | wxSL_LABELS);
26 wxCheckBox *ckBoxZ = new wxCheckBox(panel,-1,_T("Z "));
27 _positionZ = new wxSlider(panel,-1,maxZ/2,0,maxZ, wxDefaultPosition, wxSize(150,40), wxSL_HORIZONTAL | wxSL_LABELS);
28 wxButton *btnColorTable = new wxButton (panel, -1, _T("Edit Color Table") );
31 ckBoxX = new wxCheckBox(panel,-1,_T("X "));
32 _positionX = new wxSlider(panel,-1,maxX/2,0,maxX, wxDefaultPosition, wxSize(300,40), wxSL_HORIZONTAL | wxSL_LABELS);
33 ckBoxY = new wxCheckBox(panel,-1,_T("Y "));
34 _positionY = new wxSlider(panel,-1,maxY/2,0,maxY, wxDefaultPosition, wxSize(300,40), wxSL_HORIZONTAL | wxSL_LABELS);
35 ckBoxZ = new wxCheckBox(panel,-1,_T("Z "));
36 _positionZ = new wxSlider(panel,-1,maxZ/2,0,maxZ, wxDefaultPosition, wxSize(300,40), wxSL_HORIZONTAL | wxSL_LABELS);
37 wxButton *btnColorTable = new wxButton (panel, -1, _T("Color Table") );
39 _ckBoxXYZ = new wxCheckBox(panel,-1,_T("XYZ "));
40 _ckBoxPlane = new wxCheckBox(panel,-1,_T("Plane"));
42 _ckFreePlaneX= new wxCheckBox(panel,-1,_T("free X"));;
43 _ckFreePlaneY= new wxCheckBox(panel,-1,_T("free Y"));;
44 _ckFreePlaneZ= new wxCheckBox(panel,-1,_T("free Z"));;
45 _ckFreePlaneInteraction= new wxCheckBox(panel,-1,_T("Interaction "));;
48 //EED: If-else statements added 30 Nov 2009
49 _ckFreePlaneX->SetValue(false);
50 _ckFreePlaneY->SetValue(false);
51 _ckFreePlaneZ->SetValue(false);
52 _ckFreePlaneInteraction->SetValue(true);
55 ckBoxX->SetValue(false);
56 ckBoxY->SetValue(false);
57 ckBoxZ->SetValue(false);
58 _ckBoxXYZ->SetValue(false);
59 _ckBoxPlane->SetValue(false);
61 _positionX->SetSize(400,20);
62 _positionY->SetSize(400,20);
63 _positionZ->SetSize(400,20);
65 Connect(ckBoxX->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisX );
66 Connect(_positionX->GetId() , wxEVT_COMMAND_SLIDER_UPDATED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnPositionX );
67 Connect(ckBoxY->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisY );
68 Connect(_positionY->GetId() , wxEVT_COMMAND_SLIDER_UPDATED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnPositionY );
69 Connect(ckBoxZ->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisZ );
70 Connect(_positionZ->GetId() , wxEVT_COMMAND_SLIDER_UPDATED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnPositionZ );
71 Connect(btnColorTable->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnEditColorTable );
73 Connect(_ckBoxXYZ->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisXYZ );
74 Connect(_ckBoxPlane->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisiblePlane );
76 Connect(_ckFreePlaneX->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneX );
77 Connect(_ckFreePlaneY->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneY );
78 Connect(_ckFreePlaneZ->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneZ );
79 Connect(_ckFreePlaneInteraction->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneInteraction );
81 wxFlexGridSizer *sizer;
83 // wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
84 // wxBoxSizer *sizerH4 = new wxBoxSizer(wxHORIZONTAL);
86 //CPR: If-else statements added 30 Nov 2009
87 wxFlexGridSizer *sizerH4;
88 wxFlexGridSizer *sizerH5;
89 wxFlexGridSizer *sizerH6;
92 sizer = new wxFlexGridSizer(3);
94 sizerH4 = new wxFlexGridSizer(2);
95 sizerH4->Add( _positionX ,1,wxGROW , 0 );
96 sizerH4->Add( ckBoxX ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED , 0 );
97 sizerH4->Add( _positionY ,1,wxGROW , 0 );
98 sizerH4->Add( ckBoxY ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED , 0 );
99 sizerH4->Add( _positionZ ,1,wxGROW , 0 );
100 sizerH4->Add( ckBoxZ ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED , 0 );
102 sizerH5 = new wxFlexGridSizer(1);
103 sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND , 0);
104 sizerH5->Add( _ckBoxXYZ , 1, wxALL|wxEXPAND , 0);
105 sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND , 0);
106 sizerH5->Add( _ckBoxPlane , 1, wxALL|wxEXPAND , 0);
107 sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND , 0);
108 sizerH5->Add( btnColorTable , 0,wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
109 //sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
111 sizerH6 = new wxFlexGridSizer(1);
112 sizerH6->Add( _ckFreePlaneX , 1, wxALL|wxEXPAND , 0);
113 sizerH6->Add( _ckFreePlaneY , 1, wxALL|wxEXPAND , 0);
114 sizerH6->Add( _ckFreePlaneZ , 1, wxALL|wxEXPAND , 0);
115 sizerH6->Add( _ckFreePlaneInteraction , 1, wxALL|wxEXPAND , 0);
118 sizer = new wxFlexGridSizer(1);
120 sizerH4 = new wxFlexGridSizer(10);
121 sizerH5 = new wxFlexGridSizer(10);
122 sizerH6 = new wxFlexGridSizer(10);
124 sizerH4->Add( _positionX , 1, wxGROW , 0 );
125 sizerH4->Add( ckBoxX , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
126 sizerH4->Add( _positionY , 1, wxGROW , 0 );
127 sizerH4->Add( ckBoxY , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
128 sizerH4->Add( _positionZ , 1, wxGROW , 0 );
129 sizerH4->Add( ckBoxZ , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
130 sizerH4->Add( btnColorTable , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
132 sizerH5->Add( _ckBoxXYZ , 1, wxALL|wxEXPAND, 0);
133 sizerH5->Add( _ckBoxPlane , 1, wxALL|wxEXPAND, 0);
134 sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
136 sizerH6 = new wxFlexGridSizer(10);
137 sizerH6->Add( _ckFreePlaneX , 1, wxALL|wxEXPAND , 0);
138 sizerH6->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND , 0);
139 sizerH6->Add( _ckFreePlaneY , 1, wxALL|wxEXPAND , 0);
140 sizerH6->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND , 0);
141 sizerH6->Add( _ckFreePlaneZ , 1, wxALL|wxEXPAND , 0);
142 sizerH6->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND , 0);
143 sizerH6->Add( _ckFreePlaneInteraction , 1, wxALL|wxEXPAND , 0);
150 // wxFlexGridSizer *sizerH6 = new wxFlexGridSizer(10);
151 // wxFlexGridSizer *sizerH7 = new wxFlexGridSizer(10);
153 // sizerH4->Add( ckBoxX , 1, wxALL|wxEXPAND, 0);
154 // sizerH4->Add( new wxStaticText(panel, -1," ") , 1, wxALL|wxEXPAND, 0);
155 // sizerH4->Add( _positionX , 1, wxALL|wxEXPAND, 0);
157 // sizerH5->Add( ckBoxY , 1, wxALL|wxEXPAND, 0);
158 // sizerH5->Add( new wxStaticText(panel, -1," ") , 1, wxALL|wxEXPAND, 0);
159 // sizerH5->Add( _positionY , 1, wxALL|wxEXPAND, 0);
161 // sizerH6->Add( ckBoxZ , 1, wxALL|wxEXPAND, 0);
162 // sizerH6->Add( new wxStaticText(panel, -1," ") , 1, wxALL|wxEXPAND, 0);
163 // sizerH6->Add( _positionZ , 1, wxALL|wxEXPAND, 0);
165 // sizerH7->Add( _ckBoxXYZ , 1, wxALL|wxEXPAND, 0);
166 // sizerH7->Add( _ckBoxPlane , 1, wxALL|wxEXPAND, 0);
168 // sizer->Add( sizerH4 , 1, wxALL|wxEXPAND, 2);
169 // sizer->Add( sizerH5 , 1, wxALL|wxEXPAND, 2);
170 // sizer->Add( sizerH6 , 1, wxALL|wxEXPAND, 2);
171 // sizer->Add( sizerH7 , 1, wxALL|wxEXPAND, 2);
174 // sizerH5->Add( ckBoxX , 1, wxALL|wxEXPAND, 0);
175 // sizerH5->Add( ckBoxY , 1, wxALL|wxEXPAND, 0);
176 // sizerH5->Add( ckBoxZ , 1, wxALL|wxEXPAND, 0);
178 sizer->Add( sizerH4, 1, wxALL|wxGROW, 2);
179 sizer->Add( sizerH5, 1, wxALL|wxEXPAND,2);
180 sizer->Add( sizerH6, 1, wxALL|wxEXPAND,2);
182 panel->SetSize(400,50);
183 panel->SetAutoLayout(true);
184 panel->SetSizer(sizer);
187 panel->SetEventHandler((wxEvtHandler*)this);
189 //this->UpdateControlPanel();
191 void wxVtkMPR3DViewCntrlPanel::UpdateControlPanel()
194 vtkMPRBaseData* basedata = _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData();
195 if(basedata != NULL){
197 /*int maxX = basedata->GetMaxPositionX();
198 int maxY = basedata->GetMaxPositionY();
199 int maxZ = basedata->GetMaxPositionZ();*/
200 int x0,x1,y0,y1,z0,z1;
202 basedata->GetDimensionExtention(&x0,&x1,&y0,&y1,&z0,&z1);
203 /*int maxX = x1-x0;//basedata->GetMaxPositionX();
204 int maxY = y1-y0;//basedata->GetMaxPositionY();
205 int maxZ = z1-z0;//basedata->GetMaxPositionZ();*/
209 //std::cout<<"wxVtkMPR3DViewCntrlPanel::UpdateControlPanel() maxX="<<maxX<<" maxY="<<maxY<<" maxZ="<<maxZ<<std::endl;
210 /*_positionX->SetRange(0,maxX);
211 _positionY->SetRange(0,maxY);
212 _positionZ->SetRange(0,maxZ);*/
213 _positionX->SetRange(x0,x1);
214 _positionY->SetRange(y0,y1);
215 _positionZ->SetRange(z0,z1);
217 _positionX->SetValue((x0+x1)/2);
218 _positionY->SetValue((y0+y1)/2);
219 _positionZ->SetValue((z0+z1)/2);
221 _positionX->Update();
222 _positionY->Update();
223 _positionZ->Update();
228 //-------------------------------------------------------------------
229 wxVtkMPR3DViewCntrlPanel::~wxVtkMPR3DViewCntrlPanel()
232 //-------------------------------------------------------------------
233 void wxVtkMPR3DViewCntrlPanel::Refresh()
235 // wxPanel::Refresh();
236 _positionX->SetValue( (int)(_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetX( )) );
237 _positionY->SetValue( (int)(_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetY( )) );
238 _positionZ->SetValue( (int)(_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetZ( )) );
241 //-------------------------------------------------------------------
242 int wxVtkMPR3DViewCntrlPanel::GetIdTissue()
245 if (_surfA->GetValue()==true)
249 if (_surfB->GetValue()==true)
253 if (_surfC->GetValue()==true)
257 if (_surfD->GetValue()==true)
266 //-------------------------------------------------------------------
267 void wxVtkMPR3DViewCntrlPanel::OnEditColorTable(wxCommandEvent& event)
270 vtkColorTransferFunction *ctfun = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetvtkColorTransferFunction();
271 std::vector<double> *ctfunVectorPoint = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetctFunVectorPoint();
272 std::vector<double> *ctfunVectorRed = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetctFunVectorRed();
273 std::vector<double> *ctfunVectorGreen = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetctFunVectorGreen();
274 std::vector<double> *ctfunVectorBlue = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetctFunVectorBlue();
276 //void *p=this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer(); // JPRx
281 vtkImageData *imagedata = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData();
283 HistogramDialog* hDlg=new HistogramDialog(NULL,_T("Color table"),imagedata,2);
286 hDlg->erasePointsTransferenceFunction();
287 int ctfSize=ctfunVectorRed->size();
290 // MACHETE OJO Eduardo
294 double gr = (*ctfunVectorPoint)[i];
295 double r = (*ctfunVectorRed)[i];
296 double g = (*ctfunVectorGreen)[i];
297 double b = (*ctfunVectorBlue)[i];
299 hDlg->addColorPoint(gr,(int)(r*255),(int)(g*255),(int)(b*255));
306 // when the user had changed the transference Function
309 //setting variables if the user wants to do refresh
312 //hDlg->setMPR3Dview(_wxvtkmpr3Dview);
314 if(hDlg->ShowModal()== wxID_OK )
317 // -- vtkColorTransferFunction --
318 ctfun->RemoveAllPoints ();
320 ctfunVectorPoint->clear();
321 ctfunVectorRed->clear();
322 ctfunVectorGreen->clear();
323 ctfunVectorBlue->clear();
325 int nCTFpoints=hDlg->getSizeBarColor();
326 // Machete .. Ojo Eduardo
330 hDlg->getDataBarColorPoint(i,xi,r,g,b);
334 hDlg->getDataBarColorPoint(1,xi,r,g,b);
338 hDlg->getDataBarColorPoint(i-1,xi,r,g,b);
341 ctfun->AddRGBPoint(xi,r/255.0,g/255.0,b/255.0 );
342 ctfunVectorPoint->push_back(xi);
343 ctfunVectorRed->push_back(r/255.0);
344 ctfunVectorGreen->push_back(g/255.0);
345 ctfunVectorBlue->push_back(b/255.0);
355 if(hDlg->getRefreshed())
357 // -- vtkColorTransferFunction --
358 ctfun->RemoveAllPoints ();
361 int size=ctfunVectorPoint->size();
365 double grey2=(*ctfunVectorPoint)[i];
366 double red =(*ctfunVectorRed)[i];
367 double green =(*ctfunVectorGreen)[i];
368 double blue = (*ctfunVectorBlue)[i];
369 ctfun->AddRGBPoint(grey2,red,green,blue);
379 //-------------------------------------------------------------------
380 void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneX(wxCommandEvent& event)
382 _wxvtkmpr3Dview->FreePlaneVisible( 1, event.IsChecked() );
383 _wxvtkmpr3Dview->FreePlaneInteraction( _ckFreePlaneInteraction->GetValue() );
386 //-------------------------------------------------------------------
387 void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneY(wxCommandEvent& event)
389 _wxvtkmpr3Dview->FreePlaneVisible( 2, event.IsChecked() );
390 _wxvtkmpr3Dview->FreePlaneInteraction( _ckFreePlaneInteraction->GetValue() );
394 //-------------------------------------------------------------------
395 void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneZ(wxCommandEvent& event)
397 _wxvtkmpr3Dview->FreePlaneVisible( 3, event.IsChecked() );
398 _wxvtkmpr3Dview->FreePlaneInteraction( _ckFreePlaneInteraction->GetValue() );
402 //-------------------------------------------------------------------
403 void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneInteraction(wxCommandEvent& event)
405 _wxvtkmpr3Dview->FreePlaneInteraction( event.IsChecked() );
409 //-------------------------------------------------------------------
410 void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisX(wxCommandEvent& event)
413 _wxvtkmpr3Dview->VisibleImageActor(0, event.IsChecked() );
414 _wxvtkmpr3Dview->Refresh();
416 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
419 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
421 std::cout<<e<<std::endl;
424 //-------------------------------------------------------------------
425 void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisY(wxCommandEvent& event)
427 _wxvtkmpr3Dview->VisibleImageActor(1, event.IsChecked() );
428 _wxvtkmpr3Dview->Refresh();
430 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
431 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
434 //-------------------------------------------------------------------
435 void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisZ(wxCommandEvent& event)
437 _wxvtkmpr3Dview->VisibleImageActor(2, event.IsChecked() );
438 _wxvtkmpr3Dview->Refresh();
440 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
441 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
444 //-------------------------------------------------------------------
445 void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisXYZ(wxCommandEvent& event)
448 _wxvtkmpr3Dview->VisiblePointWidget(event.IsChecked());
451 //-------------------------------------------------------------------
452 void wxVtkMPR3DViewCntrlPanel::OnVisiblePlane(wxCommandEvent& event)
454 _wxvtkmpr3Dview->VisiblePlaneWidget(event.IsChecked());
458 //-------------------------------------------------------------------
459 void wxVtkMPR3DViewCntrlPanel::OnPositionX(wxScrollEvent& event)
461 _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->SetX( _positionX->GetValue() );
462 _wxvtkmpr3Dview->RefreshView();
464 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
465 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
467 //-------------------------------------------------------------------
468 void wxVtkMPR3DViewCntrlPanel::OnPositionY(wxScrollEvent& event)
470 _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->SetY( _positionY->GetValue() );
471 _wxvtkmpr3Dview->RefreshView();
472 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
473 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
475 //-------------------------------------------------------------------
476 void wxVtkMPR3DViewCntrlPanel::OnPositionZ(wxScrollEvent& event)
478 _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->SetZ( _positionZ->GetValue() );
479 _wxvtkmpr3Dview->RefreshView();
480 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
481 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
484 //-------------------------------------------------------------------
485 bool wxVtkMPR3DViewCntrlPanel::GetVisibleX()
487 return ckBoxX->GetValue();
490 //-------------------------------------------------------------------
491 bool wxVtkMPR3DViewCntrlPanel::GetVisibleY()
493 return ckBoxY->GetValue();
496 //-------------------------------------------------------------------
497 bool wxVtkMPR3DViewCntrlPanel::GetVisibleZ()
499 return ckBoxZ->GetValue();
502 //-------------------------------------------------------------------
503 bool wxVtkMPR3DViewCntrlPanel::GetVisibleXYZ()
505 return _ckBoxXYZ->GetValue();
508 //-------------------------------------------------------------------
509 bool wxVtkMPR3DViewCntrlPanel::GetVisiblePlane()
511 return _ckBoxPlane->GetValue();
514 //-------------------------------------------------------------------
515 void wxVtkMPR3DViewCntrlPanel::SetVisibleX(bool value)
517 ckBoxX->SetValue(value);
519 _wxvtkmpr3Dview->VisibleImageActor(0, value );
520 _wxvtkmpr3Dview->Refresh();
522 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
523 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
526 //-------------------------------------------------------------------
527 void wxVtkMPR3DViewCntrlPanel::SetVisibleY(bool value)
529 ckBoxY->SetValue(value);
531 _wxvtkmpr3Dview->VisibleImageActor(1, value );
532 _wxvtkmpr3Dview->Refresh();
534 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
535 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
538 //-------------------------------------------------------------------
539 void wxVtkMPR3DViewCntrlPanel::SetVisibleZ(bool value)
541 ckBoxZ->SetValue(value);
543 _wxvtkmpr3Dview->VisibleImageActor(2, value );
544 _wxvtkmpr3Dview->Refresh();
546 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
547 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
550 //-------------------------------------------------------------------
551 void wxVtkMPR3DViewCntrlPanel::SetVisibleXYZ(bool value)
553 _ckBoxXYZ->SetValue(value);
554 _wxvtkmpr3Dview->VisiblePointWidget(value);
558 //-------------------------------------------------------------------
559 void wxVtkMPR3DViewCntrlPanel::SetVisiblePlane(bool value)
561 _ckBoxPlane->SetValue(value);
562 _wxvtkmpr3Dview->VisiblePlaneWidget(value);