1 #include "wxVtkMPR3DViewCntrlPanel.h"
3 #include "HistogramDialog.h"
5 wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DView *wxvtkmpr3Dview, bool align )
9 _wxvtkmpr3Dview = wxvtkmpr3Dview;
11 /*int maxX = _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetMaxPositionX();
12 int maxY = _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetMaxPositionY();
13 int maxZ = _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetMaxPositionZ();*/
19 //CPR: Modified 30 Nov 2009
21 wxCheckBox *ckBoxX = new wxCheckBox(panel,-1,_T("X "));
22 _positionX = new wxSlider(panel,-1,maxX/2,0,maxX, wxDefaultPosition, wxSize(150,40), wxSL_HORIZONTAL | wxSL_LABELS);
23 wxCheckBox *ckBoxY = new wxCheckBox(panel,-1,_T("Y "));
24 _positionY = new wxSlider(panel,-1,maxY/2,0,maxY, wxDefaultPosition, wxSize(150,40), wxSL_HORIZONTAL | wxSL_LABELS);
25 wxCheckBox *ckBoxZ = new wxCheckBox(panel,-1,_T("Z "));
26 _positionZ = new wxSlider(panel,-1,maxZ/2,0,maxZ, wxDefaultPosition, wxSize(150,40), wxSL_HORIZONTAL | wxSL_LABELS);
27 wxButton *btnColorTable = new wxButton (panel, -1, _T("Edit Color Table") );
30 ckBoxX = new wxCheckBox(panel,-1,_T("X "));
31 _positionX = new wxSlider(panel,-1,0,0,1, wxDefaultPosition, wxSize(300,40), wxSL_HORIZONTAL | wxSL_LABELS);
32 ckBoxY = new wxCheckBox(panel,-1,_T("Y "));
33 _positionY = new wxSlider(panel,-1,0,0,1, wxDefaultPosition, wxSize(300,40), wxSL_HORIZONTAL | wxSL_LABELS);
34 ckBoxZ = new wxCheckBox(panel,-1,_T("Z "));
35 _positionZ = new wxSlider(panel,-1,0,0,1, wxDefaultPosition, wxSize(300,40), wxSL_HORIZONTAL | wxSL_LABELS);
36 wxButton *btnColorTable = new wxButton (panel, -1, _T("Color Table") );
38 _ckBoxXYZ = new wxCheckBox(panel,-1,_T("Show XYZ axis "));
39 _ckBoxPlane = new wxCheckBox(panel,-1,_T("Show Planes"));
41 _ckFreePlaneX= new wxCheckBox(panel,-1,_T("free X"));;
42 _ckFreePlaneY= new wxCheckBox(panel,-1,_T("free Y"));;
43 _ckFreePlaneZ= new wxCheckBox(panel,-1,_T("free Z"));;
44 _ckFreePlaneInteraction= new wxCheckBox(panel,-1,_T("Interaction "));;
46 //EED: If-else statements added 30 Nov 2009
47 _ckFreePlaneX->SetValue(true);
48 _ckFreePlaneY->SetValue(false);
49 _ckFreePlaneZ->SetValue(false);
50 _ckFreePlaneInteraction->SetValue(true);
52 ckBoxX->SetValue(false);
53 ckBoxY->SetValue(false);
54 ckBoxZ->SetValue(false);
55 _ckBoxXYZ->SetValue(false);
56 _ckBoxPlane->SetValue(false);
58 _positionX->SetSize(400,20);
59 _positionY->SetSize(400,20);
60 _positionZ->SetSize(400,20);
62 Connect(ckBoxX->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisX );
63 Connect(_positionX->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnPositionX );
64 Connect(ckBoxY->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisY );
65 Connect(_positionY->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnPositionY );
66 Connect(ckBoxZ->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisZ );
67 Connect(_positionZ->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnPositionZ );
68 Connect(btnColorTable->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnEditColorTable );
70 Connect(_ckBoxXYZ->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisXYZ );
71 Connect(_ckBoxPlane->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisiblePlane );
73 Connect(_ckFreePlaneX->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneX );
74 Connect(_ckFreePlaneY->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneY );
75 Connect(_ckFreePlaneZ->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneZ );
76 Connect(_ckFreePlaneInteraction->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneInteraction );
78 wxFlexGridSizer *sizer;
80 // wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
81 // wxBoxSizer *sizerH4 = new wxBoxSizer(wxHORIZONTAL);
83 //CPR: If-else statements added 30 Nov 2009
84 wxFlexGridSizer *sizerH4;
85 wxFlexGridSizer *sizerH5;
86 wxFlexGridSizer *sizerH6;
89 sizer = new wxFlexGridSizer(3);
91 sizerH4 = new wxFlexGridSizer(2);
92 sizerH4->Add( _positionX ,1,wxGROW , 0 );
93 sizerH4->Add( ckBoxX ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
94 sizerH4->Add( _positionY ,1,wxGROW, 0 );
95 sizerH4->Add( ckBoxY ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
96 sizerH4->Add( _positionZ ,1,wxGROW, 0 );
97 sizerH4->Add( ckBoxZ ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
99 sizerH5 = new wxFlexGridSizer(1);
100 sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
101 sizerH5->Add( _ckBoxXYZ , 1, wxALL|wxEXPAND, 0);
102 sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
103 sizerH5->Add( _ckBoxPlane , 1, wxALL|wxEXPAND, 0);
104 sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
105 sizerH5->Add( btnColorTable , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
106 //sizerH5->Add( new wxStaticText(panel, -1,_T(" ")), 1, wxALL|wxEXPAND, 0);
108 sizerH6 = new wxFlexGridSizer(1);
109 sizerH6->Add( _ckFreePlaneX, 1, wxALL|wxEXPAND, 0);
110 sizerH6->Add( _ckFreePlaneY, 1, wxALL|wxEXPAND, 0);
111 sizerH6->Add( _ckFreePlaneZ, 1, wxALL|wxEXPAND, 0);
112 sizerH6->Add( _ckFreePlaneInteraction , 1, wxALL|wxEXPAND, 0);
115 sizer = new wxFlexGridSizer(1);
117 sizerH4 = new wxFlexGridSizer(10);
118 sizerH5 = new wxFlexGridSizer(10);
119 sizerH6 = new wxFlexGridSizer(10);
121 sizerH4->Add( _positionX , 1, wxGROW , 0 );
122 sizerH4->Add( ckBoxX , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
123 sizerH4->Add( _positionY , 1, wxGROW , 0 );
124 sizerH4->Add( ckBoxY , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
125 sizerH4->Add( _positionZ , 1, wxGROW , 0 );
126 sizerH4->Add( ckBoxZ , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
127 sizerH4->Add( btnColorTable , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
129 sizerH5->Add( _ckBoxXYZ , 1, wxALL|wxEXPAND, 0);
130 sizerH5->Add( _ckBoxPlane , 1, wxALL|wxEXPAND, 0);
131 sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
133 sizerH6 = new wxFlexGridSizer(10);
134 sizerH6->Add( _ckFreePlaneX , 1, wxALL|wxEXPAND, 0);
135 sizerH6->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
136 sizerH6->Add( _ckFreePlaneY , 1, wxALL|wxEXPAND, 0);
137 sizerH6->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
138 sizerH6->Add( _ckFreePlaneZ , 1, wxALL|wxEXPAND, 0);
139 sizerH6->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
140 sizerH6->Add( _ckFreePlaneInteraction , 1, wxALL|wxEXPAND, 0);
145 // wxFlexGridSizer *sizerH6 = new wxFlexGridSizer(10);
146 // wxFlexGridSizer *sizerH7 = new wxFlexGridSizer(10);
148 // sizerH4->Add( ckBoxX , 1, wxALL|wxEXPAND, 0);
149 // sizerH4->Add( new wxStaticText(panel, -1," ") , 1, wxALL|wxEXPAND, 0);
150 // sizerH4->Add( _positionX , 1, wxALL|wxEXPAND, 0);
152 // sizerH5->Add( ckBoxY , 1, wxALL|wxEXPAND, 0);
153 // sizerH5->Add( new wxStaticText(panel, -1," ") , 1, wxALL|wxEXPAND, 0);
154 // sizerH5->Add( _positionY , 1, wxALL|wxEXPAND, 0);
156 // sizerH6->Add( ckBoxZ , 1, wxALL|wxEXPAND, 0);
157 // sizerH6->Add( new wxStaticText(panel, -1," ") , 1, wxALL|wxEXPAND, 0);
158 // sizerH6->Add( _positionZ , 1, wxALL|wxEXPAND, 0);
160 // sizerH7->Add( _ckBoxXYZ , 1, wxALL|wxEXPAND, 0);
161 // sizerH7->Add( _ckBoxPlane , 1, wxALL|wxEXPAND, 0);
163 // sizer->Add( sizerH4 , 1, wxALL|wxEXPAND, 2);
164 // sizer->Add( sizerH5 , 1, wxALL|wxEXPAND, 2);
165 // sizer->Add( sizerH6 , 1, wxALL|wxEXPAND, 2);
166 // sizer->Add( sizerH7 , 1, wxALL|wxEXPAND, 2);
169 // sizerH5->Add( ckBoxX , 1, wxALL|wxEXPAND, 0);
170 // sizerH5->Add( ckBoxY , 1, wxALL|wxEXPAND, 0);
171 // sizerH5->Add( ckBoxZ , 1, wxALL|wxEXPAND, 0);
173 sizer->Add( sizerH4, 1, wxALL|wxGROW, 2);
174 sizer->Add( sizerH5, 1, wxALL|wxEXPAND,2);
175 sizer->Add( sizerH6, 1, wxALL|wxEXPAND,2);
177 panel->SetSize(400,50);
178 panel->SetAutoLayout(true);
179 panel->SetSizer(sizer);
182 panel->SetEventHandler((wxEvtHandler*)this);
184 //this->UpdateControlPanel();
186 void wxVtkMPR3DViewCntrlPanel::UpdateControlPanel()
188 vtkMPRBaseData* basedata = _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData();
189 if(basedata != NULL){
191 /*int maxX = basedata->GetMaxPositionX();
192 int maxY = basedata->GetMaxPositionY();
193 int maxZ = basedata->GetMaxPositionZ();*/
194 vtkImageData* img = basedata->GetImageData();
195 int x0,x1,y0,y1,z0,z1;
196 /*int maxX = x1-x0;//basedata->GetMaxPositionX();
197 int maxY = y1-y0;//basedata->GetMaxPositionY();
198 int maxZ = z1-z0;//basedata->GetMaxPositionZ();*/
200 //std::cout<<"wxVtkMPR3DViewCntrlPanel::UpdateControlPanel() maxX="<<maxX<<" maxY="<<maxY<<" maxZ="<<maxZ<<std::endl;
201 /*_positionX->SetRange(0,maxX);
202 _positionY->SetRange(0,maxY);
203 _positionZ->SetRange(0,maxZ);*/
205 img->GetExtent(x0,x1,y0,y1,z0,z1);
206 _positionX->SetRange(x0,x1);
207 _positionY->SetRange(y0,y1);
208 _positionZ->SetRange(z0,z1);
210 _positionX->SetValue((x0+x1)/2);
211 _positionY->SetValue((y0+y1)/2);
212 _positionZ->SetValue((z0+z1)/2);
214 printf("EED wxVtkMPR3DViewCntrlPanel::UpdateControlPanel -- 12April2012 This make a floting window in MacOs and Linux with for windows \n");
215 //EED 12April2012 This make a floting window in MacOs and Linux with for windows
216 // _positionX->Update();
217 // _positionY->Update();
218 // _positionZ->Update();
225 //-------------------------------------------------------------------
226 wxVtkMPR3DViewCntrlPanel::~wxVtkMPR3DViewCntrlPanel()
229 //-------------------------------------------------------------------
230 void wxVtkMPR3DViewCntrlPanel::Refresh()
232 // wxPanel::Refresh();
233 _positionX->SetValue( (int)(_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetX( )) );
234 _positionY->SetValue( (int)(_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetY( )) );
235 _positionZ->SetValue( (int)(_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetZ( )) );
238 //-------------------------------------------------------------------
239 int wxVtkMPR3DViewCntrlPanel::GetIdTissue()
242 if (_surfA->GetValue()==true)
246 if (_surfB->GetValue()==true)
250 if (_surfC->GetValue()==true)
254 if (_surfD->GetValue()==true)
263 //-------------------------------------------------------------------
264 void wxVtkMPR3DViewCntrlPanel::OnEditColorTable(wxCommandEvent& event)
267 vtkColorTransferFunction *ctfun = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetvtkColorTransferFunction();
268 std::vector<double> *ctfunVectorPoint = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetctFunVectorPoint();
269 std::vector<double> *ctfunVectorRed = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetctFunVectorRed();
270 std::vector<double> *ctfunVectorGreen = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetctFunVectorGreen();
271 std::vector<double> *ctfunVectorBlue = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetctFunVectorBlue();
273 //void *p=this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer(); // JPRx
278 vtkImageData *imagedata = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData();
280 HistogramDialog* hDlg=new HistogramDialog(NULL,_T("Color table"),imagedata,2);
283 hDlg->erasePointsTransferenceFunction();
284 int ctfSize=ctfunVectorRed->size();
287 // MACHETE OJO Eduardo
291 double gr = (*ctfunVectorPoint)[i];
292 double r = (*ctfunVectorRed)[i];
293 double g = (*ctfunVectorGreen)[i];
294 double b = (*ctfunVectorBlue)[i];
296 hDlg->addColorPoint(gr,(int)(r*255),(int)(g*255),(int)(b*255));
303 // when the user had changed the transference Function
306 //setting variables if the user wants to do refresh
309 //hDlg->setMPR3Dview(_wxvtkmpr3Dview);
311 if(hDlg->ShowModal()== wxID_OK )
314 // -- vtkColorTransferFunction --
315 ctfun->RemoveAllPoints ();
317 ctfunVectorPoint->clear();
318 ctfunVectorRed->clear();
319 ctfunVectorGreen->clear();
320 ctfunVectorBlue->clear();
322 int nCTFpoints=hDlg->getSizeBarColor();
323 // Machete .. Ojo Eduardo
327 hDlg->getDataBarColorPoint(i,xi,r,g,b);
331 hDlg->getDataBarColorPoint(1,xi,r,g,b);
335 hDlg->getDataBarColorPoint(i-1,xi,r,g,b);
338 ctfun->AddRGBPoint(xi,r/255.0,g/255.0,b/255.0 );
339 ctfunVectorPoint->push_back(xi);
340 ctfunVectorRed->push_back(r/255.0);
341 ctfunVectorGreen->push_back(g/255.0);
342 ctfunVectorBlue->push_back(b/255.0);
352 if(hDlg->getRefreshed())
354 // -- vtkColorTransferFunction --
355 ctfun->RemoveAllPoints ();
358 int size=ctfunVectorPoint->size();
362 double grey2=(*ctfunVectorPoint)[i];
363 double red =(*ctfunVectorRed)[i];
364 double green =(*ctfunVectorGreen)[i];
365 double blue = (*ctfunVectorBlue)[i];
366 ctfun->AddRGBPoint(grey2,red,green,blue);
376 //-------------------------------------------------------------------
377 void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneX(wxCommandEvent& event)
379 _wxvtkmpr3Dview->FreePlaneVisible( 1, event.IsChecked() );
380 _wxvtkmpr3Dview->FreePlaneInteraction( _ckFreePlaneInteraction->GetValue() );
383 //-------------------------------------------------------------------
384 void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneY(wxCommandEvent& event)
386 _wxvtkmpr3Dview->FreePlaneVisible( 2, event.IsChecked() );
387 _wxvtkmpr3Dview->FreePlaneInteraction( _ckFreePlaneInteraction->GetValue() );
391 //-------------------------------------------------------------------
392 void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneZ(wxCommandEvent& event)
394 _wxvtkmpr3Dview->FreePlaneVisible( 3, event.IsChecked() );
395 _wxvtkmpr3Dview->FreePlaneInteraction( _ckFreePlaneInteraction->GetValue() );
399 //-------------------------------------------------------------------
400 void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneInteraction(wxCommandEvent& event)
402 _wxvtkmpr3Dview->FreePlaneInteraction( event.IsChecked() );
406 //-------------------------------------------------------------------
407 void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisX(wxCommandEvent& event)
410 _wxvtkmpr3Dview->VisibleImageActor(0, event.IsChecked() );
411 _wxvtkmpr3Dview->Refresh();
413 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
416 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
418 std::cout<<e<<std::endl;
421 //-------------------------------------------------------------------
422 void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisY(wxCommandEvent& event)
424 _wxvtkmpr3Dview->VisibleImageActor(1, event.IsChecked() );
425 _wxvtkmpr3Dview->Refresh();
427 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
428 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
431 //-------------------------------------------------------------------
432 void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisZ(wxCommandEvent& event)
434 _wxvtkmpr3Dview->VisibleImageActor(2, event.IsChecked() );
435 _wxvtkmpr3Dview->Refresh();
437 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
438 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
441 //-------------------------------------------------------------------
442 void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisXYZ(wxCommandEvent& event)
445 _wxvtkmpr3Dview->VisiblePointWidget(event.IsChecked());
448 //-------------------------------------------------------------------
449 void wxVtkMPR3DViewCntrlPanel::OnVisiblePlane(wxCommandEvent& event)
451 _wxvtkmpr3Dview->VisiblePlaneWidget(event.IsChecked());
455 //-------------------------------------------------------------------
456 void wxVtkMPR3DViewCntrlPanel::OnPositionX(wxScrollEvent& event)
458 _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->SetX( _positionX->GetValue() );
459 _wxvtkmpr3Dview->RefreshView();
461 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
462 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
464 //-------------------------------------------------------------------
465 void wxVtkMPR3DViewCntrlPanel::OnPositionY(wxScrollEvent& event)
467 _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->SetY( _positionY->GetValue() );
468 _wxvtkmpr3Dview->RefreshView();
469 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
470 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
472 //-------------------------------------------------------------------
473 void wxVtkMPR3DViewCntrlPanel::OnPositionZ(wxScrollEvent& event)
475 _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->SetZ( _positionZ->GetValue() );
476 _wxvtkmpr3Dview->RefreshView();
477 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
478 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
481 //-------------------------------------------------------------------
482 bool wxVtkMPR3DViewCntrlPanel::GetVisibleX()
484 return ckBoxX->GetValue();
487 //-------------------------------------------------------------------
488 bool wxVtkMPR3DViewCntrlPanel::GetVisibleY()
490 return ckBoxY->GetValue();
493 //-------------------------------------------------------------------
494 bool wxVtkMPR3DViewCntrlPanel::GetVisibleZ()
496 return ckBoxZ->GetValue();
499 //-------------------------------------------------------------------
500 bool wxVtkMPR3DViewCntrlPanel::GetVisibleXYZ()
502 return _ckBoxXYZ->GetValue();
505 //-------------------------------------------------------------------
506 bool wxVtkMPR3DViewCntrlPanel::GetVisiblePlane()
508 return _ckBoxPlane->GetValue();
511 //-------------------------------------------------------------------
512 void wxVtkMPR3DViewCntrlPanel::SetVisibleX(bool value)
514 ckBoxX->SetValue(value);
516 _wxvtkmpr3Dview->VisibleImageActor(0, value );
517 _wxvtkmpr3Dview->Refresh();
519 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
520 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
523 //-------------------------------------------------------------------
524 void wxVtkMPR3DViewCntrlPanel::SetVisibleY(bool value)
526 ckBoxY->SetValue(value);
528 _wxvtkmpr3Dview->VisibleImageActor(1, value );
529 _wxvtkmpr3Dview->Refresh();
531 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
532 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
535 //-------------------------------------------------------------------
536 void wxVtkMPR3DViewCntrlPanel::SetVisibleZ(bool value)
538 ckBoxZ->SetValue(value);
540 _wxvtkmpr3Dview->VisibleImageActor(2, value );
541 _wxvtkmpr3Dview->Refresh();
543 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
544 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
547 //-------------------------------------------------------------------
548 void wxVtkMPR3DViewCntrlPanel::SetVisibleXYZ(bool value)
550 _ckBoxXYZ->SetValue(value);
551 _wxvtkmpr3Dview->VisiblePointWidget(value);
555 //-------------------------------------------------------------------
556 void wxVtkMPR3DViewCntrlPanel::SetVisiblePlane(bool value)
558 _ckBoxPlane->SetValue(value);
559 _wxvtkmpr3Dview->VisiblePlaneWidget(value);