From fc309690300a29fbfbac04f6fdf72783202617ad Mon Sep 17 00:00:00 2001 From: perez Date: Wed, 13 Jan 2010 13:30:41 +0000 Subject: [PATCH] *** empty log message *** --- .../src/CutModule/kernel/CutModel2Manager.cxx | 285 ------------------ .../src/CutModule/kernel/CutModel2Manager.h | 99 ------ .../widgets/vtkInteractorStyleBaseView.cxx | 26 +- .../widgets/vtkInteractorStyleBaseView.h | 13 +- .../widgets/wxMaracasDialog_NViewers.cpp | 48 ++- .../widgets/wxMaracasDialog_NViewers.h | 10 +- .../wxMaracasMultipleVolumeRendererPanel.cxx | 25 +- .../wxMaracasMultipleVolumeRendererView.cxx | 21 +- .../wxMaracasMultipleVolumeRendererView.h | 6 +- .../widgets/wxMaracasRenderTabbedPanel.cpp | 28 +- .../widgets/wxMaracasRenderTabbedPanel.h | 5 +- .../widgets/wxMaracasSurfaceRendering.cxx | 15 +- .../wxMaracasSurfaceRenderingProp3D.cxx | 7 +- 13 files changed, 120 insertions(+), 468 deletions(-) delete mode 100644 lib/maracasVisuLib/src/CutModule/kernel/CutModel2Manager.cxx delete mode 100644 lib/maracasVisuLib/src/CutModule/kernel/CutModel2Manager.h diff --git a/lib/maracasVisuLib/src/CutModule/kernel/CutModel2Manager.cxx b/lib/maracasVisuLib/src/CutModule/kernel/CutModel2Manager.cxx deleted file mode 100644 index 6e00b2f..0000000 --- a/lib/maracasVisuLib/src/CutModule/kernel/CutModel2Manager.cxx +++ /dev/null @@ -1,285 +0,0 @@ -/*========================================================================= - - Program: wxMaracas - Module: $RCSfile: CutModel2Manager.cxx,v $ - Language: C++ - Date: $Date: 2009/12/08 13:42:39 $ - Version: $Revision: 1.4 $ - - Copyright: (c) 2002, 2003 - License: - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. See the above copyright notice for more information. - -=========================================================================*/ -#include "CutModel2Manager.h" - -/** -** Start of the manager class -**/ -CutModel2Manager::CutModel2Manager(std::string path){ - _path = path; - _img = NULL; - _img2 = NULL; - _interactor = NULL; - _render = NULL; - _currentaction=0; -} -CutModel2Manager::~CutModel2Manager(){ - std::string files = _path; - files+="/infounrd_0_fig_0.info"; - remove(files.c_str()); - _vectordata.clear(); - _img = NULL; - _img2 = NULL; - _interactor = NULL; - _render = NULL; -} - - -void CutModel2Manager::setImageData(vtkImageData* img){ - _img = img; - if(_img2!=NULL){ - _img2->Delete(); - } - _img2 = vtkImageData::New(); - _img2->SetExtent(_img->GetExtent()); - _img2->SetSpacing(_img->GetSpacing()); - _img2->AllocateScalars(); - - _img2->DeepCopy(_img); - -} - -void CutModel2Manager::setInteractor(vtkRenderWindowInteractor* interactor){ - _interactor = interactor; -} - -void CutModel2Manager::setRenderer(vtkRenderer* renderer){ - _render = renderer; -} - -void CutModel2Manager::onAddCutModel2(int id, vtkCommand* observer) throw( CutModelException){ - checkInvariant(); - - CutModelData* data = new CutModelData(id,_interactor, observer, _img2); - _vectordata.push_back(data); - - _render->AddActor(data->getActor()); - - //_render->UpdateCamera(); - _render->Render(); -} - -void CutModel2Manager::checkInvariant() throw( CutModelException){ - if(_img==NULL){ - throw CutModelException("The image is not set"); - } - if(_img2==NULL){ - throw CutModelException("The copyimage is not set"); - } - if(_interactor==NULL){ - throw CutModelException("Interactor not set"); - } - if(_render==NULL){ - throw CutModelException("Render not set"); - } -} - -double* CutModel2Manager::getImageRange()throw( CutModelException){ - checkInvariant(); - return _img2->GetScalarRange(); -} - -void CutModel2Manager::changeOpacity(int id,int opacity)throw( CutModelException){ - checkInvariant(); - CutModelData* current = getCutModelData(id); - current->changeOpacity(opacity); -} - -void CutModel2Manager::ShowViewBox(int id,bool check)throw( CutModelException){ - checkInvariant(); - CutModelData* current = getCutModelData(id); - current->ShowViewBox(check); -} - -void CutModel2Manager::ChangeShape(int id,int selection)throw( CutModelException){ - checkInvariant(); - CutModelData* current = getCutModelData(id); - current->ChangeShape(selection); - _render->Render(); -} - -CutModelData* CutModel2Manager::getCutModelData(int id)throw( CutModelException){ - - CutModelData* current = NULL; - for(int i= 0; i < _vectordata.size();i++){ - std::cout<<"id in CutModel2Manager:: "<getId()<getId()==id){ - current = _vectordata[i]; - } - } - if(current ==NULL){ - - throw CutModelException("Data not found"); - } - return current; -} - -void CutModel2Manager::updateActorDirection(int id)throw( CutModelException){ - checkInvariant(); - CutModelData* current = getCutModelData(id); - current->udapteActorDirection(); - -} - -void CutModel2Manager::changeColor(int id,double r,double g,double b)throw( CutModelException){ - - checkInvariant(); - CutModelData* current = getCutModelData(id); - current->changeColor(r,g,b); - _render->Render(); -} -void CutModel2Manager::RemoveActor(int id)throw( CutModelException){ - - checkInvariant(); - - CutModelData* current = getCutModelData(id); - for(int i = 0; i < _vectordata.size()-1;i++){ - if(_vectordata[i]->getId()==id){ - for(int j = i; j < _vectordata.size()-1;j++){ - _vectordata[j]=_vectordata[j+1]; - } - i = _vectordata.size(); - } - } - _render->RemoveActor(current->getActor()); - delete current; - _vectordata.pop_back(); - _render->Render(); - -} - -void CutModel2Manager::ExecuteCut(int id, double* range, bool isinside)throw( CutModelException){ - checkInvariant(); - - CutModelData* current = getCutModelData(id); - current->ExecuteCut(range, isinside, _img); - - - /* - Setting extra information for the undo - */ - CutModelSaveBinInfo* undoaction = this->AddActionUndo(id, CUTMODEL_CUT); - undoaction->setRange(range); - undoaction->setIsInside(isinside); - -} - -vtkImageData* CutModel2Manager::GetResultImage(){ - checkInvariant(); - return _img2; -} - -void CutModel2Manager::RefreshActor(int id){ - checkInvariant(); - CutModelData* current = getCutModelData(id); - _render->RemoveActor(current->getActor()); - _render->AddActor(current->getActor()); - current->RefreshViewBox(); - _render->Render(); -} - -void CutModel2Manager::SaveCutModelData(std::string filename)throw( CutModelException){ - - - throw CutModelException("not implemented"); - - - - -} - - - -void CutModel2Manager::LoadCutModelData(std::string filename)throw( CutModelException){ - - throw CutModelException("not implemented"); - -} - -CutModelSaveBinInfo* CutModel2Manager::AddActionUndo(int idc, UNDOTYPE type)throw( CutModelException){ - - for(int i = _undoredo.size()-1; i > _currentaction;i--){ - delete _undoredo[i]; - _undoredo.pop_back(); - } - - CutModelSaveBinInfo* cutmodel = new CutModelSaveBinInfo(idc, _currentaction, type, _path); - if(type == CUTMODEL_CUT){ - cutmodel->saveMatrix4x4(this->getCutModelData(idc)->getCurrentMatrix()->GetMatrix()); - cutmodel->setCurrentShape(this->getCutModelData(idc)->getCurrentShape()); - } - - _undoredo.push_back(cutmodel); - - _currentaction++;// = _undoredo.size(); - //std::cout<<"current index "<<_currentaction; - - return cutmodel; -} - -int CutModel2Manager::Undo() throw( CutModelException){ - //&& _currentaction < _undoredo.size() - if(_currentaction > 0){ - int tempaction = _currentaction-1; - CutModelSaveBinInfo* currentundo = _undoredo[tempaction]; - CutModelData* currentmodel; - - if(currentundo->getActionType()==CUTMODEL_CUT){ - //Undo the cut - vtkTransform* transform = currentundo->getTransformFromMatrixFile(); - - currentmodel = getCutModelData(currentundo->getId()); - - currentmodel->setTransform(transform, _img); - - currentmodel->setCurrentShape(currentundo->getCurrentShape()); - - currentmodel->ExecuteUnCut(currentundo->getIsInside(), _img2, _img); - - } - //Every thing ok - _currentaction--; - return 0; - } - return -1; -} - -int CutModel2Manager::Redo() throw( CutModelException){ - - if(_currentaction >= 0 && _currentaction < _undoredo.size()){ - - - CutModelSaveBinInfo* currentundo = _undoredo[_currentaction]; - CutModelData* currentmodel; - - if(currentundo->getActionType()==CUTMODEL_CUT){ - //Redo the cut - vtkTransform* transform = currentundo->getTransformFromMatrixFile(); - currentmodel = getCutModelData(currentundo->getId()); - currentmodel->setTransform(transform, _img2); - currentmodel->setCurrentShape(currentundo->getCurrentShape()); - currentmodel->ExecuteCut(currentundo->getRange(), currentundo->getIsInside(), _img2); - } - - _currentaction++; - - return 0; - } - return -1; -} \ No newline at end of file diff --git a/lib/maracasVisuLib/src/CutModule/kernel/CutModel2Manager.h b/lib/maracasVisuLib/src/CutModule/kernel/CutModel2Manager.h deleted file mode 100644 index 91c02b1..0000000 --- a/lib/maracasVisuLib/src/CutModule/kernel/CutModel2Manager.h +++ /dev/null @@ -1,99 +0,0 @@ -/*========================================================================= - - Program: wxMaracas - Module: $RCSfile: CutModel2Manager.h,v $ - Language: C++ - Date: $Date: 2009/12/08 13:42:39 $ - Version: $Revision: 1.4 $ - - Copyright: (c) 2002, 2003 - License: - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. See the above copyright notice for more information. - -=========================================================================*/ - - - - -#ifndef __CutModel2ManagerH__ -#define __CutModel2ManagerH__ - -#include -#include -#include - -#include "vtkImageData.h" -#include "vtkRenderWindowInteractor.h" -#include "vtkRenderer.h" -#include - -#include "CutModelException.h" -#include "CutModelData.h" -#include "CutModelSaveBinInfo.h" - - - -class CutModel2Manager { - -public: - CutModel2Manager(std::string path); - ~CutModel2Manager(); - - void setImageData(vtkImageData* img); - - void setInteractor(vtkRenderWindowInteractor* interactor); - - void setRenderer(vtkRenderer* renderer); - - void onAddCutModel2(int id, vtkCommand* observer) throw( CutModelException); - - double* getImageRange()throw( CutModelException); - - void changeOpacity(int id,int opacity)throw( CutModelException); - - void ShowViewBox(int id,bool check)throw( CutModelException); - - void ChangeShape(int id,int selection)throw( CutModelException); - - void changeColor(int id,double r,double g,double b)throw( CutModelException); - - void updateActorDirection(int id)throw( CutModelException); - - void RemoveActor(int id)throw( CutModelException); - - void ExecuteCut(int id, double* range, bool isinside)throw( CutModelException); - - vtkImageData* GetResultImage(); - - void RefreshActor(int id); - - void SaveCutModelData(std::string filename)throw( CutModelException); - - void LoadCutModelData(std::string filename)throw( CutModelException); - - CutModelSaveBinInfo* AddActionUndo(int id, UNDOTYPE type)throw( CutModelException); - - int Undo()throw( CutModelException); - - int Redo()throw( CutModelException); -private: - - int _currentaction; - - void checkInvariant() throw( CutModelException); - std::string _path; - vtkImageData* _img; - vtkImageData* _img2; - vtkRenderer* _render; - vtkRenderWindowInteractor* _interactor; - - std::vector _vectordata; - std::vector _undoredo; - CutModelData* getCutModelData(int id)throw( CutModelException); - -}; - -#endif diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStyleBaseView.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStyleBaseView.cxx index fd8fa4c..2e97384 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStyleBaseView.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStyleBaseView.cxx @@ -328,9 +328,16 @@ void vtkInteractorStyleBaseView::EvaluateToRefresh() { _parent_refresh_waiting = false; wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh +//CPR 13/01/2010 this->_wxvtkbaseview->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); - } - } + int i; + int size = _lstParentToReport.size(); + for(i = 0; iProcessEvent(newevent1); + }//for + }//if + }//if _blockRefresh } //--------------------------------------------------------------------------- void vtkInteractorStyleBaseView::BlockRefresh() @@ -343,3 +350,18 @@ void vtkInteractorStyleBaseView::UnBlockRefresh() _blockRefresh=false; } +wxEvtHandler* vtkInteractorStyleBaseView::GetParentToReport(int i) +{ + wxEvtHandler* parentToReport = NULL; + if(i>=0 && i<_lstParentToReport.size()) + { + parentToReport = _lstParentToReport[i]; + } + return parentToReport; + +} + +void vtkInteractorStyleBaseView::AddParentToReport(wxEvtHandler* parentToReport) +{ + _lstParentToReport.push_back(parentToReport); +} diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStyleBaseView.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStyleBaseView.h index 9eb157e..9e224cc 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStyleBaseView.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStyleBaseView.h @@ -3,6 +3,7 @@ #include "wxVtkBaseView.h" +#include //class InteractorStyleMaracas; @@ -47,10 +48,11 @@ public: void SetRefresh_waiting(); void SetParent_refresh_waiting(); + void AddParentToReport(wxEvtHandler* parentToReport); bool GetRefresh_waiting(); bool GetParent_refresh_waiting(); - + wxEvtHandler* GetParentToReport(int i); void EvaluateToRefresh(); void BlockRefresh(); @@ -60,10 +62,11 @@ protected: std::vector< InteractorStyleMaracas* > _lstInteractorStyleMaracas; private: - bool _blockRefresh; - bool _refresh_waiting; - bool _parent_refresh_waiting; - wxVtkBaseView *_wxvtkbaseview; + bool _blockRefresh; + bool _refresh_waiting; + bool _parent_refresh_waiting; + wxVtkBaseView *_wxvtkbaseview; + std::vector _lstParentToReport; }; #endif /*VTKINTERACTORSTYLEBASEVIEW_H_*/ diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasDialog_NViewers.cpp b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasDialog_NViewers.cpp index 270fbbd..3317506 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasDialog_NViewers.cpp +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasDialog_NViewers.cpp @@ -1,7 +1,8 @@ #include "wxMaracasDialog_NViewers.h" //#include #include - +#include +#include "creaSystem.h" BEGIN_EVENT_TABLE( wxMaracasDialog_NViewers, wxFrame ) EVT_MENU( 12121, wxMaracasDialog_NViewers::OnRefreshView ) @@ -12,17 +13,23 @@ END_EVENT_TABLE( ); ** Class constructor **/ wxMaracasDialog_NViewers::wxMaracasDialog_NViewers(wxWindow* parent, vtkImageData* img, std::vector* type, wxString title) -: wxFrame(parent, -1, title) +//: wxFrame(parent, -1, title) +: wxFrame(NULL, -1, title, wxDefaultPosition,wxSize(700,700)) { - panelcut = new wxPanel(this, -1); - panelcut->SetSize(800, 700); - viewer = new wxMaracas_N_ViewersWidget(panelcut, img, type); - sizer = new wxFlexGridSizer(2, 1); - sizer->Add(viewer, wxGROW, 1); - panelcut->SetSizer( sizer, true ); - panelcut->SetAutoLayout( true ); - //viewer->SetSize(wxSizer(wxALL|wxEXPAND)); + wxSplitterWindow *splitpanel = new wxSplitterWindow(this, -1); + splitpanel->SetMinimumPaneSize(5); + + viewer = new wxMaracas_N_ViewersWidget(splitpanel, img, type); + + std::string path = crea::System::GetDllAppPath("bbcreaMaracasVisu.dll"); + cutter = CutModelMainPanel::getInstance(splitpanel, path); + cutter->setRenderer( viewer->GetwxVtkBaseView(1)->GetRenderer() ); + cutter->setInteractor( viewer->GetwxVtkBaseView(1)->GetWxVTKRenderWindowInteractor() ); + cutter->setImageData(img); + + splitpanel->SplitVertically( cutter, viewer, 50); + } /** @@ -31,19 +38,6 @@ wxMaracasDialog_NViewers::wxMaracasDialog_NViewers(wxWindow* parent, vtkImageDat wxMaracasDialog_NViewers::~wxMaracasDialog_NViewers(){ } -/** -** Adds a new panel to the frame -**/ -void wxMaracasDialog_NViewers::AddPanel(wxWindow* panel) -{ - //wxFlexGridSizer* sizer = new wxFlexGridSizer(1); - - panel->SetSize(400, 200); - - sizer->Add(panel, wxGROW); - panelcut->SetSizer( sizer, true ); - panelcut->SetAutoLayout( true ); -} /** ** @@ -72,12 +66,4 @@ void wxMaracasDialog_NViewers::OnDClickLeft(wxCommandEvent & event) wxMaracas_N_ViewersWidget* wxMaracasDialog_NViewers::getViewer() { return viewer; -} - -/** -** -**/ -wxPanel* wxMaracasDialog_NViewers::getinternalPanel() -{ - return panelcut; } \ No newline at end of file diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasDialog_NViewers.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasDialog_NViewers.h index 8673942..442fc1a 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasDialog_NViewers.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasDialog_NViewers.h @@ -1,5 +1,6 @@ #include "vtkImageData.h" #include "wxMaracas_N_ViewersWidget.h" +#include "CutModelMainPanel.h" #include #include @@ -13,16 +14,13 @@ class wxMaracasDialog_NViewers : public wxFrame{ ~wxMaracasDialog_NViewers(); void OnRefreshView(wxCommandEvent & event); void OnDClickLeft(wxCommandEvent & event); - void AddPanel(wxWindow* panel); wxMaracas_N_ViewersWidget* getViewer(); - wxPanel* getinternalPanel(); private: - wxMaracas_N_ViewersWidget* viewer; - std::vector point; + wxMaracas_N_ViewersWidget* viewer; + CutModelMainPanel* cutter; - wxFlexGridSizer* sizer; - wxPanel* panelcut; + std::vector point; DECLARE_EVENT_TABLE( ); diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererPanel.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererPanel.cxx index 6c7d66f..c9e879a 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererPanel.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererPanel.cxx @@ -1,5 +1,6 @@ #include "wxMaracasMultipleVolumeRendererPanel.h" #include "wxMaracasMultipleVolumeRendererView.h" +#include "wxMaracas_N_ViewersWidget.h" #include "wxMaracasDialog_NViewers.h" #include "wxMaracasRendererView.h" @@ -11,6 +12,7 @@ #include #include #include "Color.xpm" +#include //#include /** ** Implementation of viewProp3D @@ -207,18 +209,23 @@ void wxMaracasMultipleVolumeRendererPanel::onColorChange(wxCommandEvent& event){ void wxMaracasMultipleVolumeRendererPanel::onViewImage(wxCommandEvent& event) { vtkImageData* img; - if(this->isComplexBox){ - img = (wxMaracasRendererView::getInstance())->getTabbedPanel(_propid)->getVolImage(); - std::vector type; - type.push_back(6); + std::vector type; + type.push_back(6); + + wxFrame* frame = new wxFrame(this, -1, wxString(_T("Volume Visualization"))); + frame->SetSize(wxDefaultSize); - wxMaracasDialog_NViewers* dialog1 = new wxMaracasDialog_NViewers(this, img, &type, wxString(_T("Volume Visualization") )); - dialog1->SetSize(wxDefaultSize); - dialog1->Show(); + if(this->isComplexBox) + { + img = (wxMaracasRendererView::getInstance())->getTabbedPanel(_propid)->getVolImage(); } - else{ - //vtkImageData* img = wxMaracasMultipleVolumeRendererView::getInstance()->getVolImage(); + else + { + img = wxMaracasMultipleVolumeRendererView::getInstance()->getVolumeRenderManager()->getImageData(); } + + wxMaracas_N_ViewersWidget* viewer = new wxMaracas_N_ViewersWidget(frame, img, &type); + frame->Show(); } /** diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererView.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererView.cxx index 69019df..60ad443 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererView.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererView.cxx @@ -3,8 +3,8 @@ Program: wxMaracas Module: $RCSfile: wxMaracasMultipleVolumeRendererView.cxx,v $ Language: C++ - Date: $Date: 2009/11/30 20:52:50 $ - Version: $Revision: 1.10 $ + Date: $Date: 2010/01/13 13:31:10 $ + Version: $Revision: 1.11 $ Copyright: (c) 2002, 2003 License: @@ -164,17 +164,21 @@ void wxMaracasMultipleVolumeRendererView::deleteVolume(int volid) } } -void wxMaracasMultipleVolumeRendererView::SetValuesColorPointsFunction(int volid, std::vector greylevelcolors,std::vector red,std::vector green,std::vector blue){ +void wxMaracasMultipleVolumeRendererView::SetValuesColorPointsFunction(int volid, std::vector greylevelcolors,std::vector red,std::vector green,std::vector blue) +{ volmanager->setVolumeColor(volid, greylevelcolors, red, green, blue); } -void wxMaracasMultipleVolumeRendererView::SetValuesPointsFunction(int volid, std::vector greylevel, std::vector values){ +void wxMaracasMultipleVolumeRendererView::SetValuesPointsFunction(int volid, std::vector greylevel, std::vector values) +{ volmanager->setVolumeOpacity(volid, greylevel, values); } -vtkPiecewiseFunction* wxMaracasMultipleVolumeRendererView::GetTransferFunction(int volumeid){ +vtkPiecewiseFunction* wxMaracasMultipleVolumeRendererView::GetTransferFunction(int volumeid) +{ return volmanager->GetTransferFunction(volumeid); } -vtkColorTransferFunction* wxMaracasMultipleVolumeRendererView::GetColorFunction(int volumeid){ +vtkColorTransferFunction* wxMaracasMultipleVolumeRendererView::GetColorFunction(int volumeid) +{ return volmanager->GetColorFunction(volumeid); } @@ -182,6 +186,11 @@ std::vector wxMaracasMultipleVolumeRendererView::GetOutputImages( return imgVect; } +wxMaracasMultipleVolumeRendererManager* wxMaracasMultipleVolumeRendererView::getVolumeRenderManager() +{ + return volmanager; +} + /** ** **/ diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererView.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererView.h index 09cb529..ef13a73 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererView.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererView.h @@ -3,8 +3,8 @@ Program: wxMaracas Module: $RCSfile: wxMaracasMultipleVolumeRendererView.h,v $ Language: C++ - Date: $Date: 2009/11/20 17:09:05 $ - Version: $Revision: 1.5 $ + Date: $Date: 2010/01/13 13:31:10 $ + Version: $Revision: 1.6 $ Copyright: (c) 2002, 2003 License: @@ -69,6 +69,8 @@ public: void changeCompositeMIPFunction(int id, int function); + wxMaracasMultipleVolumeRendererManager* getVolumeRenderManager(); + private: static wxMaracasMultipleVolumeRendererView* instance; diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderTabbedPanel.cpp b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderTabbedPanel.cpp index 0889c62..703af86 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderTabbedPanel.cpp +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderTabbedPanel.cpp @@ -14,10 +14,13 @@ #include #include "Color.xpm" -#include "creaSystem.h" - +//#include "creaSystem.h" + BEGIN_EVENT_TABLE( wxMaracasRenderTabbedPanel, wxPanel ) + EVT_MENU( 12121, wxMaracasRenderTabbedPanel::OnRefreshView ) + //EVT_MENU( 12122, wxMaracasRenderTabbedPanel::OnDClickLeft ) + END_EVENT_TABLE( ); /** ** Class constructor @@ -343,6 +346,8 @@ void wxMaracasRenderTabbedPanel::addMPROptions() mwxvtkmpr3Dview ->SetVtkMPR3DDataViewer(vtkmpr3Ddataviewer); mwxvtkmpr3Dview ->Configure(); mwxvtkmpr3Dview ->ResetCamera(ext,org,spc); + vtkInteractorStyleBaseView* vtkInteractorBV = (vtkInteractorStyleBaseView*)mwxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetInteractorStyleBaseView(); + vtkInteractorBV->AddParentToReport(this); } int id = 4; @@ -726,8 +731,6 @@ void wxMaracasRenderTabbedPanel::onMPROptions(wxCommandEvent& event) mwxvtkmpr3Dview->Refresh(); - wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh - mwxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); } else @@ -747,6 +750,15 @@ void wxMaracasRenderTabbedPanel::onMPROptions(wxCommandEvent& event) } } +void wxMaracasRenderTabbedPanel::OnRefreshView(wxCommandEvent & event) +{ + printf("CPR wxMaracasRenderTabbedPanel::OnRefreshView \n"); + mwxvtkmpr3Dview->RefreshView(); + + wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh + mwxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); +} + /** ** **/ @@ -776,15 +788,15 @@ void wxMaracasRenderTabbedPanel::onOpenCutter(wxCommandEvent& event) type.push_back(0); wxMaracasDialog_NViewers* dialog1 = new wxMaracasDialog_NViewers(this, img, &type, wxString(_T("Cut Module") )); - dialog1->SetSize(800, 700); + //dialog1->SetSize(800, 700); - std::string path = crea::System::GetDllAppPath("bbcreaMaracasVisu.dll"); + /**std::string path = crea::System::GetDllAppPath("bbcreaMaracasVisu.dll"); cutter = CutModelMainPanel::getInstance(dialog1->getinternalPanel(), path); cutter->setRenderer( dialog1->getViewer()->GetwxVtkBaseView(1)->GetRenderer() ); cutter->setInteractor( dialog1->getViewer()->GetwxVtkBaseView(1)->GetWxVTKRenderWindowInteractor() ); cutter->setImageData(getVolImage()); - - dialog1->AddPanel(cutter); + **/ + //dialog1->AddPanel(cutter); dialog1->Show(); } diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderTabbedPanel.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderTabbedPanel.h index 097d54a..6552e68 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderTabbedPanel.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderTabbedPanel.h @@ -5,7 +5,6 @@ #include #include "wxMaracasRenderImageManagementPanel.h" -#include "CutModelMainPanel.h" #include "wxMaracasMultipleVolumeRendererManager.h" #include "wxMaracasSurfaceRenderingManager.h" #include "wxVtkBaseView.h" @@ -59,6 +58,7 @@ public: void onOpenParameters(wxCommandEvent& event); void onColorChange(wxCommandEvent& event); void onOpenCutter(wxCommandEvent& event); + void OnRefreshView(wxCommandEvent& event); vtkImageData* getVolImage(); vtkImageData* getSurfAImage(); @@ -84,12 +84,13 @@ private: bool first; int _id; - CutModelMainPanel* cutter; wxMaracasRenderImageManagementPanel* dialog; wxMaracasMultipleVolumeRendererManager* volmanager; wxMaracasSurfaceRenderingManager* surrendmanager1; wxMaracasSurfaceRenderingManager* surrendmanager2; wxMaracasSurfaceRenderingManager* surrendmanager3; + + DECLARE_EVENT_TABLE( ); }; #endif /*wxMaracasMultipleVolumeRendererPanel_H_*/ \ No newline at end of file diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRendering.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRendering.cxx index b6e79b3..a8c4442 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRendering.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRendering.cxx @@ -3,8 +3,8 @@ Program: wxMaracas Module: $RCSfile: wxMaracasSurfaceRendering.cxx,v $ Language: C++ - Date: $Date: 2009/11/17 10:24:23 $ - Version: $Revision: 1.7 $ + Date: $Date: 2010/01/13 13:31:10 $ + Version: $Revision: 1.8 $ Copyright: (c) 2002, 2003 License: @@ -15,8 +15,6 @@ =========================================================================*/ - - // EOF - wxMaracasMPR.cxx #include "wxMaracasSurfaceRendering.h" @@ -44,17 +42,16 @@ wxMaracasSurfaceRendering::wxMaracasSurfaceRendering( wxWindow* parent,std::stri iconsdir+="/data/Icons"; this->_toolb = new ToolBar(this,iconsdir); - /*Carolina: "Surface Rendering" label recently added*/ - wxStaticText* txt = new wxStaticText(this, -1, wxString(_T(" Surface Rendering "))); + //Carolina: "Surface Rendering" label recently added + //wxStaticText* txt = new wxStaticText(this, -1, wxString(_T(" Surface Rendering "))); wxAuiPaneInfo paneinfo; - wxauimanager->AddPane(txt,paneinfo.ToolbarPane().Top()); + //wxauimanager->AddPane(txt,paneinfo.ToolbarPane().Top()); wxauimanager->AddPane(_toolb,paneinfo.ToolbarPane().Top()); wxauimanager->Update(); createFileChooser(); } wxMaracasSurfaceRendering::~wxMaracasSurfaceRendering( ){ - delete _toolb; } @@ -62,8 +59,6 @@ std::string wxMaracasSurfaceRendering::getPath(){ return _path; } - - void wxMaracasSurfaceRendering::createFileChooser(){ } diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRenderingProp3D.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRenderingProp3D.cxx index a0c9910..57dc298 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRenderingProp3D.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRenderingProp3D.cxx @@ -55,12 +55,12 @@ void wxMaracasSurfaceRenderingProp3D::createControls(){ Connect(checkbox->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction)&wxMaracasSurfaceRenderingProp3D::onCheckBoxChange); checkbox->SetValue(true); checkboxsizer->Add(checkbox,wxFIXED_MINSIZE); - + /* checkboxsurface = new wxCheckBox(this,-1,wxString(_T("Surface Box"))); Connect(checkboxsurface->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction)&wxMaracasSurfaceRenderingProp3D::onCheckBoxSurfaceChange); checkboxsurface->SetValue(true); checkboxsizer->Add(checkboxsurface,wxFIXED_MINSIZE); - + */ sizersurfprop->Add(checkboxsizer,wxFIXED_MINSIZE); } @@ -73,11 +73,12 @@ void wxMaracasSurfaceRenderingProp3D::createControls(){ Connect(_colorchoose->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasSurfaceRenderingProp3D::onColorChange); sizerbut->Add(_colorchoose,wxFIXED_MINSIZE); + /* wxBitmap bitmap1(Add_xpm); _viewimage = new wxBitmapButton(this, -1, bitmap1, wxDefaultPosition, wxSize(30,30)); Connect(_viewimage->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasSurfaceRenderingProp3D::onViewImage); sizerbut->Add(_viewimage,wxFIXED_MINSIZE); - + */ sizersurfprop->Add(sizerbut,wxFIXED_MINSIZE); //sizercolor->Add(checkbox,wxFIXED_MINSIZE); //sizercolor->Add(_colorchoose,wxFIXED_MINSIZE); -- 2.46.0