]> Creatis software - bbtkGEditor.git/blobdiff - lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGObjectView.cxx
Changes to manage the events capturing in the vtkWorld. Some problems with that ....
[bbtkGEditor.git] / lib / EditorGraphicBBS / bbsVtkGUIEditorGraphic / vtkGObjectView.cxx
index 0f748b84285bbd570f084bd5e3bf63a3e6b03513..7e4d139bf5146c0badb86b7d431e99dabc44ef45 100644 (file)
@@ -43,7 +43,7 @@ namespace bbtk
        //=========================================================================
        vtkGObjectView::vtkGObjectView()
        {
-               _renderer=NULL;
+               _baseView=NULL;
                _objectActor=NULL;
        }
 
@@ -55,6 +55,16 @@ namespace bbtk
 
        void vtkGObjectView::refresh()
        {
+               if(_model->getState()==NOTHING_HAPPENS)
+               {
+                       _objectActor->GetProperty()->SetColor(0,0,0);
+               }
+
+               if(_model->getState()==HIGHLIGHTED)
+               {
+                       _objectActor->GetProperty()->SetColor(1,0,0);
+               }
+
                //paint();
        }
 
@@ -67,9 +77,9 @@ namespace bbtk
 
        //=========================================================================
        
-       void vtkGObjectView::setRenderer(vtkRenderer* renderer)
+       void vtkGObjectView::setBaseView(wxVtkBaseView* baseView)
        {
-               _renderer=renderer;
+               _baseView=baseView;
        }
 
        //=========================================================================
@@ -91,8 +101,17 @@ namespace bbtk
 
        void vtkGObjectView::addVtkActors()//virtual
        {
-               _renderer->AddActor(_objectActor);
-               _renderer->Render();
+               _baseView->GetRenderer()->AddActor(_objectActor);
+               _baseView->GetRenderer()->Render();
+       }
+
+       //=========================================================================
+
+       bool vtkGObjectView::isPointInside(int X,int Y) 
+       {
+               double xx=X,yy=Y,zz=0;
+               _baseView->TransCoordScreenToWorld(xx,yy,zz);
+               return _model->isPointInside(xx,yy,zz);
        }
 
        //=========================================================================