]> Creatis software - bbtkGEditor.git/blobdiff - lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGObjectView.cxx
v1.1.0 BUG 1400
[bbtkGEditor.git] / lib / EditorGraphicBBS / bbsVtkGUIEditorGraphic / vtkGObjectView.cxx
index 98cfc8584b1204378b2aa597ad1ce28a583bf03e..405e5fe1265b3c6aaacb08db56cd5dd72aa7680e 100644 (file)
@@ -43,9 +43,12 @@ namespace bbtk
        //=========================================================================
        vtkGObjectView::vtkGObjectView()
        {
-               _baseView=NULL;
-               _objectActor=NULL;
-               _isFirstDragging=false;
+               _baseView                       = NULL;
+               _borderObjectActor      = NULL;
+               _fillObjectActor        = NULL;
+               _isStartDragging        = false;
+               
+               _state                          = NOTHING_HAPPENS;
        }
 
        //=========================================================================
@@ -54,7 +57,7 @@ namespace bbtk
        }
        //=========================================================================
 
-       void vtkGObjectView::update(int command)//virtual
+       void vtkGObjectView::update(int idController,int command)//virtual
        {
                //virtual
        }
@@ -63,14 +66,14 @@ namespace bbtk
        
        void vtkGObjectView::setModel(GObjectModel *model)
        {
-               _model=model;
+               _model = model;
        }
 
        //=========================================================================
        
        void vtkGObjectView::setBaseView(wxVtkBaseView* baseView)
        {
-               _baseView=baseView;
+               _baseView = baseView;
        }
 
        //=========================================================================
@@ -90,9 +93,24 @@ namespace bbtk
 
        //=========================================================================
 
+       void vtkGObjectView::updateColors() //virtual
+       {
+               //virtual
+       }
+
+       //=========================================================================
+
        void vtkGObjectView::addVtkActors()//virtual
+       {               
+               _baseView->GetRenderer()->AddActor(_fillObjectActor);
+               _baseView->GetRenderer()->Render();
+       }
+
+       //=========================================================================
+
+       void vtkGObjectView::removeVtkActors()//virtual
        {
-               _baseView->GetRenderer()->AddActor(_objectActor);
+               _baseView->GetRenderer()->RemoveActor(_fillObjectActor);
                _baseView->GetRenderer()->Render();
        }
 
@@ -100,8 +118,8 @@ namespace bbtk
 
        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);
        }
@@ -110,37 +128,64 @@ namespace bbtk
 
        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(_isFirstDragging)
+               if(_isStartDragging)
                {
-                       _isFirstDragging=false;
+                       _isStartDragging=false;
                        
                        double xInic,yInic,zInic;
                        _model->getInicPoint(xInic,yInic,zInic);                        
                        dragDifX=xx-xInic;
                        dragDifY=yy-yInic;      
                }
-
                _model->move(xx-dragDifX,yy-dragDifY,zz);
 
        }
 
        //=========================================================================
 
-       void vtkGObjectView::isFirstDragging(bool param)
+       void vtkGObjectView::setStartDragging(bool param)
        {
-               _isFirstDragging=param;
+               _isStartDragging=param;
                dragDifX=0;
                dragDifX=0;
        }
 
        //=========================================================================
 
+       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
 
 // EOF