X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=lib%2FEditorGraphicBBS%2FbbsVtkGUIEditorGraphic%2FvtkGObjectView.h;h=f502df6232e3f1c712fa439329de352c69b07f38;hb=17c7281fa9d788fe4df66173b1ab23cecc8918f5;hp=d10991ee60ee5e19a4f1e494f41655adb4090050;hpb=098558ac7780900858114a8ae01fe93847d67043;p=bbtkGEditor.git diff --git a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGObjectView.h b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGObjectView.h index d10991e..f502df6 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__ @@ -50,6 +51,7 @@ Version: $Revision$ //Includes creaMaracasVisu #include +#include //Includes vtk #include @@ -65,7 +67,7 @@ Version: $Revision$ namespace bbtk { - class vtkGObjectView //: public Observer + class vtkGObjectView : public Observer { public: @@ -75,30 +77,62 @@ 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 update(); + 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; + 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(); };