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("Show XYZ axis "));
40 _ckBoxPlane = new wxCheckBox(panel,-1,_T("Show Planes"));
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();*/
207 //std::cout<<"wxVtkMPR3DViewCntrlPanel::UpdateControlPanel() maxX="<<maxX<<" maxY="<<maxY<<" maxZ="<<maxZ<<std::endl;
208 /*_positionX->SetRange(0,maxX);
209 _positionY->SetRange(0,maxY);
210 _positionZ->SetRange(0,maxZ);*/
211 _positionX->SetRange(x0,x1);
212 _positionY->SetRange(y0,y1);
213 _positionZ->SetRange(z0,z1);
215 _positionX->SetValue((x0+x1)/2);
216 _positionY->SetValue((y0+y1)/2);
217 _positionZ->SetValue((z0+z1)/2);
219 _positionX->Update();
220 _positionY->Update();
221 _positionZ->Update();
226 //-------------------------------------------------------------------
227 wxVtkMPR3DViewCntrlPanel::~wxVtkMPR3DViewCntrlPanel()
230 //-------------------------------------------------------------------
231 void wxVtkMPR3DViewCntrlPanel::Refresh()
233 // wxPanel::Refresh();
234 _positionX->SetValue( (int)(_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetX( )) );
235 _positionY->SetValue( (int)(_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetY( )) );
236 _positionZ->SetValue( (int)(_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetZ( )) );
239 //-------------------------------------------------------------------
240 int wxVtkMPR3DViewCntrlPanel::GetIdTissue()
243 if (_surfA->GetValue()==true)
247 if (_surfB->GetValue()==true)
251 if (_surfC->GetValue()==true)
255 if (_surfD->GetValue()==true)
264 //-------------------------------------------------------------------
265 void wxVtkMPR3DViewCntrlPanel::OnEditColorTable(wxCommandEvent& event)
268 vtkColorTransferFunction *ctfun = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetvtkColorTransferFunction();
269 std::vector<double> *ctfunVectorPoint = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetctFunVectorPoint();
270 std::vector<double> *ctfunVectorRed = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetctFunVectorRed();
271 std::vector<double> *ctfunVectorGreen = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetctFunVectorGreen();
272 std::vector<double> *ctfunVectorBlue = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetctFunVectorBlue();
274 //void *p=this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer(); // JPRx
279 vtkImageData *imagedata = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData();
281 HistogramDialog* hDlg=new HistogramDialog(NULL,_T("Color table"),imagedata,2);
284 hDlg->erasePointsTransferenceFunction();
285 int ctfSize=ctfunVectorRed->size();
288 // MACHETE OJO Eduardo
292 double gr = (*ctfunVectorPoint)[i];
293 double r = (*ctfunVectorRed)[i];
294 double g = (*ctfunVectorGreen)[i];
295 double b = (*ctfunVectorBlue)[i];
297 hDlg->addColorPoint(gr,(int)(r*255),(int)(g*255),(int)(b*255));
304 // when the user had changed the transference Function
307 //setting variables if the user wants to do refresh
310 //hDlg->setMPR3Dview(_wxvtkmpr3Dview);
312 if(hDlg->ShowModal()== wxID_OK )
315 // -- vtkColorTransferFunction --
316 ctfun->RemoveAllPoints ();
318 ctfunVectorPoint->clear();
319 ctfunVectorRed->clear();
320 ctfunVectorGreen->clear();
321 ctfunVectorBlue->clear();
323 int nCTFpoints=hDlg->getSizeBarColor();
324 // Machete .. Ojo Eduardo
328 hDlg->getDataBarColorPoint(i,xi,r,g,b);
332 hDlg->getDataBarColorPoint(1,xi,r,g,b);
336 hDlg->getDataBarColorPoint(i-1,xi,r,g,b);
339 ctfun->AddRGBPoint(xi,r/255.0,g/255.0,b/255.0 );
340 ctfunVectorPoint->push_back(xi);
341 ctfunVectorRed->push_back(r/255.0);
342 ctfunVectorGreen->push_back(g/255.0);
343 ctfunVectorBlue->push_back(b/255.0);
353 if(hDlg->getRefreshed())
355 // -- vtkColorTransferFunction --
356 ctfun->RemoveAllPoints ();
359 int size=ctfunVectorPoint->size();
363 double grey2=(*ctfunVectorPoint)[i];
364 double red =(*ctfunVectorRed)[i];
365 double green =(*ctfunVectorGreen)[i];
366 double blue = (*ctfunVectorBlue)[i];
367 ctfun->AddRGBPoint(grey2,red,green,blue);
377 //-------------------------------------------------------------------
378 void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneX(wxCommandEvent& event)
380 _wxvtkmpr3Dview->FreePlaneVisible( 1, event.IsChecked() );
381 _wxvtkmpr3Dview->FreePlaneInteraction( _ckFreePlaneInteraction->GetValue() );
384 //-------------------------------------------------------------------
385 void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneY(wxCommandEvent& event)
387 _wxvtkmpr3Dview->FreePlaneVisible( 2, event.IsChecked() );
388 _wxvtkmpr3Dview->FreePlaneInteraction( _ckFreePlaneInteraction->GetValue() );
392 //-------------------------------------------------------------------
393 void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneZ(wxCommandEvent& event)
395 _wxvtkmpr3Dview->FreePlaneVisible( 3, event.IsChecked() );
396 _wxvtkmpr3Dview->FreePlaneInteraction( _ckFreePlaneInteraction->GetValue() );
400 //-------------------------------------------------------------------
401 void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneInteraction(wxCommandEvent& event)
403 _wxvtkmpr3Dview->FreePlaneInteraction( event.IsChecked() );
407 //-------------------------------------------------------------------
408 void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisX(wxCommandEvent& event)
411 _wxvtkmpr3Dview->VisibleImageActor(0, event.IsChecked() );
412 _wxvtkmpr3Dview->Refresh();
414 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
417 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
419 std::cout<<e<<std::endl;
422 //-------------------------------------------------------------------
423 void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisY(wxCommandEvent& event)
425 _wxvtkmpr3Dview->VisibleImageActor(1, event.IsChecked() );
426 _wxvtkmpr3Dview->Refresh();
428 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
429 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
432 //-------------------------------------------------------------------
433 void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisZ(wxCommandEvent& event)
435 _wxvtkmpr3Dview->VisibleImageActor(2, event.IsChecked() );
436 _wxvtkmpr3Dview->Refresh();
438 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
439 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
442 //-------------------------------------------------------------------
443 void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisXYZ(wxCommandEvent& event)
446 _wxvtkmpr3Dview->VisiblePointWidget(event.IsChecked());
449 //-------------------------------------------------------------------
450 void wxVtkMPR3DViewCntrlPanel::OnVisiblePlane(wxCommandEvent& event)
452 _wxvtkmpr3Dview->VisiblePlaneWidget(event.IsChecked());
456 //-------------------------------------------------------------------
457 void wxVtkMPR3DViewCntrlPanel::OnPositionX(wxScrollEvent& event)
459 _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->SetX( _positionX->GetValue() );
460 _wxvtkmpr3Dview->RefreshView();
462 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
463 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
465 //-------------------------------------------------------------------
466 void wxVtkMPR3DViewCntrlPanel::OnPositionY(wxScrollEvent& event)
468 _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->SetY( _positionY->GetValue() );
469 _wxvtkmpr3Dview->RefreshView();
470 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
471 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
473 //-------------------------------------------------------------------
474 void wxVtkMPR3DViewCntrlPanel::OnPositionZ(wxScrollEvent& event)
476 _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->SetZ( _positionZ->GetValue() );
477 _wxvtkmpr3Dview->RefreshView();
478 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
479 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
482 //-------------------------------------------------------------------
483 bool wxVtkMPR3DViewCntrlPanel::GetVisibleX()
485 return ckBoxX->GetValue();
488 //-------------------------------------------------------------------
489 bool wxVtkMPR3DViewCntrlPanel::GetVisibleY()
491 return ckBoxY->GetValue();
494 //-------------------------------------------------------------------
495 bool wxVtkMPR3DViewCntrlPanel::GetVisibleZ()
497 return ckBoxZ->GetValue();
500 //-------------------------------------------------------------------
501 bool wxVtkMPR3DViewCntrlPanel::GetVisibleXYZ()
503 return _ckBoxXYZ->GetValue();
506 //-------------------------------------------------------------------
507 bool wxVtkMPR3DViewCntrlPanel::GetVisiblePlane()
509 return _ckBoxPlane->GetValue();
512 //-------------------------------------------------------------------
513 void wxVtkMPR3DViewCntrlPanel::SetVisibleX(bool value)
515 ckBoxX->SetValue(value);
517 _wxvtkmpr3Dview->VisibleImageActor(0, value );
518 _wxvtkmpr3Dview->Refresh();
520 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
521 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
524 //-------------------------------------------------------------------
525 void wxVtkMPR3DViewCntrlPanel::SetVisibleY(bool value)
527 ckBoxY->SetValue(value);
529 _wxvtkmpr3Dview->VisibleImageActor(1, value );
530 _wxvtkmpr3Dview->Refresh();
532 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
533 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
536 //-------------------------------------------------------------------
537 void wxVtkMPR3DViewCntrlPanel::SetVisibleZ(bool value)
539 ckBoxZ->SetValue(value);
541 _wxvtkmpr3Dview->VisibleImageActor(2, value );
542 _wxvtkmpr3Dview->Refresh();
544 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
545 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
548 //-------------------------------------------------------------------
549 void wxVtkMPR3DViewCntrlPanel::SetVisibleXYZ(bool value)
551 _ckBoxXYZ->SetValue(value);
552 _wxvtkmpr3Dview->VisiblePointWidget(value);
556 //-------------------------------------------------------------------
557 void wxVtkMPR3DViewCntrlPanel::SetVisiblePlane(bool value)
559 _ckBoxPlane->SetValue(value);
560 _wxvtkmpr3Dview->VisiblePlaneWidget(value);