]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRenderingManager.cxx
surface box y widget carole
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxMaracasSurfaceRenderingManager.cxx
index e2b114716094e351d1d1b6fb8412327c860d3a8c..55aa4e63c607cb229604f5eb5550e7f870c86fd5 100644 (file)
@@ -3,8 +3,8 @@
   Program:   wxMaracas
   Module:    $RCSfile: wxMaracasSurfaceRenderingManager.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/11/13 09:34:10 $
-  Version:   $Revision: 1.4 $
+  Date:      $Date: 2009/11/13 11:47:41 $
+  Version:   $Revision: 1.5 $
 
   Copyright: (c) 2002, 2003
   License:
@@ -22,6 +22,7 @@
 **/
 wxMaracasSurfaceRenderingManager::wxMaracasSurfaceRenderingManager(){
        _renderer = NULL;
+       _interactor = NULL;
        _idCount=0;
 }
 wxMaracasSurfaceRenderingManager::~wxMaracasSurfaceRenderingManager(){
@@ -34,6 +35,14 @@ void wxMaracasSurfaceRenderingManager::setRenderer(vtkRenderer*  renderer){
        _renderer = renderer;
 }
 
+/**
+**     Sets the renderer to manage the prop3D from the surface render
+**/
+void wxMaracasSurfaceRenderingManager::setInteractor(vtkRenderWindowInteractor*  interactor){
+       _interactor = interactor;
+}
+
+
 /**
 ** Gets the renderer to manage the prop3D from the surface render
 **/
@@ -56,7 +65,7 @@ void wxMaracasSurfaceRenderingManager::Update(int pid)throw(char*){
 int wxMaracasSurfaceRenderingManager::addProp3D(vtkProp3D* prop3D, std::string dataname)  throw(char*){
        checkInvariant();
        if(prop3D != NULL){
-               wxMaracasSurfaceRenderingManagerData* data = new wxMaracasSurfaceRenderingManagerData(prop3D, dataname);
+               wxMaracasSurfaceRenderingManagerData* data = new wxMaracasSurfaceRenderingManagerData(prop3D, dataname, _interactor);
                prop3Dvect.push_back(data);
                _renderer->AddActor(data->getProp3D());
                data->setId(_idCount);
@@ -71,7 +80,7 @@ int wxMaracasSurfaceRenderingManager::addPropMHD(vtkImageData* imagedata, std::s
        checkInvariant();
        if(imagedata != NULL){
                image = imagedata;
-               wxMaracasSurfaceRenderingManagerData* data = new wxMaracasSurfaceRenderingManagerDataMhd(imagedata, dataname);
+               wxMaracasSurfaceRenderingManagerData* data = new wxMaracasSurfaceRenderingManagerDataMhd(imagedata, dataname, _interactor);
                prop3Dvect.push_back(data);     
                _renderer->AddActor(data->getProp3D());
                data->setId(_idCount);
@@ -99,6 +108,26 @@ void wxMaracasSurfaceRenderingManager::addRemoveActor(int propid, bool addremove
                _renderer->Render();
        }
 }
+/**
+**     adds or removes the surface box depending of the bool value
+**/
+void wxMaracasSurfaceRenderingManager::addRemoveSurfaceBox(int propid, bool addremove)  throw(char*){
+       checkInvariant();
+       
+       wxMaracasSurfaceRenderingManagerData* data = this->getViewData(propid);         
+       if(data->getProp3D()!=NULL){
+               data->addRemoveSurfaceBox(addremove);
+               /*if(addremove){
+                       data->
+                       _renderer->AddViewProp(data->getProp3D());
+               }else{
+                       _renderer->RemoveViewProp(data->getProp3D());
+               }
+               _renderer->Render();*/
+       }
+       
+}
+
 /**
 **     Changes the opacity in a prop3D
 **/