X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FEditorGraphicBBS%2FbbsVtkGUIEditorGraphic%2FvtkGObjectView.h;h=2f6e14ded6de95ef8ba5d200384951546a9581d9;hb=d80f7d5db196e72294b6fb40cfe2738b5218675b;hp=5c15592c3bc160911387dda6fa2527f933a3335c;hpb=522d684c97b10743148e2fbf2371cd02ff1fa42e;p=bbtkGEditor.git diff --git a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGObjectView.h b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGObjectView.h index 5c15592..2f6e14d 100644 --- a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGObjectView.h +++ b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGObjectView.h @@ -35,10 +35,11 @@ Version: $Revision$ * \brief Class bbtk::vtkGObjectView : abstract black-box interface. */ -/** -* \class bbtk::vtkGObjectView -* \brief -*/ +/**** +* Design and Developpement of BBTK GEditor +* Ricardo A Corredor J +* RaC - 2010 +****/ #ifndef __vtkGObjectView_h__ #define __vtkGObjectView_h__ @@ -46,13 +47,14 @@ Version: $Revision$ //Includes same project #include "GlobalConstants.h" #include "GObjectModel.h" +#include "Observer.h" //Includes creaMaracasVisu #include +#include //Includes vtk #include - #include "vtkConeSource.h" #include "vtkPolyDataMapper.h" #include "vtkActor.h" @@ -65,7 +67,7 @@ Version: $Revision$ namespace bbtk { - class vtkGObjectView + class vtkGObjectView : public Observer { public: @@ -75,30 +77,59 @@ namespace bbtk ~vtkGObjectView(); //Public methods + void setModel(GObjectModel *model); void setBaseView(wxVtkBaseView* baseView); void initVtkObjects(); - bool isPointInside(int X,int Y); + void setStartDragging(bool param); + + void setState(int state); + int getState(); + + // Method to force a vtk refresh to the list of controllers of the wxVtkBaseView + void setRefreshWaiting(); + + virtual bool isPointInside(int X,int Y); + virtual void moveObject(int X, int Y); - virtual void refresh(); + virtual void removeFromScene(); + virtual void update(int idController,int command); + private: //Private Attributes + bool _isStartDragging; + + //Makes a difference between the first point clicked and the new position, in order to move the selected objects + double dragDifX; + double dragDifY; + //Private Methods protected: //Protected Attributes - wxVtkBaseView *_baseView; - GObjectModel *_model; - vtkActor *_objectActor; + + wxVtkBaseView * _baseView; + GObjectModel * _model; + vtkActor * _borderObjectActor; + vtkActor * _fillObjectActor; + vtkPolyDataMapper * _fillPolyMapper; + vtkPolyDataMapper * _borderPolyMapper; + + vtkPoints *_pts; + // State of the object (See GlobalConstants.h) + int _state; + //Protected Methods virtual void createVtkObjects(); virtual void addVtkActors(); + virtual void removeVtkActors(); + virtual void updateColors(); };