]> Creatis software - creaMaracasVisu.git/commitdiff
*** empty log message ***
authorperez <perez>
Wed, 13 Jan 2010 13:30:41 +0000 (13:30 +0000)
committerperez <perez>
Wed, 13 Jan 2010 13:30:41 +0000 (13:30 +0000)
13 files changed:
lib/maracasVisuLib/src/CutModule/kernel/CutModel2Manager.cxx [deleted file]
lib/maracasVisuLib/src/CutModule/kernel/CutModel2Manager.h [deleted file]
lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStyleBaseView.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStyleBaseView.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasDialog_NViewers.cpp
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasDialog_NViewers.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererPanel.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererView.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererView.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderTabbedPanel.cpp
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderTabbedPanel.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRendering.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRenderingProp3D.cxx

diff --git a/lib/maracasVisuLib/src/CutModule/kernel/CutModel2Manager.cxx b/lib/maracasVisuLib/src/CutModule/kernel/CutModel2Manager.cxx
deleted file mode 100644 (file)
index 6e00b2f..0000000
+++ /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:: "<<id<<std::endl;
-               std::cout<<"vectordataid in CutModel2Manager:: "<<_vectordata[i]->getId()<<std::endl;
-
-               if(_vectordata[i]->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 (file)
index 91c02b1..0000000
+++ /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 <iostream>
-#include <stdio.h>
-#include <vector>
-
-#include "vtkImageData.h"
-#include "vtkRenderWindowInteractor.h"
-#include "vtkRenderer.h"
-#include <vtkPolyDataWriter.h>
-
-#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<CutModelData*> _vectordata;
-       std::vector<CutModelSaveBinInfo*> _undoredo;
-       CutModelData* getCutModelData(int id)throw( CutModelException);
-       
-};
-
-#endif 
index fd8fa4c6e79967859dadefe381e4b8cf39a52d50..2e973842d0bee3858cfe2f2cfd09ba8907de918e 100644 (file)
@@ -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; i<size; i++)
+                       {       
+                               _lstParentToReport[i]->ProcessEvent(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);
+}
index 9eb157e38130d9a70456f608dcd50bf77422f0b0..9e224cc42e8dd78cb5ddf95a1d20c3c846e5a86b 100644 (file)
@@ -3,6 +3,7 @@
 
 
 #include "wxVtkBaseView.h"
+#include <vector>
 
 
 //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<wxEvtHandler*>      _lstParentToReport;
 };
 
 #endif /*VTKINTERACTORSTYLEBASEVIEW_H_*/
index 270fbbdfc47ef8bab122d2a678a22150760dcbd1..33175063dc4a2e3ef8e2affcd0560c7a67e744fc 100644 (file)
@@ -1,7 +1,8 @@
 #include "wxMaracasDialog_NViewers.h"
 //#include <wx/frame.h> 
 #include <wx/sizer.h> 
-
+#include <wx/splitter.h>
+#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<int>* 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
index 867394208f24f266b1cf365fc1b222251b852d39..442fc1a482a3f8555a36bd17ba94c86271f6efca 100644 (file)
@@ -1,5 +1,6 @@
 #include "vtkImageData.h"
 #include "wxMaracas_N_ViewersWidget.h"
+#include "CutModelMainPanel.h"
 #include <wx/wx.h>
 #include <vector>
 
@@ -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<int> point;
+               wxMaracas_N_ViewersWidget*      viewer;
+               CutModelMainPanel*                      cutter;
 
-               wxFlexGridSizer* sizer;
-               wxPanel* panelcut;
+               std::vector<int>                        point;
        
        DECLARE_EVENT_TABLE( );
 
index 6c7d66f4d19db194a4bbc621b2c8a398b0fe122e..c9e879a97e76847e27b85a4f9a04a36c6a91c1d9 100644 (file)
@@ -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 <OpenImage.xpm>
 #include <Add.xpm>
 #include "Color.xpm"
+#include <vector>
 //#include <vtkImageCast.h>
 /**
 **     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<int> type;
-               type.push_back(6);
+       std::vector<int> 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();
 }
 
 /**
index 69019df5745457498692e8ad3036959054f7c86b..60ad443f29259765b4545fb51ccdead93ee3a06d 100644 (file)
@@ -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<double> greylevelcolors,std::vector<double> red,std::vector<double> green,std::vector<double> blue){
+void wxMaracasMultipleVolumeRendererView::SetValuesColorPointsFunction(int volid, std::vector<double> greylevelcolors,std::vector<double> red,std::vector<double> green,std::vector<double> blue)
+{
        volmanager->setVolumeColor(volid, greylevelcolors, red, green, blue);
 }
-void wxMaracasMultipleVolumeRendererView::SetValuesPointsFunction(int volid, std::vector<double> greylevel, std::vector<double> values){
+void wxMaracasMultipleVolumeRendererView::SetValuesPointsFunction(int volid, std::vector<double> greylevel, std::vector<double> 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<vtkImageData*> wxMaracasMultipleVolumeRendererView::GetOutputImages(
        return imgVect;
 }
 
+wxMaracasMultipleVolumeRendererManager* wxMaracasMultipleVolumeRendererView::getVolumeRenderManager()
+{
+       return volmanager;
+}
+
 /**
 **
 **/
index 09cb5296cdc6dbff2804976f9ebb7c410620611c..ef13a73ffbc02bce6bc356ea2894ee0f1c0d5f43 100644 (file)
@@ -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;
 
index 0889c620d6cf25bffe46d5c32cf6bb588f43e5f6..703af86cc4296eba79ba772ae11182a53ecfbefa 100644 (file)
 #include <OpenImage.xpm>
 
 #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();
 }
 
index 097d54ae8062f71dd58cd75307319f682c03b8cc..6552e6876a9ccb9a19927a020d01dd1e795492ae 100644 (file)
@@ -5,7 +5,6 @@
 #include <wx/notebook.h> 
 
 #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
index b6e79b30f5bf34eb3aadb73a4182e8ee14627e48..a8c44428fa7134d40895caf4792b99ecc6ba4111 100644 (file)
@@ -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(){
 
 }
index a0c99108b6315434a3e8fede3e36737b7203cac2..57dc2983e63d143c6b3108484e7b5b7a93b3b7ce 100644 (file)
@@ -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);