X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxVtkClipping3DViewCntrlPanel.cxx;h=289dc9bff44e133a1ca33480438cba38bd72f302;hb=5380f9e66daf440f27f33bb060e5ae1a646612cd;hp=ab9803cd9c19ed0d0ae36aee5a47b42ecb73f55b;hpb=a4ee3758aa0477f677fb981e2c4d6e29995e8db8;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkClipping3DViewCntrlPanel.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkClipping3DViewCntrlPanel.cxx index ab9803c..289dc9b 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkClipping3DViewCntrlPanel.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkClipping3DViewCntrlPanel.cxx @@ -23,9 +23,13 @@ wxVtkClipping3DViewCntrlPanel::wxVtkClipping3DViewCntrlPanel(wxWindow *parent, w _surfC = new wxRadioButton(panel,-1,_T("C")); _surfD = new wxRadioButton(panel,-1,_T("D")); - wxCheckBox *ckVolum = new wxCheckBox(panel,-1,_T("Vol")); + + //RaC 03-2010 Divides in two panels thje last tab Surface/Volume + //wxCheckBox *ckVolum = new wxCheckBox(panel,-1,_T("Vol")); wxCheckBox *ckBoxSurface = new wxCheckBox(panel,-1,_T("Surface Box")); - wxCheckBox *ckBoxVolume = new wxCheckBox(panel,-1,_T("Volume Box")); + + //RaC 03-2010 Divides in two panels thje last tab Surface/Volume + //wxCheckBox *ckBoxVolume = new wxCheckBox(panel,-1,_T("Volume Box")); _color = new wxButton(panel,-1,_T("")); _visible = new wxCheckBox(panel,-1,_T("Vis")); @@ -51,21 +55,24 @@ wxVtkClipping3DViewCntrlPanel::wxVtkClipping3DViewCntrlPanel(wxWindow *parent, w _isoValueSpin = new wxSlider(panel , -1,5,1,10,wxDefaultPosition , wxSize(25,45), wxSL_VERTICAL | wxSL_AUTOTICKS |wxSL_LEFT ); _isoValueSpin->SetRange(1,8); _isoValueSpin->SetValue(5); - Connect(_isoValueSpin->GetId() , wxEVT_COMMAND_SLIDER_UPDATED , (wxObjectEventFunction) &wxVtkClipping3DViewCntrlPanel::OnIsoValueSpin ); + Connect(_isoValueSpin->GetId() , wxEVT_COMMAND_SLIDER_UPDATED , (wxObjectEventFunction) &wxVtkClipping3DViewCntrlPanel::OnIsoValueSpin ); wxButton *btnSTL = new wxButton(panel,-1,_T("Create STL File")); wxButton *btnSaveRaw = new wxButton(panel,-1,_T("Save Raw Volume")); - wxButton *btnVolumeFunctions = new wxButton(panel,-1,_T("Read Volume Functions")); + //RaC 03-2010 Divides in two panels thje last tab Surface/Volume + //wxButton *btnVolumeFunctions = new wxButton(panel,-1,_T("Read Volume Functions")); - Connect(btnSTL->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxVtkClipping3DViewCntrlPanel::OnBtnCreateFileSTL ); - Connect(btnSaveRaw->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxVtkClipping3DViewCntrlPanel::OnBtnSaveRawVolume ); - Connect(btnVolumeFunctions->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxVtkClipping3DViewCntrlPanel::OnBtnVolumeFunctions ); + Connect(btnSTL->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxVtkClipping3DViewCntrlPanel::OnBtnCreateFileSTL ); + Connect(btnSaveRaw->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxVtkClipping3DViewCntrlPanel::OnBtnSaveRawVolume ); + + //RaC 03-2010 Divides in two panels thje last tab Surface/Volume + //Connect(btnVolumeFunctions->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxVtkClipping3DViewCntrlPanel::OnBtnVolumeFunctions ); wxButton *btnMeshVTKLoad = new wxButton(panel,-1,_T("Load Mesh")); - Connect(btnMeshVTKLoad->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxVtkClipping3DViewCntrlPanel::OnBtnMeshVTKLoad ); + Connect(btnMeshVTKLoad->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxVtkClipping3DViewCntrlPanel::OnBtnMeshVTKLoad ); /* @@ -82,7 +89,11 @@ wxVtkClipping3DViewCntrlPanel::wxVtkClipping3DViewCntrlPanel(wxWindow *parent, w // ckVolum->Enable(false); ckBoxSurface->SetValue(false); - ckBoxVolume->SetValue(false); + + + //ckBoxVolume->SetValue(false); + + _color->SetSize(40,20); _opacity->SetSize(370,20); // ckBoxX->SetValue(true); @@ -96,8 +107,9 @@ wxVtkClipping3DViewCntrlPanel::wxVtkClipping3DViewCntrlPanel(wxWindow *parent, w // _positionY->SetSize(400,20); // _positionZ->SetSize(400,20); - Connect(ckVolum->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkClipping3DViewCntrlPanel::OnVisibleVolume ); - Connect(ckBoxVolume->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkClipping3DViewCntrlPanel::OnVisibleBoxVolume ); + //RaC 03-2010 Divides in two panels thje last tab Surface/Volume + //Connect(ckVolum->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkClipping3DViewCntrlPanel::OnVisibleVolume ); + //Connect(ckBoxVolume->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkClipping3DViewCntrlPanel::OnVisibleBoxVolume ); Connect(_surfA->GetId() , wxEVT_COMMAND_RADIOBUTTON_SELECTED , (wxObjectEventFunction) &wxVtkClipping3DViewCntrlPanel::OnSurface ); Connect(_surfB->GetId() , wxEVT_COMMAND_RADIOBUTTON_SELECTED , (wxObjectEventFunction) &wxVtkClipping3DViewCntrlPanel::OnSurface ); @@ -134,12 +146,13 @@ wxVtkClipping3DViewCntrlPanel::wxVtkClipping3DViewCntrlPanel(wxWindow *parent, w //wxFlexGridSizer *sizerH5 = new wxFlexGridSizer(10); // JPRx //wxFlexGridSizer *sizerH6 = new wxFlexGridSizer(10); // JPRx - sizerH0->Add( ckVolum , 1, wxALL|wxEXPAND, 0); - sizerH0->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0); - sizerH0->Add( ckBoxVolume , 1, wxALL|wxEXPAND, 0); - sizerH0->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0); - sizerH0->Add( btnVolumeFunctions , 1, wxALL|wxEXPAND, 0); - sizerH0->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0); + //RaC 03-2010 Divides in two panels thje last tab Surface/Volume + //sizerH0->Add( ckVolum , 1, wxALL|wxEXPAND, 0); + //sizerH0->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0); + //sizerH0->Add( ckBoxVolume , 1, wxALL|wxEXPAND, 0); + //sizerH0->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0); + //sizerH0->Add( btnVolumeFunctions , 1, wxALL|wxEXPAND, 0); + //sizerH0->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0); sizerH0->Add( btnMeshVTKLoad , 1, wxALL|wxEXPAND, 0); @@ -164,12 +177,12 @@ wxVtkClipping3DViewCntrlPanel::wxVtkClipping3DViewCntrlPanel(wxWindow *parent, w sizerH2->Add( _visible , 1, wxALL|wxEXPAND, 0); sizerH2->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0); - + sizerH2->Add( _wireFrameRep , 1,wxSHAPED | wxALIGN_CENTER_VERTICAL , 0); sizerH2->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0); sizerH2->Add( _surfaceRep , 1,wxSHAPED | wxALIGN_CENTER_VERTICAL , 0); sizerH2->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0); - + sizerH2->Add( _opacity , 1, wxALL|wxEXPAND, 0); @@ -285,8 +298,8 @@ void wxVtkClipping3DViewCntrlPanel::OnSurface(wxCommandEvent& event) _opacity->SetValue( (int)(tmpActor->GetProperty()->GetOpacity()*100) ); // Representation Type WireFrame / Surface - _surfaceRep->SetValue(_wxvtkclipping3Dview->GetVtkClipping3DDataViewer()->GetRepresentationType(idTissue)); - _wireFrameRep->SetValue(!_wxvtkclipping3Dview->GetVtkClipping3DDataViewer()->GetRepresentationType(idTissue)); + _surfaceRep->SetValue(_wxvtkclipping3Dview->GetVtkClipping3DDataViewer()->GetRepresentationType(idTissue)); + _wireFrameRep->SetValue(!_wxvtkclipping3Dview->GetVtkClipping3DDataViewer()->GetRepresentationType(idTissue)); // isoValue int isoValue= (int)(_wxvtkclipping3Dview->GetVtkClipping3DDataViewer()->GetIsovalue(idTissue)); @@ -329,7 +342,9 @@ void wxVtkClipping3DViewCntrlPanel::OnVisibleBoxSurface(wxCommandEvent& event) //------------------------------------------------------------------- void wxVtkClipping3DViewCntrlPanel::OnVisibleBoxVolume(wxCommandEvent& event) { - _wxvtkclipping3Dview->SetVisibleBoxVolume(event.IsChecked() ); +printf("EED ERROR JPReyes wxVtkClipping3DViewCntrlPanel::OnVisibleBoxVolume calling _wxvtkclipping3Dview->SetVisibleBoxVolume that not exists ..."); +//EED01July2011 _wxvtkclipping3Dview->SetVisibleBoxVolume(event.IsChecked() ); + //this->BoundingBoxChanged(event.IsChecked()); _wxvtkclipping3Dview->Refresh(); } //------------------------------------------------------------------- @@ -341,7 +356,7 @@ void wxVtkClipping3DViewCntrlPanel::OnColor(wxCommandEvent& event) // EED 17 Janvier 2007 wxColourDialog dlgColour(this); // dlgColour.ShowModal(); - if( dlgColour.ShowModal( ) == wxID_OK ) + if( dlgColour.ShowModal( ) == wxID_OK ) { vtkActor *tmpActor; tmpActor = _wxvtkclipping3Dview->GetVtkClipping3DDataViewer()->GetTissueActor(idTissue); @@ -394,7 +409,7 @@ void wxVtkClipping3DViewCntrlPanel::OnOpacity(wxScrollEvent& event) void wxVtkClipping3DViewCntrlPanel::OnIsoValueSpin(wxScrollEvent& event) { int value = _isoValue->GetValue(); - int delta= (int)pow( 4 , _isoValueSpin->GetValue() ); + int delta= (int)pow( (double)4 ,(double) _isoValueSpin->GetValue() ); int min=value - delta/2; int max=value + delta/2; if (min<0) @@ -418,7 +433,7 @@ void wxVtkClipping3DViewCntrlPanel::OnIsoValue(wxScrollEvent& event) _wxvtkclipping3Dview->GetVtkClipping3DDataViewer()->SetIsovalue(idTissue,isoValue); // wxString tmpStr; // tmpStr.Printf("%d",isoValue); - + _wxvtkclipping3Dview->Refresh(); wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh @@ -440,10 +455,10 @@ void wxVtkClipping3DViewCntrlPanel::OnBtnCreateFileSTL(wxCommandEvent& event) wxString dirSTL = wxGetHomeDir( ) ; wxFileDialog dialog( this, _T("Choose a directory..."), dirSTL , _T(""), _T("*.*"), wxSAVE ); - if( dialog.ShowModal( ) == wxID_OK ) + if( dialog.ShowModal( ) == wxID_OK ) { - - + + // ------------------------------------------------------------------------ // 1. GENERATE STL FILES // ------------------------------------------------------------------------ @@ -472,7 +487,7 @@ void wxVtkClipping3DViewCntrlPanel::OnBtnCreateFileSTL(wxCommandEvent& event) writer->Write(); writer->Delete(); - + filtro->Delete(); cpd->Delete(); pdcf->Delete(); @@ -512,7 +527,7 @@ void wxVtkClipping3DViewCntrlPanel::OnBtnSaveRawVolume(wxCommandEvent& event) //------------------------------------------------------------------- void wxVtkClipping3DViewCntrlPanel::OnBtnVolumeFunctions(wxCommandEvent& event) { - + int /*i=0,*/ xi,yi,r,g,b; // JPRx vtkColorTransferFunction* ctfun = this->_wxvtkclipping3Dview->GetVtkClipping3DDataViewer()->GetColorTransferenceFunction(); vtkPiecewiseFunction* tfun = this->_wxvtkclipping3Dview->GetVtkClipping3DDataViewer()->GetTransferencefunction(); @@ -531,18 +546,18 @@ void wxVtkClipping3DViewCntrlPanel::OnBtnVolumeFunctions(wxCommandEvent& event) */ /* - MMLR BORRAME + MMLR BORRAME wxFileDialog dialog(this, _T("Choose a file"), _T("c:/Maracas_configuration"),_T(""), _T("*.MarVolConf"), wxOPEN); if (dialog.ShowModal() == wxID_OK) { _wxvtkclipping3Dview->GetVtkClipping3DDataViewer()->ReadVolumeFunctions( (char *)dialog.GetPath().c_str() ); - - + + } */ HistogramDialog* hDlg=new HistogramDialog(NULL,_T("Histogram Dialog"),imagedata,1); - // + // // put in a method // int tfSize=gtf->size(); @@ -557,7 +572,7 @@ void wxVtkClipping3DViewCntrlPanel::OnBtnVolumeFunctions(wxCommandEvent& event) hDlg->addPointToTransferenceFunction(g,in*100); i++; } - + } int ctfSize=rctf->size(); @@ -577,7 +592,7 @@ void wxVtkClipping3DViewCntrlPanel::OnBtnVolumeFunctions(wxCommandEvent& event) //setting variables if the user wants to do refresh hDlg->setCTF(ctfun); hDlg->setTF(tfun); - hDlg->setClipping3DView(_wxvtkclipping3Dview); + //hDlg->setClipping3DView(_wxvtkclipping3Dview); /* hDlg->setVolume(newvol); hDlg->setVolumeMapper(volumeMapper); @@ -586,12 +601,12 @@ void wxVtkClipping3DViewCntrlPanel::OnBtnVolumeFunctions(wxCommandEvent& event) // when the user had changed the transference Function // if(hDlg->ShowModal()== wxID_OK ) - { + { // -- vtkPiecewiseFunction -- tfun->RemoveAllPoints(); gtf->clear(); itf->clear(); - + int nTFPoints=hDlg->getSizeTransferenceFunction(); int i=0; while(ipush_back(xi); itf->push_back(yi/100.0); i++; - } + } // -- vtkColorTransferFunction -- ctfun->RemoveAllPoints (); //clean colors @@ -611,7 +626,7 @@ void wxVtkClipping3DViewCntrlPanel::OnBtnVolumeFunctions(wxCommandEvent& event) greyctf->clear(); int nCTFpoints=hDlg->getSizeBarColor(); - i=0; + i=0; while(igetDataBarColorPoint(i,xi,r,g,b); @@ -629,16 +644,12 @@ void wxVtkClipping3DViewCntrlPanel::OnBtnVolumeFunctions(wxCommandEvent& event) _wxvtkclipping3Dview->Refresh(); wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh _wxvtkclipping3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); - + /* volumeMapper->Update(); newvol->Update(); */ - } - - else - { - + } else { if(hDlg->getRefreshed()) { int i=0,size; @@ -652,12 +663,12 @@ void wxVtkClipping3DViewCntrlPanel::OnBtnVolumeFunctions(wxCommandEvent& event) double in2=(*itf)[i]; tfun->AddPoint( grey1 , in2 ); } - + // -- vtkColorTransferFunction -- ctfun->RemoveAllPoints (); - + i=0; - size=greyctf->size(); + size=greyctf->size(); for(i=0;iAddRGBPoint(grey2,red,green,blue); } - + //--------------------------------- // Refreshing and sending the event //--------------------------------- @@ -674,13 +685,13 @@ void wxVtkClipping3DViewCntrlPanel::OnBtnVolumeFunctions(wxCommandEvent& event) _wxvtkclipping3Dview->Refresh(); wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh _wxvtkclipping3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); - + /* volumeMapper->Update(); newvol->Update(); */ } - + } //destroy the dialog hDlg->Destroy();