00001 #include "wxVtkMPR3DViewCntrlPanel.h"
00002
00003 #include "HistogramDialog.h"
00004
00005 wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DView *wxvtkmpr3Dview, bool align )
00006 : wxPanel(parent, -1)
00007 {
00008
00009 wxPanel *panel = this;
00010 _wxvtkmpr3Dview = wxvtkmpr3Dview;
00011
00012
00013
00014
00015
00016 int maxX = 1;
00017 int maxY = 1;
00018 int maxZ = 1;
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 ckBoxX = new wxCheckBox(panel,-1,_T("X "));
00032 _positionX = new wxSlider(panel,-1,maxX/2,0,maxX, wxDefaultPosition, wxSize(300,40), wxSL_HORIZONTAL | wxSL_LABELS);
00033 ckBoxY = new wxCheckBox(panel,-1,_T("Y "));
00034 _positionY = new wxSlider(panel,-1,maxY/2,0,maxY, wxDefaultPosition, wxSize(300,40), wxSL_HORIZONTAL | wxSL_LABELS);
00035 ckBoxZ = new wxCheckBox(panel,-1,_T("Z "));
00036 _positionZ = new wxSlider(panel,-1,maxZ/2,0,maxZ, wxDefaultPosition, wxSize(300,40), wxSL_HORIZONTAL | wxSL_LABELS);
00037 wxButton *btnColorTable = new wxButton (panel, -1, _T("Color Table") );
00038
00039 _ckBoxXYZ = new wxCheckBox(panel,-1,_T("Show XYZ axis "));
00040 _ckBoxPlane = new wxCheckBox(panel,-1,_T("Show Planes"));
00041
00042 _ckFreePlaneX= new wxCheckBox(panel,-1,_T("free X"));;
00043 _ckFreePlaneY= new wxCheckBox(panel,-1,_T("free Y"));;
00044 _ckFreePlaneZ= new wxCheckBox(panel,-1,_T("free Z"));;
00045 _ckFreePlaneInteraction= new wxCheckBox(panel,-1,_T("Interaction "));;
00046
00047
00048
00049 _ckFreePlaneX->SetValue(false);
00050 _ckFreePlaneY->SetValue(false);
00051 _ckFreePlaneZ->SetValue(false);
00052 _ckFreePlaneInteraction->SetValue(true);
00053
00054
00055 ckBoxX->SetValue(false);
00056 ckBoxY->SetValue(false);
00057 ckBoxZ->SetValue(false);
00058 _ckBoxXYZ->SetValue(false);
00059 _ckBoxPlane->SetValue(false);
00060
00061 _positionX->SetSize(400,20);
00062 _positionY->SetSize(400,20);
00063 _positionZ->SetSize(400,20);
00064
00065 Connect(ckBoxX->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisX );
00066 Connect(_positionX->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnPositionX );
00067 Connect(ckBoxY->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisY );
00068 Connect(_positionY->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnPositionY );
00069 Connect(ckBoxZ->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisZ );
00070 Connect(_positionZ->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnPositionZ );
00071 Connect(btnColorTable->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnEditColorTable );
00072
00073 Connect(_ckBoxXYZ->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisXYZ );
00074 Connect(_ckBoxPlane->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisiblePlane );
00075
00076 Connect(_ckFreePlaneX->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneX );
00077 Connect(_ckFreePlaneY->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneY );
00078 Connect(_ckFreePlaneZ->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneZ );
00079 Connect(_ckFreePlaneInteraction->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneInteraction );
00080
00081 wxFlexGridSizer *sizer;
00082
00083
00084
00085
00086
00087 wxFlexGridSizer *sizerH4;
00088 wxFlexGridSizer *sizerH5;
00089 wxFlexGridSizer *sizerH6;
00090 if(align)
00091 {
00092 sizer = new wxFlexGridSizer(3);
00093
00094 sizerH4 = new wxFlexGridSizer(2);
00095 sizerH4->Add( _positionX ,1,wxGROW , 0 );
00096 sizerH4->Add( ckBoxX ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED , 0 );
00097 sizerH4->Add( _positionY ,1,wxGROW , 0 );
00098 sizerH4->Add( ckBoxY ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED , 0 );
00099 sizerH4->Add( _positionZ ,1,wxGROW , 0 );
00100 sizerH4->Add( ckBoxZ ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED , 0 );
00101
00102 sizerH5 = new wxFlexGridSizer(1);
00103 sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND , 0);
00104 sizerH5->Add( _ckBoxXYZ , 1, wxALL|wxEXPAND , 0);
00105 sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND , 0);
00106 sizerH5->Add( _ckBoxPlane , 1, wxALL|wxEXPAND , 0);
00107 sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND , 0);
00108 sizerH5->Add( btnColorTable , 0,wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
00109
00110
00111 sizerH6 = new wxFlexGridSizer(1);
00112 sizerH6->Add( _ckFreePlaneX , 1, wxALL|wxEXPAND , 0);
00113 sizerH6->Add( _ckFreePlaneY , 1, wxALL|wxEXPAND , 0);
00114 sizerH6->Add( _ckFreePlaneZ , 1, wxALL|wxEXPAND , 0);
00115 sizerH6->Add( _ckFreePlaneInteraction , 1, wxALL|wxEXPAND , 0);
00116
00117 } else {
00118 sizer = new wxFlexGridSizer(1);
00119
00120 sizerH4 = new wxFlexGridSizer(10);
00121 sizerH5 = new wxFlexGridSizer(10);
00122 sizerH6 = new wxFlexGridSizer(10);
00123
00124 sizerH4->Add( _positionX , 1, wxGROW , 0 );
00125 sizerH4->Add( ckBoxX , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
00126 sizerH4->Add( _positionY , 1, wxGROW , 0 );
00127 sizerH4->Add( ckBoxY , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
00128 sizerH4->Add( _positionZ , 1, wxGROW , 0 );
00129 sizerH4->Add( ckBoxZ , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
00130 sizerH4->Add( btnColorTable , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
00131
00132 sizerH5->Add( _ckBoxXYZ , 1, wxALL|wxEXPAND, 0);
00133 sizerH5->Add( _ckBoxPlane , 1, wxALL|wxEXPAND, 0);
00134 sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0);
00135
00136 sizerH6 = new wxFlexGridSizer(10);
00137 sizerH6->Add( _ckFreePlaneX , 1, wxALL|wxEXPAND , 0);
00138 sizerH6->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND , 0);
00139 sizerH6->Add( _ckFreePlaneY , 1, wxALL|wxEXPAND , 0);
00140 sizerH6->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND , 0);
00141 sizerH6->Add( _ckFreePlaneZ , 1, wxALL|wxEXPAND , 0);
00142 sizerH6->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND , 0);
00143 sizerH6->Add( _ckFreePlaneInteraction , 1, wxALL|wxEXPAND , 0);
00144 }
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178 sizer->Add( sizerH4, 1, wxALL|wxGROW, 2);
00179 sizer->Add( sizerH5, 1, wxALL|wxEXPAND,2);
00180 sizer->Add( sizerH6, 1, wxALL|wxEXPAND,2);
00181
00182 panel->SetSize(400,50);
00183 panel->SetAutoLayout(true);
00184 panel->SetSizer(sizer);
00185 panel->Layout();
00186
00187 panel->SetEventHandler((wxEvtHandler*)this);
00188
00189
00190 }
00191 void wxVtkMPR3DViewCntrlPanel::UpdateControlPanel()
00192 {
00193
00194 vtkMPRBaseData* basedata = _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData();
00195 if(basedata != NULL){
00196
00197
00198
00199
00200 int x0,x1,y0,y1,z0,z1;
00201
00202 basedata->GetDimensionExtention(&x0,&x1,&y0,&y1,&z0,&z1);
00203
00204
00205
00206
00207
00208
00209
00210
00211 _positionX->SetRange(x0,x1);
00212 _positionY->SetRange(y0,y1);
00213 _positionZ->SetRange(z0,z1);
00214
00215 _positionX->SetValue((x0+x1)/2);
00216 _positionY->SetValue((y0+y1)/2);
00217 _positionZ->SetValue((z0+z1)/2);
00218
00219 _positionX->Update();
00220 _positionY->Update();
00221 _positionZ->Update();
00222 this->Update();
00223 }
00224
00225 }
00226
00227 wxVtkMPR3DViewCntrlPanel::~wxVtkMPR3DViewCntrlPanel()
00228 {
00229 }
00230
00231 void wxVtkMPR3DViewCntrlPanel::Refresh()
00232 {
00233
00234 _positionX->SetValue( (int)(_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetX( )) );
00235 _positionY->SetValue( (int)(_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetY( )) );
00236 _positionZ->SetValue( (int)(_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetZ( )) );
00237 }
00238
00239
00240
00241
00242
00243
00244
00245
00246
00247
00248
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258
00259
00260
00261
00262
00263
00264
00265 void wxVtkMPR3DViewCntrlPanel::OnEditColorTable(wxCommandEvent& event)
00266 {
00267
00268 vtkColorTransferFunction *ctfun = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetvtkColorTransferFunction();
00269 std::vector<double> *ctfunVectorPoint = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetctFunVectorPoint();
00270 std::vector<double> *ctfunVectorRed = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetctFunVectorRed();
00271 std::vector<double> *ctfunVectorGreen = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetctFunVectorGreen();
00272 std::vector<double> *ctfunVectorBlue = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetctFunVectorBlue();
00273
00274
00275
00276
00277 int i=0,xi,r,g,b;
00278
00279 vtkImageData *imagedata = this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData();
00280
00281 HistogramDialog* hDlg=new HistogramDialog(NULL,_T("Color table"),imagedata,2);
00282
00283
00284 hDlg->erasePointsTransferenceFunction();
00285 int ctfSize=ctfunVectorRed->size();
00286 if(ctfSize>0)
00287 {
00288
00289 int i=0;
00290 while(i<ctfSize)
00291 {
00292 double gr = (*ctfunVectorPoint)[i];
00293 double r = (*ctfunVectorRed)[i];
00294 double g = (*ctfunVectorGreen)[i];
00295 double b = (*ctfunVectorBlue)[i];
00296
00297 hDlg->addColorPoint(gr,(int)(r*255),(int)(g*255),(int)(b*255));
00298
00299 i++;
00300 }
00301 }
00302
00303
00304
00305
00306
00307
00308
00309 hDlg->setCTF(ctfun);
00310
00311
00312 if(hDlg->ShowModal()== wxID_OK )
00313 {
00314
00315
00316 ctfun->RemoveAllPoints ();
00317
00318 ctfunVectorPoint->clear();
00319 ctfunVectorRed->clear();
00320 ctfunVectorGreen->clear();
00321 ctfunVectorBlue->clear();
00322
00323 int nCTFpoints=hDlg->getSizeBarColor();
00324
00325 i=0;
00326 while(i<nCTFpoints)
00327 {
00328 hDlg->getDataBarColorPoint(i,xi,r,g,b);
00329
00330
00331
00332
00333
00334
00335
00336
00337
00338
00339 ctfun->AddRGBPoint(xi,r/255.0,g/255.0,b/255.0 );
00340 ctfunVectorPoint->push_back(xi);
00341 ctfunVectorRed->push_back(r/255.0);
00342 ctfunVectorGreen->push_back(g/255.0);
00343 ctfunVectorBlue->push_back(b/255.0);
00344 i++;
00345
00346 }
00347
00348 }
00349
00350 else
00351 {
00352
00353 if(hDlg->getRefreshed())
00354 {
00355
00356 ctfun->RemoveAllPoints ();
00357
00358 int i=0;
00359 int size=ctfunVectorPoint->size();
00360
00361 for(i=0;i<size;i++)
00362 {
00363 double grey2=(*ctfunVectorPoint)[i];
00364 double red =(*ctfunVectorRed)[i];
00365 double green =(*ctfunVectorGreen)[i];
00366 double blue = (*ctfunVectorBlue)[i];
00367 ctfun->AddRGBPoint(grey2,red,green,blue);
00368 }
00369 }
00370
00371 }
00372
00373 hDlg->Destroy();
00374 }
00375
00376
00377
00378 void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneX(wxCommandEvent& event)
00379 {
00380 _wxvtkmpr3Dview->FreePlaneVisible( 1, event.IsChecked() );
00381 _wxvtkmpr3Dview->FreePlaneInteraction( _ckFreePlaneInteraction->GetValue() );
00382 }
00383
00384
00385 void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneY(wxCommandEvent& event)
00386 {
00387 _wxvtkmpr3Dview->FreePlaneVisible( 2, event.IsChecked() );
00388 _wxvtkmpr3Dview->FreePlaneInteraction( _ckFreePlaneInteraction->GetValue() );
00389 }
00390
00391
00392
00393 void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneZ(wxCommandEvent& event)
00394 {
00395 _wxvtkmpr3Dview->FreePlaneVisible( 3, event.IsChecked() );
00396 _wxvtkmpr3Dview->FreePlaneInteraction( _ckFreePlaneInteraction->GetValue() );
00397 }
00398
00399
00400
00401 void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneInteraction(wxCommandEvent& event)
00402 {
00403 _wxvtkmpr3Dview->FreePlaneInteraction( event.IsChecked() );
00404 }
00405
00406
00407
00408 void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisX(wxCommandEvent& event)
00409 {
00410
00411 _wxvtkmpr3Dview->VisibleImageActor(0, event.IsChecked() );
00412 _wxvtkmpr3Dview->Refresh();
00413
00414 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121);
00415
00416 try{
00417 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
00418 }catch(char* e){
00419 std::cout<<e<<std::endl;
00420 }
00421 }
00422
00423 void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisY(wxCommandEvent& event)
00424 {
00425 _wxvtkmpr3Dview->VisibleImageActor(1, event.IsChecked() );
00426 _wxvtkmpr3Dview->Refresh();
00427
00428 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121);
00429 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
00430
00431 }
00432
00433 void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisZ(wxCommandEvent& event)
00434 {
00435 _wxvtkmpr3Dview->VisibleImageActor(2, event.IsChecked() );
00436 _wxvtkmpr3Dview->Refresh();
00437
00438 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121);
00439 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
00440 }
00441
00442
00443 void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisXYZ(wxCommandEvent& event)
00444 {
00445
00446 _wxvtkmpr3Dview->VisiblePointWidget(event.IsChecked());
00447 }
00448
00449
00450 void wxVtkMPR3DViewCntrlPanel::OnVisiblePlane(wxCommandEvent& event)
00451 {
00452 _wxvtkmpr3Dview->VisiblePlaneWidget(event.IsChecked());
00453
00454 }
00455
00456
00457 void wxVtkMPR3DViewCntrlPanel::OnPositionX(wxScrollEvent& event)
00458 {
00459 _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->SetX( _positionX->GetValue() );
00460 _wxvtkmpr3Dview->RefreshView();
00461
00462 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121);
00463 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
00464 }
00465
00466 void wxVtkMPR3DViewCntrlPanel::OnPositionY(wxScrollEvent& event)
00467 {
00468 _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->SetY( _positionY->GetValue() );
00469 _wxvtkmpr3Dview->RefreshView();
00470 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121);
00471 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
00472 }
00473
00474 void wxVtkMPR3DViewCntrlPanel::OnPositionZ(wxScrollEvent& event)
00475 {
00476 _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->SetZ( _positionZ->GetValue() );
00477 _wxvtkmpr3Dview->RefreshView();
00478 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121);
00479 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
00480 }
00481
00482
00483 bool wxVtkMPR3DViewCntrlPanel::GetVisibleX()
00484 {
00485 return ckBoxX->GetValue();
00486 }
00487
00488
00489 bool wxVtkMPR3DViewCntrlPanel::GetVisibleY()
00490 {
00491 return ckBoxY->GetValue();
00492 }
00493
00494
00495 bool wxVtkMPR3DViewCntrlPanel::GetVisibleZ()
00496 {
00497 return ckBoxZ->GetValue();
00498 }
00499
00500
00501 bool wxVtkMPR3DViewCntrlPanel::GetVisibleXYZ()
00502 {
00503 return _ckBoxXYZ->GetValue();
00504 }
00505
00506
00507 bool wxVtkMPR3DViewCntrlPanel::GetVisiblePlane()
00508 {
00509 return _ckBoxPlane->GetValue();
00510 }
00511
00512
00513 void wxVtkMPR3DViewCntrlPanel::SetVisibleX(bool value)
00514 {
00515 ckBoxX->SetValue(value);
00516
00517 _wxvtkmpr3Dview->VisibleImageActor(0, value );
00518 _wxvtkmpr3Dview->Refresh();
00519
00520 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121);
00521 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
00522 }
00523
00524
00525 void wxVtkMPR3DViewCntrlPanel::SetVisibleY(bool value)
00526 {
00527 ckBoxY->SetValue(value);
00528
00529 _wxvtkmpr3Dview->VisibleImageActor(1, value );
00530 _wxvtkmpr3Dview->Refresh();
00531
00532 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121);
00533 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
00534 }
00535
00536
00537 void wxVtkMPR3DViewCntrlPanel::SetVisibleZ(bool value)
00538 {
00539 ckBoxZ->SetValue(value);
00540
00541 _wxvtkmpr3Dview->VisibleImageActor(2, value );
00542 _wxvtkmpr3Dview->Refresh();
00543
00544 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121);
00545 _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
00546 }
00547
00548
00549 void wxVtkMPR3DViewCntrlPanel::SetVisibleXYZ(bool value)
00550 {
00551 _ckBoxXYZ->SetValue(value);
00552 _wxvtkmpr3Dview->VisiblePointWidget(value);
00553
00554 }
00555
00556
00557 void wxVtkMPR3DViewCntrlPanel::SetVisiblePlane(bool value)
00558 {
00559 _ckBoxPlane->SetValue(value);
00560 _wxvtkmpr3Dview->VisiblePlaneWidget(value);
00561 }