]> Creatis software - bbtkGEditor.git/blobdiff - lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGObjectView.cxx
#3084 bbGEditor Bug New Normal - Color refresh for inputs and outputs
[bbtkGEditor.git] / lib / EditorGraphicBBS / bbsVtkGUIEditorGraphic / vtkGObjectView.cxx
index 51761e7210662c5b37bc56f32012ab1f7144da4f..d9d784edee1c657624a76a68c3e8132972799aa5 100644 (file)
@@ -1,3 +1,29 @@
+/*
+# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
+#                        pour la Santé)
+# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+#
+#  This software is governed by the CeCILL-B license under French law and 
+#  abiding by the rules of distribution of free software. You can  use, 
+#  modify and/ or redistribute the software under the terms of the CeCILL-B 
+#  license as circulated by CEA, CNRS and INRIA at the following URL 
+#  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
+#  or in the file LICENSE.txt.
+#
+#  As a counterpart to the access to the source code and  rights to copy,
+#  modify and redistribute granted by the license, users are provided only
+#  with a limited warranty  and the software's author,  the holder of the
+#  economic rights,  and the successive licensors  have only  limited
+#  liability. 
+#
+#  The fact that you are presently reading this means that you have had
+#  knowledge of the CeCILL-B license and that you accept its terms.
+# ------------------------------------------------------------------------  
+*/
+
+
 /*=========================================================================                                                                               
 Program:   bbtk
 Module:    $RCSfile$
@@ -39,13 +65,15 @@ Version:   $Revision$
 namespace bbtk
 {
 
-
        //=========================================================================
        vtkGObjectView::vtkGObjectView()
        {
-               _baseView=NULL;
-               _objectActor=NULL;
-               _isStartDragging=false;
+               _baseView                       = NULL;
+//             _borderObjectActor      = NULL;
+               _fillObjectActor        = NULL;
+               _isStartDragging        = false;
+               
+               _state                          = NOTHING_HAPPENS;
        }
 
        //=========================================================================
@@ -53,28 +81,24 @@ namespace bbtk
        {
        }
        //=========================================================================
-
-       void vtkGObjectView::update(int command)//virtual
+       void vtkGObjectView::update(int idController,int command)//virtual
        {
                //virtual
        }
 
        //=========================================================================
-       
        void vtkGObjectView::setModel(GObjectModel *model)
        {
-               _model=model;
+               _model = model;
        }
 
        //=========================================================================
-       
        void vtkGObjectView::setBaseView(wxVtkBaseView* baseView)
        {
-               _baseView=baseView;
+               _baseView = baseView;
        }
 
        //=========================================================================
-
        void vtkGObjectView::initVtkObjects()
        {
                createVtkObjects();
@@ -82,40 +106,46 @@ namespace bbtk
        }
 
        //=========================================================================
-
        void vtkGObjectView::createVtkObjects() //virtual
        {
                //virtual
        }
 
        //=========================================================================
+       void vtkGObjectView::updateColors() //virtual
+       {
+               //virtual
+       }
 
+       //=========================================================================
        void vtkGObjectView::addVtkActors()//virtual
-       {
-               _baseView->GetRenderer()->AddActor(_objectActor);
-               _baseView->GetRenderer()->Render();
+       {               
+               _baseView->GetRenderer()->AddActor(_fillObjectActor);
+//EED2017              _baseView->GetRenderer()->Render();
        }
 
        //=========================================================================
+       void vtkGObjectView::removeVtkActors()//virtual
+       {
+               _baseView->GetRenderer()->RemoveActor(_fillObjectActor);
+//EED2017              _baseView->GetRenderer()->Render();
+       }
 
+       //=========================================================================
        bool vtkGObjectView::isPointInside(int X,int Y) //virtual
        {
-               // RaC In the actual version, always z=900
-               double xx=X,yy=Y,zz=900;
+               // RaC In the actual version, always z=GPOSITION_Z
+               double xx=X,yy=Y,zz=GPOSITION_Z;
                _baseView->TransCoordScreenToWorld(xx,yy,zz);
                return _model->isPointInside(xx,yy,zz);
        }
 
        //=========================================================================
-
        void vtkGObjectView::moveObject(int X,int Y) //virtual
        {               
-               // RaC In the actual version, always z=900
-               double xx=X,yy=Y,zz=900;
+               // RaC In the actual version, always z=GPOSITION_Z
+               double xx=X,yy=Y,zz=GPOSITION_Z;
                _baseView->TransCoordScreenToWorld(xx,yy,zz);
-
-               
-
                if(_isStartDragging)
                {
                        _isStartDragging=false;
@@ -125,14 +155,11 @@ namespace bbtk
                        dragDifX=xx-xInic;
                        dragDifY=yy-yInic;      
                }
-
                _model->move(xx-dragDifX,yy-dragDifY,zz);
-
        }
 
        //=========================================================================
-
-       void vtkGObjectView::isStartDragging(bool param)
+       void vtkGObjectView::setStartDragging(bool param)
        {
                _isStartDragging=param;
                dragDifX=0;
@@ -140,6 +167,32 @@ namespace bbtk
        }
 
        //=========================================================================
+       void vtkGObjectView::setState(int state)
+       {
+               _state = state;
+       }
+
+       //=========================================================================
+       int vtkGObjectView::getState()
+       {
+               return _state;
+       }
+
+       //=========================================================================
+       void vtkGObjectView::setRefreshWaiting()
+       {
+               ((vtkInteractorStyleBaseView*)_baseView->GetInteractorStyleBaseView())->SetRefresh_waiting();
+       }
+
+       //=========================================================================
+       void vtkGObjectView::removeFromScene()
+       {
+               removeVtkActors();
+               setRefreshWaiting();
+       }
+
+       //=========================================================================
+
 
 }  // EO namespace bbtk