1 #include "wxVtkMPR3DViewCntrlPanel.h"
3 #include "HistogramDialog.h"
4 #include <wx/combobox.h>
6 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,0,0,1, wxDefaultPosition, wxSize(300,40), wxSL_HORIZONTAL | wxSL_LABELS);
33 ckBoxY = new wxCheckBox(panel,-1,_T("Y "));
34 _positionY = new wxSlider(panel,-1,0,0,1, wxDefaultPosition, wxSize(300,40), wxSL_HORIZONTAL | wxSL_LABELS);
35 ckBoxZ = new wxCheckBox(panel,-1,_T("Z "));
36 _positionZ = new wxSlider(panel,-1,0,0,1, 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 "));;
47 //EED: If-else statements added 30 Nov 2009
48 _ckFreePlaneX->SetValue(true);
49 _ckFreePlaneY->SetValue(false);
50 _ckFreePlaneZ->SetValue(false);
51 _ckFreePlaneInteraction->SetValue(true);
53 ckBoxX->SetValue(false);
54 ckBoxY->SetValue(false);
55 ckBoxZ->SetValue(false);
56 _ckBoxXYZ->SetValue(false);
57 _ckBoxPlane->SetValue(false);
59 _positionX->SetSize(400,20);
60 _positionY->SetSize(400,20);
61 _positionZ->SetSize(400,20);
64 _cbStereo = new wxComboBox(panel, -1, _T(""), wxDefaultPosition, wxDefaultSize, 0, NULL,wxCB_READONLY );
65 _cbStereo->Append(_T(" * NO STEREO"));
66 _cbStereo->Append(_T(" STEREO CRYSTAL EYES"));
67 _cbStereo->Append(_T(" STEREO RED BLUE"));
68 _cbStereo->Append(_T(" STEREO INTERLACED"));
69 _cbStereo->Append(_T(" STEREO LEFT"));
70 _cbStereo->Append(_T(" STEREO RIGHT"));
71 _cbStereo->Append(_T(" STEREO DRESDEN"));
72 _cbStereo->Append(_T(" * STEREO ANAGLYPH"));
73 _cbStereo->Append(_T(" STEREO CHECKERBOARD"));
79 Connect(ckBoxX->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisX );
80 Connect(_positionX->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnPositionX );
81 Connect(ckBoxY->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisY );
82 Connect(_positionY->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnPositionY );
83 Connect(ckBoxZ->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisZ );
84 Connect(_positionZ->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnPositionZ );
85 Connect(btnColorTable->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnEditColorTable );
87 Connect(_ckBoxXYZ->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisXYZ );
88 Connect(_ckBoxPlane->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisiblePlane );
90 Connect(_ckFreePlaneX->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneX );
91 Connect(_ckFreePlaneY->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneY );
92 Connect(_ckFreePlaneZ->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneZ );
93 Connect(_ckFreePlaneInteraction->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneInteraction );
95 Connect(_cbStereo->GetId(), wxEVT_COMMAND_COMBOBOX_SELECTED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnSetStereo );
98 wxFlexGridSizer *sizer;
100 // wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
101 // wxBoxSizer *sizerH4 = new wxBoxSizer(wxHORIZONTAL);
103 //CPR: If-else statements added 30 Nov 2009
104 wxFlexGridSizer *sizerH4;
105 wxFlexGridSizer *sizerH5;
106 wxFlexGridSizer *sizerH6;
107 wxFlexGridSizer *sizerH7;
110 sizer = new wxFlexGridSizer(4);
112 sizerH4 = new wxFlexGridSizer(2);
113 sizerH4->Add( _positionX ,1,wxGROW , 0 );
114 sizerH4->Add( ckBoxX ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
115 sizerH4->Add( _positionY ,1,wxGROW, 0 );
116 sizerH4->Add( ckBoxY ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
117 sizerH4->Add( _positionZ ,1,wxGROW, 0 );
118 sizerH4->Add( ckBoxZ ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
120 sizerH5 = new wxFlexGridSizer(1);
121 sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
122 sizerH5->Add( _ckBoxXYZ , 1, wxALL|wxEXPAND, 0);
123 sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
124 sizerH5->Add( _ckBoxPlane , 1, wxALL|wxEXPAND, 0);
125 sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
126 sizerH5->Add( btnColorTable , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
127 //sizerH5->Add( new wxStaticText(panel, -1,_T(" ")), 1, wxALL|wxEXPAND, 0);
129 sizerH6 = new wxFlexGridSizer(1);
130 sizerH6->Add( _ckFreePlaneX, 1, wxALL|wxEXPAND, 0);
131 sizerH6->Add( _ckFreePlaneY, 1, wxALL|wxEXPAND, 0);
132 sizerH6->Add( _ckFreePlaneZ, 1, wxALL|wxEXPAND, 0);
133 sizerH6->Add( _ckFreePlaneInteraction , 1, wxALL|wxEXPAND, 0);
136 sizer = new wxFlexGridSizer(1);
138 sizerH4 = new wxFlexGridSizer(10);
139 sizerH5 = new wxFlexGridSizer(10);
140 sizerH6 = new wxFlexGridSizer(10);
142 sizerH4->Add( _positionX , 1, wxGROW , 0 );
143 sizerH4->Add( ckBoxX , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
144 sizerH4->Add( _positionY , 1, wxGROW , 0 );
145 sizerH4->Add( ckBoxY , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
146 sizerH4->Add( _positionZ , 1, wxGROW , 0 );
147 sizerH4->Add( ckBoxZ , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
148 sizerH4->Add( btnColorTable , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
150 sizerH5->Add( _ckBoxXYZ , 1, wxALL|wxEXPAND, 0);
151 sizerH5->Add( _ckBoxPlane , 1, wxALL|wxEXPAND, 0);
152 sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
154 sizerH6 = new wxFlexGridSizer(10);
155 sizerH6->Add( _ckFreePlaneX , 1, wxALL|wxEXPAND, 0);
156 sizerH6->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
157 sizerH6->Add( _ckFreePlaneY , 1, wxALL|wxEXPAND, 0);
158 sizerH6->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
159 sizerH6->Add( _ckFreePlaneZ , 1, wxALL|wxEXPAND, 0);
160 sizerH6->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
161 sizerH6->Add( _ckFreePlaneInteraction , 1, wxALL|wxEXPAND, 0);
165 sizerH7 = new wxFlexGridSizer(1);
166 sizerH7->Add( _cbStereo, 1, wxALL|wxEXPAND, 0);
170 // wxFlexGridSizer *sizerH6 = new wxFlexGridSizer(10);
171 // wxFlexGridSizer *sizerH7 = new wxFlexGridSizer(10);
173 // sizerH4->Add( ckBoxX , 1, wxALL|wxEXPAND, 0);
174 // sizerH4->Add( new wxStaticText(panel, -1," ") , 1, wxALL|wxEXPAND, 0);
175 // sizerH4->Add( _positionX , 1, wxALL|wxEXPAND, 0);
177 // sizerH5->Add( ckBoxY , 1, wxALL|wxEXPAND, 0);
178 // sizerH5->Add( new wxStaticText(panel, -1," ") , 1, wxALL|wxEXPAND, 0);
179 // sizerH5->Add( _positionY , 1, wxALL|wxEXPAND, 0);
181 // sizerH6->Add( ckBoxZ , 1, wxALL|wxEXPAND, 0);
182 // sizerH6->Add( new wxStaticText(panel, -1," ") , 1, wxALL|wxEXPAND, 0);
183 // sizerH6->Add( _positionZ , 1, wxALL|wxEXPAND, 0);
185 // sizerH7->Add( _ckBoxXYZ , 1, wxALL|wxEXPAND, 0);
186 // sizerH7->Add( _ckBoxPlane , 1, wxALL|wxEXPAND, 0);
188 // sizer->Add( sizerH4 , 1, wxALL|wxEXPAND, 2);
189 // sizer->Add( sizerH5 , 1, wxALL|wxEXPAND, 2);
190 // sizer->Add( sizerH6 , 1, wxALL|wxEXPAND, 2);
191 // sizer->Add( sizerH7 , 1, wxALL|wxEXPAND, 2);
194 // sizerH5->Add( ckBoxX , 1, wxALL|wxEXPAND, 0);
195 // sizerH5->Add( ckBoxY , 1, wxALL|wxEXPAND, 0);
196 // sizerH5->Add( ckBoxZ , 1, wxALL|wxEXPAND, 0);
198 sizer->Add( sizerH4, 1, wxALL|wxGROW, 2);
199 sizer->Add( sizerH5, 1, wxALL|wxEXPAND,2);
200 sizer->Add( sizerH6, 1, wxALL|wxEXPAND,2);
201 sizer->Add( sizerH7, 1, wxALL|wxEXPAND,2);
203 panel->SetSize(400,50);
204 panel->SetAutoLayout(true);
205 panel->SetSizer(sizer);
208 panel->SetEventHandler((wxEvtHandler*)this);
210 //this->UpdateControlPanel();
217 //-------------------------------------------------------------------
219 void wxVtkMPR3DViewCntrlPanel::UpdateControlPanel()
221 vtkMPRBaseData* basedata = _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData();
222 if(basedata != NULL){
224 /*int maxX = basedata->GetMaxPositionX();
225 int maxY = basedata->GetMaxPositionY();
226 int maxZ = basedata->GetMaxPositionZ();*/
227 vtkImageData* img = basedata->GetImageData();
228 int x0,x1,y0,y1,z0,z1;
229 /*int maxX = x1-x0;//basedata->GetMaxPositionX();
230 int maxY = y1-y0;//basedata->GetMaxPositionY();
231 int maxZ = z1-z0;//basedata->GetMaxPositionZ();*/
233 //std::cout<<"wxVtkMPR3DViewCntrlPanel::UpdateControlPanel() maxX="<<maxX<<" maxY="<<maxY<<" maxZ="<<maxZ<<std::endl;
234 /*_positionX->SetRange(0,maxX);
235 _positionY->SetRange(0,maxY);
236 _positionZ->SetRange(0,maxZ);*/
238 img->GetExtent(x0,x1,y0,y1,z0,z1);
239 _positionX->SetRange(x0,x1);
240 _positionY->SetRange(y0,y1);
241 _positionZ->SetRange(z0,z1);
243 _positionX->SetValue((x0+x1)/2);
244 _positionY->SetValue((y0+y1)/2);
245 _positionZ->SetValue((z0+z1)/2);
247 printf("EED wxVtkMPR3DViewCntrlPanel::UpdateControlPanel -- 12April2012 This make a floting window in MacOs and Linux with for windows \n");
248 //EED 12April2012 This make a floting window in MacOs and Linux with for windows
249 // _positionX->Update();
250 // _positionY->Update();
251 // _positionZ->Update();
259 //-------------------------------------------------------------------
260 wxVtkMPR3DViewCntrlPanel::~wxVtkMPR3DViewCntrlPanel()
264 //-------------------------------------------------------------------
265 void wxVtkMPR3DViewCntrlPanel::Refresh()
267 // wxPanel::Refresh();
268 _positionX->SetValue( (int)(_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetX( )) );
269 _positionY->SetValue( (int)(_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetY( )) );
270 _positionZ->SetValue( (int)(_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetZ( )) );
274 //-------------------------------------------------------------------
275 int wxVtkMPR3DViewCntrlPanel::GetIdTissue()
278 if (_surfA->GetValue()==true)
282 if (_surfB->GetValue()==true)
286 if (_surfC->GetValue()==true)
290 if (_surfD->GetValue()==true)
299 //-------------------------------------------------------------------
300 void wxVtkMPR3DViewCntrlPanel::OnEditColorTable(wxCommandEvent& event)
303 vtkColorTransferFunction *ctfun = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetvtkColorTransferFunction();
304 std::vector<double> *ctfunVectorPoint = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetctFunVectorPoint();
305 std::vector<double> *ctfunVectorRed = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetctFunVectorRed();
306 std::vector<double> *ctfunVectorGreen = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetctFunVectorGreen();
307 std::vector<double> *ctfunVectorBlue = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetctFunVectorBlue();
309 //void *p=this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer(); // JPRx
314 vtkImageData *imagedata = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData();
316 HistogramDialog* hDlg=new HistogramDialog(NULL,_T("Color table"),imagedata,2);
319 hDlg->erasePointsTransferenceFunction();
320 int ctfSize=ctfunVectorRed->size();
323 // MACHETE OJO Eduardo
327 double gr = (*ctfunVectorPoint)[i];
328 double r = (*ctfunVectorRed)[i];
329 double g = (*ctfunVectorGreen)[i];
330 double b = (*ctfunVectorBlue)[i];
332 hDlg->addColorPoint(gr,(int)(r*255),(int)(g*255),(int)(b*255));
339 // when the user had changed the transference Function
342 //setting variables if the user wants to do refresh
345 //hDlg->setMPR3Dview(_wxvtkmpr3Dview);
347 if(hDlg->ShowModal()== wxID_OK )
350 // -- vtkColorTransferFunction --
351 ctfun->RemoveAllPoints ();
353 ctfunVectorPoint->clear();
354 ctfunVectorRed->clear();
355 ctfunVectorGreen->clear();
356 ctfunVectorBlue->clear();
358 int nCTFpoints=hDlg->getSizeBarColor();
359 // Machete .. Ojo Eduardo
363 hDlg->getDataBarColorPoint(i,xi,r,g,b);
367 hDlg->getDataBarColorPoint(1,xi,r,g,b);
371 hDlg->getDataBarColorPoint(i-1,xi,r,g,b);
374 ctfun->AddRGBPoint(xi,r/255.0,g/255.0,b/255.0 );
375 ctfunVectorPoint->push_back(xi);
376 ctfunVectorRed->push_back(r/255.0);
377 ctfunVectorGreen->push_back(g/255.0);
378 ctfunVectorBlue->push_back(b/255.0);
388 if(hDlg->getRefreshed())
390 // -- vtkColorTransferFunction --
391 ctfun->RemoveAllPoints ();
394 int size=ctfunVectorPoint->size();
398 double grey2=(*ctfunVectorPoint)[i];
399 double red =(*ctfunVectorRed)[i];
400 double green =(*ctfunVectorGreen)[i];
401 double blue = (*ctfunVectorBlue)[i];
402 ctfun->AddRGBPoint(grey2,red,green,blue);
412 //-------------------------------------------------------------------
413 void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneX(wxCommandEvent& event)
415 _wxvtkmpr3Dview->FreePlaneVisible( 1, event.IsChecked() );
416 _wxvtkmpr3Dview->FreePlaneInteraction( _ckFreePlaneInteraction->GetValue() );
419 //-------------------------------------------------------------------
420 void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneY(wxCommandEvent& event)
422 _wxvtkmpr3Dview->FreePlaneVisible( 2, event.IsChecked() );
423 _wxvtkmpr3Dview->FreePlaneInteraction( _ckFreePlaneInteraction->GetValue() );
427 //-------------------------------------------------------------------
428 void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneZ(wxCommandEvent& event)
430 _wxvtkmpr3Dview->FreePlaneVisible( 3, event.IsChecked() );
431 _wxvtkmpr3Dview->FreePlaneInteraction( _ckFreePlaneInteraction->GetValue() );
435 //-------------------------------------------------------------------
436 void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneInteraction(wxCommandEvent& event)
438 _wxvtkmpr3Dview->FreePlaneInteraction( event.IsChecked() );
441 //-------------------------------------------------------------------
442 void wxVtkMPR3DViewCntrlPanel::OnSetStereo(wxCommandEvent& event)
444 this->_wxvtkmpr3Dview->GetWxvtk3Dbaseview()->SetStereo( _cbStereo->GetSelection() );
449 //-------------------------------------------------------------------
450 void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisX(wxCommandEvent& event)
452 _wxvtkmpr3Dview->VisibleImageActor(0, event.IsChecked() );
453 _wxvtkmpr3Dview->Refresh();
455 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
458 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
460 std::cout<<e<<std::endl;
463 //-------------------------------------------------------------------
464 void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisY(wxCommandEvent& event)
466 _wxvtkmpr3Dview->VisibleImageActor(1, event.IsChecked() );
467 _wxvtkmpr3Dview->Refresh();
469 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
470 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
473 //-------------------------------------------------------------------
474 void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisZ(wxCommandEvent& event)
476 _wxvtkmpr3Dview->VisibleImageActor(2, event.IsChecked() );
477 _wxvtkmpr3Dview->Refresh();
479 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
480 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
483 //-------------------------------------------------------------------
484 void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisXYZ(wxCommandEvent& event)
487 _wxvtkmpr3Dview->VisiblePointWidget(event.IsChecked());
490 //-------------------------------------------------------------------
491 void wxVtkMPR3DViewCntrlPanel::OnVisiblePlane(wxCommandEvent& event)
493 _wxvtkmpr3Dview->VisiblePlaneWidget(event.IsChecked());
497 //-------------------------------------------------------------------
498 void wxVtkMPR3DViewCntrlPanel::OnPositionX(wxScrollEvent& event)
500 _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->SetX( _positionX->GetValue() );
501 _wxvtkmpr3Dview->RefreshView();
503 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
504 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
506 //-------------------------------------------------------------------
507 void wxVtkMPR3DViewCntrlPanel::OnPositionY(wxScrollEvent& event)
509 _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->SetY( _positionY->GetValue() );
510 _wxvtkmpr3Dview->RefreshView();
511 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
512 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
514 //-------------------------------------------------------------------
515 void wxVtkMPR3DViewCntrlPanel::OnPositionZ(wxScrollEvent& event)
517 _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->SetZ( _positionZ->GetValue() );
518 _wxvtkmpr3Dview->RefreshView();
519 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
520 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
523 //-------------------------------------------------------------------
524 bool wxVtkMPR3DViewCntrlPanel::GetVisibleX()
526 return ckBoxX->GetValue();
529 //-------------------------------------------------------------------
530 bool wxVtkMPR3DViewCntrlPanel::GetVisibleY()
532 return ckBoxY->GetValue();
535 //-------------------------------------------------------------------
536 bool wxVtkMPR3DViewCntrlPanel::GetVisibleZ()
538 return ckBoxZ->GetValue();
541 //-------------------------------------------------------------------
542 bool wxVtkMPR3DViewCntrlPanel::GetVisibleXYZ()
544 return _ckBoxXYZ->GetValue();
547 //-------------------------------------------------------------------
548 bool wxVtkMPR3DViewCntrlPanel::GetVisiblePlane()
550 return _ckBoxPlane->GetValue();
553 //-------------------------------------------------------------------
554 void wxVtkMPR3DViewCntrlPanel::SetVisibleX(bool value)
556 ckBoxX->SetValue(value);
558 _wxvtkmpr3Dview->VisibleImageActor(0, value );
559 _wxvtkmpr3Dview->Refresh();
561 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
562 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
565 //-------------------------------------------------------------------
566 void wxVtkMPR3DViewCntrlPanel::SetVisibleY(bool value)
568 ckBoxY->SetValue(value);
570 _wxvtkmpr3Dview->VisibleImageActor(1, value );
571 _wxvtkmpr3Dview->Refresh();
573 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
574 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
577 //-------------------------------------------------------------------
578 void wxVtkMPR3DViewCntrlPanel::SetVisibleZ(bool value)
580 ckBoxZ->SetValue(value);
582 _wxvtkmpr3Dview->VisibleImageActor(2, value );
583 _wxvtkmpr3Dview->Refresh();
585 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
586 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
589 //-------------------------------------------------------------------
590 void wxVtkMPR3DViewCntrlPanel::SetVisibleXYZ(bool value)
592 _ckBoxXYZ->SetValue(value);
593 _wxvtkmpr3Dview->VisiblePointWidget(value);
597 //-------------------------------------------------------------------
598 void wxVtkMPR3DViewCntrlPanel::SetVisiblePlane(bool value)
600 _ckBoxPlane->SetValue(value);
601 _wxvtkmpr3Dview->VisiblePlaneWidget(value);