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);
38 _ckBoxXYZ = new wxCheckBox(panel,-1,_T("XYZ axis "));
39 _ckBoxPlane = new wxCheckBox(panel,-1,_T("Plane"));
40 ////EED 05Nov2012 _ckBox_BW_Color_Plane = new wxCheckBox(panel,-1,_T("GL/Color"));
41 wxButton *btnColorTable = new wxButton (panel, -1, _T("Color table") );
42 wxButton *btnFreePlanesOrtho= new wxButton (panel, -1, _T("Orthogonal planes GL") );
44 _ckFreePlaneX= new wxCheckBox(panel,-1,_T("X "));;
45 _ckFreePlaneY= new wxCheckBox(panel,-1,_T("Y "));;
46 _ckFreePlaneZ= new wxCheckBox(panel,-1,_T("Z "));;
47 _ckFreePlaneInteraction= new wxCheckBox(panel,-1,_T("Interaction planes GL"));;
49 //EED: If-else statements added 30 Nov 2009
50 _ckFreePlaneX->SetValue(false);
51 _ckFreePlaneY->SetValue(false);
52 _ckFreePlaneZ->SetValue(false);
53 _ckFreePlaneInteraction->SetValue(true);
55 _ckBoxX->SetValue(false);
56 _ckBoxY->SetValue(false);
57 _ckBoxZ->SetValue(false);
58 _ckBoxXYZ->SetValue(false);
59 ////EED 05Nov2012 _ckBox_BW_Color_Plane->SetValue(true);
60 _ckBoxPlane->SetValue(false);
62 _positionX->SetSize(400,20);
63 _positionY->SetSize(400,20);
64 _positionZ->SetSize(400,20);
67 _cbStereo = new wxComboBox(panel, -1, _T(""), wxDefaultPosition, wxDefaultSize, 0, NULL,wxCB_READONLY );
68 _cbStereo->Append(_T(" * NO STEREO"));
69 _cbStereo->Append(_T(" STEREO CRYSTAL EYES"));
70 _cbStereo->Append(_T(" STEREO RED BLUE"));
71 _cbStereo->Append(_T(" STEREO INTERLACED"));
72 _cbStereo->Append(_T(" STEREO LEFT"));
73 _cbStereo->Append(_T(" STEREO RIGHT"));
74 _cbStereo->Append(_T(" STEREO DRESDEN"));
75 _cbStereo->Append(_T(" * STEREO ANAGLYPH"));
76 _cbStereo->Append(_T(" STEREO CHECKERBOARD"));
82 Connect(_ckBoxX->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisX );
83 Connect(_positionX->GetId() , wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnPositionX );
84 Connect(_ckBoxY->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisY );
85 Connect(_positionY->GetId() , wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnPositionY );
86 Connect(_ckBoxZ->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisZ );
87 Connect(_positionZ->GetId() , wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnPositionZ );
89 Connect(btnColorTable->GetId() , wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnEditColorTable );
90 Connect(_ckBoxXYZ->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisXYZ );
91 Connect(_ckBoxPlane->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisiblePlane );
92 ////EED 05Nov2012 Connect(_ckBox_BW_Color_Plane->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::On_BW_Color_Plane );
94 Connect(_ckFreePlaneX->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneX);
95 Connect(_ckFreePlaneY->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneY);
96 Connect(_ckFreePlaneZ->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneZ);
97 Connect(btnFreePlanesOrtho->GetId() , wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnFreePlanesOrtho );
98 Connect(_ckFreePlaneInteraction->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneInteraction );
100 Connect(_cbStereo->GetId() , wxEVT_COMMAND_COMBOBOX_SELECTED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnSetStereo );
103 wxFlexGridSizer *sizer;
105 // wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
106 // wxBoxSizer *sizerH4 = new wxBoxSizer(wxHORIZONTAL);
108 //CPR: If-else statements added 30 Nov 2009
109 wxFlexGridSizer *sizerH4;
110 wxFlexGridSizer *sizerH5;
111 wxFlexGridSizer *sizerH6;
115 sizer = new wxFlexGridSizer(4);
116 sizerH4 = new wxFlexGridSizer(3);
118 sizerH4->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
119 sizerH4->Add( new wxStaticText(panel, -1,_T("GL")) , 1, wxALL|wxEXPAND, 0);
120 sizerH4->Add( new wxStaticText(panel, -1,_T("Color ")) , 1, wxALL|wxEXPAND, 0);
122 sizerH4->Add( _positionX ,1,wxGROW , 0 );
123 sizerH4->Add( _ckFreePlaneX, 1, wxALL|wxEXPAND, 0);
124 sizerH4->Add( _ckBoxX ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
126 sizerH4->Add( _positionY ,1,wxGROW, 0 );
127 sizerH4->Add( _ckFreePlaneY, 1, wxALL|wxEXPAND, 0);
128 sizerH4->Add( _ckBoxY ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
130 sizerH4->Add( _positionZ ,1,wxGROW, 0 );
131 sizerH4->Add( _ckFreePlaneZ, 1, wxALL|wxEXPAND, 0);
132 sizerH4->Add( _ckBoxZ ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
138 sizerH5 = new wxFlexGridSizer(1);
139 sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
140 sizerH5->Add( _ckBoxXYZ , 1, wxALL|wxEXPAND, 0);
141 sizerH5->Add( _ckBoxPlane , 1, wxALL|wxEXPAND, 0);
142 sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
143 ////EED 05Nov2012 sizerH5->Add( _ckBox_BW_Color_Plane , 1, wxALL|wxEXPAND, 0);
144 sizerH5->Add( _ckFreePlaneInteraction , 1, wxALL|wxEXPAND, 0);
145 sizerH5->Add( btnFreePlanesOrtho , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
146 sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
147 sizerH5->Add( btnColorTable , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
148 sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
149 sizerH5->Add( _cbStereo, 1, wxALL|wxEXPAND, 0);
151 sizer->Add( sizerH4, 1, wxALL|wxGROW, 2);
152 sizer->Add( sizerH5, 1, wxALL|wxEXPAND,2);
156 sizer = new wxFlexGridSizer(1);
158 sizerH4 = new wxFlexGridSizer(10);
159 sizerH5 = new wxFlexGridSizer(10);
160 sizerH6 = new wxFlexGridSizer(10);
162 sizerH4->Add( _positionX , 1, wxGROW , 0 );
163 sizerH4->Add( _ckBoxX , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
164 sizerH4->Add( _positionY , 1, wxGROW , 0 );
165 sizerH4->Add( _ckBoxY , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
166 sizerH4->Add( _positionZ , 1, wxGROW , 0 );
167 sizerH4->Add( _ckBoxZ , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
168 sizerH4->Add( btnColorTable , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
170 sizerH5->Add( _ckBoxXYZ , 1, wxALL|wxEXPAND, 0);
171 sizerH5->Add( _ckBoxPlane , 1, wxALL|wxEXPAND, 0);
172 ////EED 05Nov2012 sizerH5->Add( _ckBox_BW_Color_Plane , 1, wxALL|wxEXPAND, 0);
173 sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
175 sizerH6 = new wxFlexGridSizer(10);
176 sizerH6->Add( _ckFreePlaneX , 1, wxALL|wxEXPAND, 0);
177 sizerH6->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
178 sizerH6->Add( _ckFreePlaneY , 1, wxALL|wxEXPAND, 0);
179 sizerH6->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
180 sizerH6->Add( _ckFreePlaneZ , 1, wxALL|wxEXPAND, 0);
181 sizerH6->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
182 sizerH6->Add( _ckFreePlaneInteraction , 1, wxALL|wxEXPAND, 0);
183 sizerH6->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
184 sizerH6->Add( btnFreePlanesOrtho , 0 , wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
185 sizerH6->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
186 sizerH6->Add( _cbStereo, 1, wxALL|wxEXPAND, 0);
188 sizer->Add( sizerH4, 1, wxALL|wxGROW, 2);
189 sizer->Add( sizerH5, 1, wxALL|wxEXPAND,2);
190 sizer->Add( sizerH6, 1, wxALL|wxEXPAND,2);
197 // wxFlexGridSizer *sizerH6 = new wxFlexGridSizer(10);
198 // wxFlexGridSizer *sizerH7 = new wxFlexGridSizer(10);
200 // sizerH4->Add( ckBoxX , 1, wxALL|wxEXPAND, 0);
201 // sizerH4->Add( new wxStaticText(panel, -1," ") , 1, wxALL|wxEXPAND, 0);
202 // sizerH4->Add( _positionX , 1, wxALL|wxEXPAND, 0);
204 // sizerH5->Add( ckBoxY , 1, wxALL|wxEXPAND, 0);
205 // sizerH5->Add( new wxStaticText(panel, -1," ") , 1, wxALL|wxEXPAND, 0);
206 // sizerH5->Add( _positionY , 1, wxALL|wxEXPAND, 0);
208 // sizerH6->Add( ckBoxZ , 1, wxALL|wxEXPAND, 0);
209 // sizerH6->Add( new wxStaticText(panel, -1," ") , 1, wxALL|wxEXPAND, 0);
210 // sizerH6->Add( _positionZ , 1, wxALL|wxEXPAND, 0);
212 // sizerH7->Add( _ckBoxXYZ , 1, wxALL|wxEXPAND, 0);
213 // sizerH7->Add( _ckBoxPlane , 1, wxALL|wxEXPAND, 0);
215 // sizer->Add( sizerH4 , 1, wxALL|wxEXPAND, 2);
216 // sizer->Add( sizerH5 , 1, wxALL|wxEXPAND, 2);
217 // sizer->Add( sizerH6 , 1, wxALL|wxEXPAND, 2);
218 // sizer->Add( sizerH7 , 1, wxALL|wxEXPAND, 2);
221 // sizerH5->Add( ckBoxX , 1, wxALL|wxEXPAND, 0);
222 // sizerH5->Add( ckBoxY , 1, wxALL|wxEXPAND, 0);
223 // sizerH5->Add( ckBoxZ , 1, wxALL|wxEXPAND, 0);
226 panel->SetSize(400,50);
227 panel->SetAutoLayout(true);
228 panel->SetSizer(sizer);
231 panel->SetEventHandler((wxEvtHandler*)this);
233 //this->UpdateControlPanel();
237 //-------------------------------------------------------------------
238 void wxVtkMPR3DViewCntrlPanel::UpdateControlPanel()
240 vtkMPRBaseData* basedata = _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData();
241 if(basedata != NULL){
243 vtkImageData* img = basedata->GetImageData();
244 int x0,x1,y0,y1,z0,z1;
247 img->GetExtent(x0,x1,y0,y1,z0,z1);
248 _positionX->SetRange(x0,x1);
249 _positionY->SetRange(y0,y1);
250 _positionZ->SetRange(z0,z1);
252 _positionX->SetValue((x0+x1)/2);
253 _positionY->SetValue((y0+y1)/2);
254 _positionZ->SetValue((z0+z1)/2);
256 //EED 12April2012 This make a floting window in MacOs and Linux with for windows
257 // _positionX->Update();
258 // _positionY->Update();
259 // _positionZ->Update();
267 //-------------------------------------------------------------------
268 wxVtkMPR3DViewCntrlPanel::~wxVtkMPR3DViewCntrlPanel()
272 //-------------------------------------------------------------------
273 void wxVtkMPR3DViewCntrlPanel::Refresh()
275 // wxPanel::Refresh();
276 _positionX->SetValue( (int)(_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetX( )) );
277 _positionY->SetValue( (int)(_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetY( )) );
278 _positionZ->SetValue( (int)(_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetZ( )) );
282 //-------------------------------------------------------------------
283 int wxVtkMPR3DViewCntrlPanel::GetIdTissue()
286 if (_surfA->GetValue()==true)
290 if (_surfB->GetValue()==true)
294 if (_surfC->GetValue()==true)
298 if (_surfD->GetValue()==true)
307 //-------------------------------------------------------------------
308 //void wxVtkMPR3DViewCntrlPanel::On_BW_Color_Plane(wxCommandEvent& event)
310 // printf ("EED wxVtkMPR3DViewCntrlPanel::On_BW_Color_Plane ...... NOT Implemented\n ");
314 //-------------------------------------------------------------------
315 void wxVtkMPR3DViewCntrlPanel::OnEditColorTable(wxCommandEvent& event)
318 vtkImageData *imagedata = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData();
320 if ( imagedata->GetScalarType()!=VTK_UNSIGNED_SHORT )
322 wxMessageDialog windowMessage1(NULL,_T("This option is just available for UNSIGNED SHORT images."), _T("Alert !"), wxOK);
323 windowMessage1.ShowModal();
327 vtkColorTransferFunction *ctfun = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetvtkColorTransferFunction();
328 std::vector<double> *ctfunVectorPoint = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetctFunVectorPoint();
329 std::vector<double> *ctfunVectorRed = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetctFunVectorRed();
330 std::vector<double> *ctfunVectorGreen = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetctFunVectorGreen();
331 std::vector<double> *ctfunVectorBlue = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetctFunVectorBlue();
333 //void *p=this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer(); // JPRx
338 HistogramDialog* hDlg=new HistogramDialog(NULL,_T("Color table"),imagedata,2);
341 hDlg->erasePointsTransferenceFunction();
342 int ctfSize=ctfunVectorRed->size();
345 // MACHETE OJO Eduardo
349 double gr = (*ctfunVectorPoint)[i];
350 double r = (*ctfunVectorRed)[i];
351 double g = (*ctfunVectorGreen)[i];
352 double b = (*ctfunVectorBlue)[i];
354 hDlg->addColorPoint(gr,(int)(r*255),(int)(g*255),(int)(b*255));
361 // when the user had changed the transference Function
364 //setting variables if the user wants to do refresh
367 //hDlg->setMPR3Dview(_wxvtkmpr3Dview);
369 if(hDlg->ShowModal()== wxID_OK )
372 // -- vtkColorTransferFunction --
373 ctfun->RemoveAllPoints ();
375 ctfunVectorPoint->clear();
376 ctfunVectorRed->clear();
377 ctfunVectorGreen->clear();
378 ctfunVectorBlue->clear();
380 int nCTFpoints=hDlg->getSizeBarColor();
381 // Machete .. Ojo Eduardo
385 hDlg->getDataBarColorPoint(i,xi,r,g,b);
389 hDlg->getDataBarColorPoint(1,xi,r,g,b);
393 hDlg->getDataBarColorPoint(i-1,xi,r,g,b);
396 ctfun->AddRGBPoint(xi,r/255.0,g/255.0,b/255.0 );
397 ctfunVectorPoint->push_back(xi);
398 ctfunVectorRed->push_back(r/255.0);
399 ctfunVectorGreen->push_back(g/255.0);
400 ctfunVectorBlue->push_back(b/255.0);
410 if(hDlg->getRefreshed())
412 // -- vtkColorTransferFunction --
413 ctfun->RemoveAllPoints ();
416 int size=ctfunVectorPoint->size();
420 double grey2=(*ctfunVectorPoint)[i];
421 double red =(*ctfunVectorRed)[i];
422 double green =(*ctfunVectorGreen)[i];
423 double blue = (*ctfunVectorBlue)[i];
424 ctfun->AddRGBPoint(grey2,red,green,blue);
434 //-------------------------------------------------------------------
435 void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneX(wxCommandEvent& event)
437 _wxvtkmpr3Dview->FreePlaneVisible( 1, event.IsChecked() );
438 _wxvtkmpr3Dview->FreePlaneInteraction( _ckFreePlaneInteraction->GetValue() );
441 //-------------------------------------------------------------------
442 void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneY(wxCommandEvent& event)
444 _wxvtkmpr3Dview->FreePlaneVisible( 2, event.IsChecked() );
445 _wxvtkmpr3Dview->FreePlaneInteraction( _ckFreePlaneInteraction->GetValue() );
449 //-------------------------------------------------------------------
450 void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneZ(wxCommandEvent& event)
452 _wxvtkmpr3Dview->FreePlaneVisible( 3, event.IsChecked() );
453 _wxvtkmpr3Dview->FreePlaneInteraction( _ckFreePlaneInteraction->GetValue() );
457 //-------------------------------------------------------------------
458 void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneInteraction(wxCommandEvent& event)
460 _wxvtkmpr3Dview->FreePlaneInteraction( event.IsChecked() );
463 //-------------------------------------------------------------------
464 void wxVtkMPR3DViewCntrlPanel::OnFreePlanesOrtho(wxCommandEvent& event)
466 _wxvtkmpr3Dview->SetFreePlanesOrtho();
469 //-------------------------------------------------------------------
470 void wxVtkMPR3DViewCntrlPanel::OnSetStereo(wxCommandEvent& event)
472 this->_wxvtkmpr3Dview->GetWxvtk3Dbaseview()->SetStereo( _cbStereo->GetSelection() );
477 //-------------------------------------------------------------------
478 void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisX(wxCommandEvent& event)
480 _wxvtkmpr3Dview->VisibleImageActor(0, event.IsChecked() );
481 _wxvtkmpr3Dview->Refresh();
483 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
486 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
488 std::cout<<e<<std::endl;
491 //-------------------------------------------------------------------
492 void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisY(wxCommandEvent& event)
494 _wxvtkmpr3Dview->VisibleImageActor(1, event.IsChecked() );
495 _wxvtkmpr3Dview->Refresh();
497 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
498 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
501 //-------------------------------------------------------------------
502 void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisZ(wxCommandEvent& event)
504 _wxvtkmpr3Dview->VisibleImageActor(2, event.IsChecked() );
505 _wxvtkmpr3Dview->Refresh();
507 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
508 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
511 //-------------------------------------------------------------------
512 void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisXYZ(wxCommandEvent& event)
515 _wxvtkmpr3Dview->VisiblePointWidget(event.IsChecked());
518 //-------------------------------------------------------------------
519 void wxVtkMPR3DViewCntrlPanel::OnVisiblePlane(wxCommandEvent& event)
521 _wxvtkmpr3Dview->VisiblePlaneWidget(event.IsChecked());
525 //-------------------------------------------------------------------
526 void wxVtkMPR3DViewCntrlPanel::OnPositionX(wxScrollEvent& event)
528 _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->SetX( _positionX->GetValue() );
529 _wxvtkmpr3Dview->RefreshView();
531 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
532 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
534 //-------------------------------------------------------------------
535 void wxVtkMPR3DViewCntrlPanel::OnPositionY(wxScrollEvent& event)
537 _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->SetY( _positionY->GetValue() );
538 _wxvtkmpr3Dview->RefreshView();
539 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
540 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
542 //-------------------------------------------------------------------
543 void wxVtkMPR3DViewCntrlPanel::OnPositionZ(wxScrollEvent& event)
545 _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->SetZ( _positionZ->GetValue() );
546 _wxvtkmpr3Dview->RefreshView();
547 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
548 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
553 //-------------------------------------------------------------------
554 bool wxVtkMPR3DViewCntrlPanel::GetVisibleX()
556 return _ckBoxX->GetValue();
559 //-------------------------------------------------------------------
560 bool wxVtkMPR3DViewCntrlPanel::GetVisibleY()
562 return _ckBoxY->GetValue();
565 //-------------------------------------------------------------------
566 bool wxVtkMPR3DViewCntrlPanel::GetVisibleZ()
568 return _ckBoxZ->GetValue();
571 //-------------------------------------------------------------------
572 bool wxVtkMPR3DViewCntrlPanel::GetVisibleXYZ()
574 return _ckBoxXYZ->GetValue();
577 //-------------------------------------------------------------------
579 //bool wxVtkMPR3DViewCntrlPanel::Get_BW_Color_Plane()
581 // return _ckBox_BW_Color_Plane;
584 //-------------------------------------------------------------------
585 bool wxVtkMPR3DViewCntrlPanel::GetVisiblePlane()
587 return _ckBoxPlane->GetValue();
590 //-------------------------------------------------------------------
591 void wxVtkMPR3DViewCntrlPanel::SetVisibleX(bool value)
593 _ckBoxX->SetValue(value);
595 _wxvtkmpr3Dview->VisibleImageActor(0, value );
596 _wxvtkmpr3Dview->Refresh();
598 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
599 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
602 //-------------------------------------------------------------------
603 void wxVtkMPR3DViewCntrlPanel::SetVisibleY(bool value)
605 _ckBoxY->SetValue(value);
607 _wxvtkmpr3Dview->VisibleImageActor(1, value );
608 _wxvtkmpr3Dview->Refresh();
610 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
611 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
614 //-------------------------------------------------------------------
615 void wxVtkMPR3DViewCntrlPanel::SetVisibleZ(bool value)
617 _ckBoxZ->SetValue(value);
619 _wxvtkmpr3Dview->VisibleImageActor(2, value );
620 _wxvtkmpr3Dview->Refresh();
622 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
623 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
626 //-------------------------------------------------------------------
627 void wxVtkMPR3DViewCntrlPanel::SetVisibleXYZ(bool value)
629 _ckBoxXYZ->SetValue(value);
630 _wxvtkmpr3Dview->VisiblePointWidget(value);
634 //-------------------------------------------------------------------
635 void wxVtkMPR3DViewCntrlPanel::SetVisiblePlane(bool value)
637 _ckBoxPlane->SetValue(value);
638 _wxvtkmpr3Dview->VisiblePlaneWidget(value);