wxVtkMPR3DViewCntrlPanel.cxx

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

Generated on 20 Oct 2010 for creaMaracasVisu_lib by  doxygen 1.6.1