X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FEditorGraphicBBS%2FbbsVtkGUIEditorGraphic%2FvtkGObjectView.cxx;h=79026ba73c1b7d1aea6d60a8da0d51441460a497;hb=17c7281fa9d788fe4df66173b1ab23cecc8918f5;hp=0f748b84285bbd570f084bd5e3bf63a3e6b03513;hpb=64fc9f949ff91d6e9d448ca0567e6205ee4d5be4;p=bbtkGEditor.git diff --git a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGObjectView.cxx b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGObjectView.cxx index 0f748b8..79026ba 100644 --- a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGObjectView.cxx +++ b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGObjectView.cxx @@ -43,8 +43,12 @@ namespace bbtk //========================================================================= vtkGObjectView::vtkGObjectView() { - _renderer=NULL; - _objectActor=NULL; + _baseView=NULL; + _borderObjectActor=NULL; + _fillObjectActor=NULL; + _isStartDragging=false; + + _state = NOTHING_HAPPENS; } //========================================================================= @@ -53,9 +57,9 @@ namespace bbtk } //========================================================================= - void vtkGObjectView::refresh() + void vtkGObjectView::update(int idController,int command)//virtual { - //paint(); + //virtual } //========================================================================= @@ -67,9 +71,9 @@ namespace bbtk //========================================================================= - void vtkGObjectView::setRenderer(vtkRenderer* renderer) + void vtkGObjectView::setBaseView(wxVtkBaseView* baseView) { - _renderer=renderer; + _baseView=baseView; } //========================================================================= @@ -89,14 +93,99 @@ namespace bbtk //========================================================================= + void vtkGObjectView::updateColors() //virtual + { + //virtual + } + + //========================================================================= + void vtkGObjectView::addVtkActors()//virtual + { + _baseView->GetRenderer()->AddActor(_fillObjectActor); + _baseView->GetRenderer()->Render(); + } + + //========================================================================= + + void vtkGObjectView::removeVtkActors()//virtual + { + _baseView->GetRenderer()->RemoveActor(_fillObjectActor); + _baseView->GetRenderer()->Render(); + } + + //========================================================================= + + bool vtkGObjectView::isPointInside(int X,int Y) //virtual { - _renderer->AddActor(_objectActor); - _renderer->Render(); + // RaC In the actual version, always z=900 + double xx=X,yy=Y,zz=900; + _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; + _baseView->TransCoordScreenToWorld(xx,yy,zz); + + if(_isStartDragging) + { + _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::setStartDragging(bool 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