]> Creatis software - creaMaracasVisu.git/commitdiff
Machète detruction viewer
authorJuan Prieto <Juan.Prieto@creatis.insa-lyon.fr>
Wed, 25 Nov 2009 16:35:34 +0000 (16:35 +0000)
committerJuan Prieto <Juan.Prieto@creatis.insa-lyon.fr>
Wed, 25 Nov 2009 16:35:34 +0000 (16:35 +0000)
bbtk/src/bbcreaMaracasVisuVolumeRendering.cxx
lib/maracasVisuLib/src/CutModule/interface/CutModelMainPanel.cxx
lib/maracasVisuLib/src/CutModule/kernel/CutModelData.cxx
lib/maracasVisuLib/src/CutModule/kernel/CutModelManager.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererManagerData.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracas_ViewerWidget.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtk3DBaseView.cxx

index 8dd23db0afcd867ab5d702d6fba2f053e1525ee7..52428576790e80081eb1eb501ce839f18f413a6d 100644 (file)
@@ -51,11 +51,11 @@ void VolumeRendering::Process()
 
                //vtkImageData* img1 = ;
 
-               //bbSetOutputOut0(volview->GetOutputImages()[0]);
-               //bbSetOutputOut1(volview->GetOutputImages()[1]);
-               //bbSetOutputOut2(volview->GetOutputImages()[2]);
-               //bbSetOutputOut3(volview->GetOutputImages()[3]);
-       } 
+               /*bbSetOutputOut0(volview->GetOutputImages()[0]);
+               bbSetOutputOut1(volview->GetOutputImages()[1]);
+               bbSetOutputOut2(volview->GetOutputImages()[2]);
+               bbSetOutputOut3(volview->GetOutputImages()[3]);*/
+
 }
 void VolumeRendering::CreateWidget(wxWindow* parent)
 {
index 2991814153232b6e0f4aa64d6e9c9f253a093b6d..c30a641842eb0c5ed1bd0425e6bee32410fd5968 100644 (file)
@@ -3,8 +3,8 @@
   Program:   wxMaracas
   Module:    $RCSfile: CutModelMainPanel.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/09/08 08:14:25 $
-  Version:   $Revision: 1.3 $
+  Date:      $Date: 2009/11/25 16:35:36 $
+  Version:   $Revision: 1.4 $
 
   Copyright: (c) 2002, 2003
   License:
@@ -43,8 +43,8 @@ CutModelMainPanel::CutModelMainPanel( wxWindow* parent, std::string path)
        initialize(path);
 
 }
-CutModelMainPanel::~CutModelMainPanel( ){
-       
+CutModelMainPanel::~CutModelMainPanel( ){      
+       viewpanels.clear();
        delete cutmanager;
 }
 
@@ -117,18 +117,19 @@ void CutModelMainPanel::RemoveActor(int id){
      try{
                checkInvariant();
 
-               for(int i = 0; i < viewpanels.size()-1;i++){
-                       if(viewpanels[i]->getId()==id){
-                               for(int j = i; j < viewpanels.size()-1;j++){
-                    viewpanels[j]=viewpanels[j+1];
+               if(!this->IsBeingDeleted()){
+                       for(int i = 0; i < viewpanels.size()-1;i++){
+                               CutModelView* view = viewpanels[i];
+                               if(view->getId()==id){
+                                       for(int j = i; j < viewpanels.size()-1;j++){
+                                               viewpanels[j]=viewpanels[j+1];
+                                       }
+                                       i = viewpanels.size();
                                }
-                               i = viewpanels.size();
                        }
-               }
-               viewpanels.pop_back();
-
-
-               cutmanager->RemoveActor(id);
+                       viewpanels.pop_back();
+                       cutmanager->RemoveActor(id);
+               }       
 
        }catch(CutModelException e){
                showErrorDialog(e.getCause());
index ca9825a431905762d432751372a247d0b7646da8..d4b46fbd9c92845fc60ddca642e90cfa3db841b5 100644 (file)
@@ -3,8 +3,8 @@
   Program:   wxMaracas
   Module:    $RCSfile: CutModelData.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/10/16 15:17:56 $
-  Version:   $Revision: 1.4 $
+  Date:      $Date: 2009/11/25 16:35:37 $
+  Version:   $Revision: 1.5 $
 
   Copyright: (c) 2002, 2003
   License:
@@ -39,7 +39,9 @@ void CutModelData::initializeData(int id, vtkRenderWindowInteractor* interactor,
 }
 CutModelData::~CutModelData(){
        checkInvariant();
+       _boxWidgetVolume->RemoveAllObservers();
        _boxWidgetVolume->Off();
+       _boxWidgetVolume->SetInteractor(NULL);
        _boxWidgetVolume->Delete();     
        _Mapper->Delete();      
        _Actor->Delete();       
@@ -47,7 +49,9 @@ CutModelData::~CutModelData(){
        delete _cylinderfigure;
        delete _spherefigure;
        currentmatrix->Delete();
+       modeltransform->Delete();
        inversModel->Delete();
+       _id = -1;
 }
 void CutModelData::RefreshViewBox(){
                
index 652faa7d6d2d1c2efe72b7a52273ae54e8174aaf..101afaa0a3432ad909dbe6d3ac1bad99e88db444 100644 (file)
@@ -3,8 +3,8 @@
   Program:   wxMaracas
   Module:    $RCSfile: CutModelManager.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/09/08 08:14:27 $
-  Version:   $Revision: 1.3 $
+  Date:      $Date: 2009/11/25 16:35:37 $
+  Version:   $Revision: 1.4 $
 
   Copyright: (c) 2002, 2003
   License:
@@ -30,7 +30,12 @@ CutModelManager::CutModelManager(std::string path){
 CutModelManager::~CutModelManager(){
        std::string files = _path;
     files+="/infounrd_0_fig_0.info";   
-       remove(files.c_str());
+       remove(files.c_str());  
+       _vectordata.clear();
+       _img = NULL;
+       _copyimg = NULL;
+       _interactor = NULL;     
+       _render = NULL;
 }
 
 
@@ -111,11 +116,12 @@ CutModelData* CutModelManager::getCutModelData(int id)throw( CutModelException){
 
        CutModelData* current = NULL;
        for(int i= 0; i < _vectordata.size();i++){
+               CutModelData* temp = _vectordata[i];
                std::cout<<"id in CutModelManager:: "<<id<<std::endl;
-               std::cout<<"vectordataid in CutModelManager:: "<<_vectordata[i]->getId()<<std::endl;
+               std::cout<<"vectordataid in CutModelManager:: "<<temp->getId()<<std::endl;
 
-               if(_vectordata[i]->getId()==id){
-                       current =  _vectordata[i];
+               if(temp->getId() == id){
+                       current =  temp;
                }
        }
        if(current ==NULL){
@@ -152,7 +158,8 @@ void CutModelManager::RemoveActor(int id)throw( CutModelException){
                                i = _vectordata.size();
                        }
                }
-               _render->RemoveActor(current->getActor());              
+               _render->RemoveViewProp(current->getActor());           
+               //_render->RemoveViewProp(current->get
                delete current;
                _vectordata.pop_back();
                _render->Render();
index 06ceb98bd4eadadd5ec801ba93928c15818ec8cb..052da71062ec1fe6e89ee48fdf733631e5d781a1 100644 (file)
@@ -23,7 +23,7 @@ wxMaracasMultipleVolumeRendererManagerData::wxMaracasMultipleVolumeRendererManag
        _volumeMapper->AutoAdjustSampleDistancesOn();
        _volumeProperty = vtkVolumeProperty::New();     
        _volumeProperty->SetInterpolationTypeToLinear();
-       _volumeProperty->ShadeOn();
+       //_volumeProperty->ShadeOn();
        _volumeProperty->DisableGradientOpacityOn();    
        _volumeProperty->SetColor(_ctfun);
        _volumeProperty->SetScalarOpacity(_tfun );
index b07d32f974b22a87833ed4facf471ef342e5e145..5ce146c0a516ffb69bdb4e22e990abb273df0fef 100644 (file)
@@ -3,8 +3,8 @@
   Program:   wxMaracas
   Module:    $RCSfile: wxMaracas_ViewerWidget.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/10/16 15:17:57 $
-  Version:   $Revision: 1.18 $
+  Date:      $Date: 2009/11/25 16:35:38 $
+  Version:   $Revision: 1.19 $
 
   Copyright: (c) 2002, 2003
   License:
                if (mwxsphereview)                              { delete mwxsphereview; }
                if (mwxvtkmpr3Dview)                    { delete mwxvtkmpr3Dview; }
                if (mwxvtkclipping3Dview)               { delete mwxvtkclipping3Dview; }
-               if (mwxvtk3Dbaseview_Clipping3D){ delete mwxvtk3Dbaseview_Clipping3D; }
+               if (mwxvtk3Dbaseview_Clipping3D){ delete mwxvtk3Dbaseview_Clipping3D; mwxvtk3Dbaseview_Clipping3D=NULL;}
        }
        //------------------------------------------------------------------------------------------------------------
        // Methods
index e601235c1bd8365c71b97f8b75ada2c789334f05..94fe0f7e575d330549851e1d5e73d4d7bf56c42f 100644 (file)
@@ -14,9 +14,13 @@ wxVtk3DBaseView::wxVtk3DBaseView(wxWindow *parent)
 //-------------------------------------------------------------------
 wxVtk3DBaseView::~wxVtk3DBaseView()
 {
-       if (_aCamera!=NULL)     { _aCamera              -> Delete(); }
-       if (_aRenderer!=NULL)   { _aRenderer    -> Delete(); }
-       if (_renWin!=NULL)      { _renWin               -> Delete(); }
+       if (_aCamera!=NULL)     { _aCamera              -> Delete(); _aCamera=NULL;}
+       if (_aRenderer!=NULL)   { _aRenderer    -> Delete(); _aRenderer=NULL;}
+       if (_renWin!=NULL)      { 
+               if(_renWin->GetReferenceCount()==0){
+                       _renWin         -> Delete(); _renWin=NULL;
+               }
+       }
 }
 //-------------------------------------------------------------------
 vtkCamera* wxVtk3DBaseView::GetCamera()