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 
00009         wxPanel *panel  = this;
00010         _wxvtkmpr3Dview = wxvtkmpr3Dview;
00011 
00012         /*int maxX = _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetMaxPositionX();
00013         int maxY = _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetMaxPositionY();
00014         int maxZ = _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetMaxPositionZ();*/
00015 
00016         int maxX = 1;
00017         int maxY = 1;
00018         int maxZ = 1;
00019 
00020         //CPR: Modified 30 Nov 2009
00021         /*
00022         wxCheckBox              *ckBoxX                 = new wxCheckBox(panel,-1,_T("X           "));
00023                                         _positionX              = new wxSlider(panel,-1,maxX/2,0,maxX, wxDefaultPosition, wxSize(150,40), wxSL_HORIZONTAL | wxSL_LABELS);
00024         wxCheckBox              *ckBoxY                 = new wxCheckBox(panel,-1,_T("Y           "));
00025                                         _positionY              = new wxSlider(panel,-1,maxY/2,0,maxY, wxDefaultPosition, wxSize(150,40), wxSL_HORIZONTAL | wxSL_LABELS);
00026         wxCheckBox              *ckBoxZ                 = new wxCheckBox(panel,-1,_T("Z           "));
00027                                         _positionZ              = new wxSlider(panel,-1,maxZ/2,0,maxZ, wxDefaultPosition, wxSize(150,40), wxSL_HORIZONTAL | wxSL_LABELS);
00028         wxButton                *btnColorTable  = new wxButton (panel, -1, _T("Edit Color Table") );
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         //EED: If-else statements added 30 Nov 2009
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         //      wxBoxSizer *sizer        = new wxBoxSizer(wxVERTICAL);
00084         //      wxBoxSizer *sizerH4 = new wxBoxSizer(wxHORIZONTAL);
00085         
00086         //CPR: If-else statements added 30 Nov 2009
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                 //sizerH5->Add( new wxStaticText(panel, -1,_T("      "))                        , 1, wxALL|wxEXPAND, 0);
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         //EED 28 sep 2006
00150         //      wxFlexGridSizer *sizerH6 = new wxFlexGridSizer(10);
00151         //      wxFlexGridSizer *sizerH7 = new wxFlexGridSizer(10);
00152 
00153         //      sizerH4->Add( ckBoxX            , 1, wxALL|wxEXPAND, 0);
00154         //      sizerH4->Add( new wxStaticText(panel, -1,"  ")                  , 1, wxALL|wxEXPAND, 0);
00155         //      sizerH4->Add( _positionX        , 1, wxALL|wxEXPAND, 0);
00156 
00157         //      sizerH5->Add( ckBoxY            , 1, wxALL|wxEXPAND, 0);
00158         //      sizerH5->Add( new wxStaticText(panel, -1,"  ")                  , 1, wxALL|wxEXPAND, 0);
00159         //      sizerH5->Add( _positionY        , 1, wxALL|wxEXPAND, 0);
00160 
00161         //      sizerH6->Add( ckBoxZ            , 1, wxALL|wxEXPAND, 0);
00162         //      sizerH6->Add( new wxStaticText(panel, -1,"  ")                  , 1, wxALL|wxEXPAND, 0);
00163         //      sizerH6->Add( _positionZ        , 1, wxALL|wxEXPAND, 0);
00164 
00165         //      sizerH7->Add( _ckBoxXYZ         , 1, wxALL|wxEXPAND, 0);
00166         //      sizerH7->Add( _ckBoxPlane       , 1, wxALL|wxEXPAND, 0);
00167 
00168         //      sizer->Add( sizerH4                     , 1, wxALL|wxEXPAND, 2);
00169         //      sizer->Add( sizerH5                     , 1, wxALL|wxEXPAND, 2);
00170         //      sizer->Add( sizerH6                     , 1, wxALL|wxEXPAND, 2);
00171         //      sizer->Add( sizerH7                     , 1, wxALL|wxEXPAND, 2);
00172 
00173                 
00174         //      sizerH5->Add( ckBoxX                            ,  1, wxALL|wxEXPAND, 0);
00175         //      sizerH5->Add( ckBoxY                            ,  1, wxALL|wxEXPAND, 0);
00176         //      sizerH5->Add( ckBoxZ                            ,  1, wxALL|wxEXPAND, 0);
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         //this->UpdateControlPanel();
00190 }
00191 void wxVtkMPR3DViewCntrlPanel::UpdateControlPanel()
00192 {
00193 
00194         vtkMPRBaseData* basedata = _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData();
00195         if(basedata != NULL){
00196 
00197                 /*int maxX = basedata->GetMaxPositionX();
00198                 int maxY = basedata->GetMaxPositionY();
00199                 int maxZ = basedata->GetMaxPositionZ();*/
00200                 int x0,x1,y0,y1,z0,z1;
00201 
00202                 basedata->GetDimensionExtention(&x0,&x1,&y0,&y1,&z0,&z1);
00203                 /*int maxX = x1-x0;//basedata->GetMaxPositionX();
00204                 int maxY = y1-y0;//basedata->GetMaxPositionY();
00205                 int maxZ = z1-z0;//basedata->GetMaxPositionZ();*/
00206 
00207                 //std::cout<<"wxVtkMPR3DViewCntrlPanel::UpdateControlPanel() maxX="<<maxX<<" maxY="<<maxY<<" maxZ="<<maxZ<<std::endl;
00208                 /*_positionX->SetRange(0,maxX);
00209                 _positionY->SetRange(0,maxY);
00210                 _positionZ->SetRange(0,maxZ);*/
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 //      wxPanel::Refresh();
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 int wxVtkMPR3DViewCntrlPanel::GetIdTissue()
00241 {
00242         int idTissue=-1;
00243         if (_surfA->GetValue()==true)
00244         {
00245                 idTissue=0;
00246         }
00247         if (_surfB->GetValue()==true)
00248         {
00249                 idTissue=1;
00250         }
00251         if (_surfC->GetValue()==true)
00252         {
00253                 idTissue=2;
00254         }
00255         if (_surfD->GetValue()==true)
00256         {
00257                 idTissue=3;
00258         }
00259 
00260         return idTissue;
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         //void *p=this->_wxvtkmpr3Dview->GetVtkMPR3DDataViewer(); // JPRx
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 // MACHETE  OJO Eduardo
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         // when the user had changed the transference Function
00305         //
00306         
00307         //setting variables if the user wants to do refresh
00308         
00309         hDlg->setCTF(ctfun);
00310         //hDlg->setMPR3Dview(_wxvtkmpr3Dview);
00311         
00312         if(hDlg->ShowModal()== wxID_OK )
00313         {       
00314                 
00315                 // -- vtkColorTransferFunction  --
00316                         ctfun->RemoveAllPoints ();
00317                         //clean colors
00318                         ctfunVectorPoint->clear();
00319                         ctfunVectorRed->clear();
00320                         ctfunVectorGreen->clear();
00321                         ctfunVectorBlue->clear();
00322 
00323                         int nCTFpoints=hDlg->getSizeBarColor();
00324 // Machete .. Ojo Eduardo
00325                         i=0;    
00326                         while(i<nCTFpoints)
00327                         {
00328                                 hDlg->getDataBarColorPoint(i,xi,r,g,b);
00329                                 /*
00330                                 if (i==0)
00331                                 {
00332                                         hDlg->getDataBarColorPoint(1,xi,r,g,b);
00333                                 } 
00334                                 if (i==nCTFpoints)
00335                                 {
00336                                         hDlg->getDataBarColorPoint(i-1,xi,r,g,b);
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                         // -- vtkColorTransferFunction  --
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);  // Refresh
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); // Refresh
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);  // Refresh
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);  // Refresh
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);  // Refresh
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);  // Refresh
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); // Refresh
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); // Refresh
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); // Refresh
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 }

Generated on 18 Mar 2010 for creaMaracasVisu_lib by  doxygen 1.6.1