X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FEditorGraphicBBS%2FbbsVtkGUIEditorGraphic%2FvtkGObjectView.h;h=2f6e14ded6de95ef8ba5d200384951546a9581d9;hb=f6286f6851a4c0757cbacbee679d31bcc5a933bd;hp=d314081f5e723b1c6457c0eca4ed3bf9d33f66e3;hpb=64fc9f949ff91d6e9d448ca0567e6205ee4d5be4;p=bbtkGEditor.git diff --git a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGObjectView.h b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGObjectView.h index d314081..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 +#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,28 +77,59 @@ namespace bbtk ~vtkGObjectView(); //Public methods + void setModel(GObjectModel *model); - void setRenderer(vtkRenderer* renderer); + void setBaseView(wxVtkBaseView* baseView); void initVtkObjects(); + + 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 - vtkRenderer *_renderer; - 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(); };