#include "vtkPolyDataMapper.h"
#include "vtkActor.h"
-
//Includes std
#include <iostream>
-
namespace bbtk
{
-
class vtkGObjectView : public Observer
{
-
public:
-
//Constructors
vtkGObjectView();
~vtkGObjectView();
-
//Public methods
-
void setModel(GObjectModel *model);
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 removeFromScene();
-
virtual void update(int idController,int command);
-
//protected
virtual void createVtkObjects();
virtual void addVtkActors();
-
-
private:
-
//Private Attributes
- bool _isStartDragging;
-
+ 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;
-
-
+ double dragDifX;
+ double dragDifY;
//Private Methods
-
protected:
-
//Protected Attributes
-
wxVtkBaseView * _baseView;
GObjectModel * _model;
// vtkActor * _borderObjectActor;
vtkActor * _fillObjectActor;
vtkPolyDataMapper * _fillPolyMapper;
// vtkPolyDataMapper * _borderPolyMapper;
-
vtkPoints *_pts;
-
// State of the object (See GlobalConstants.h)
- int _state;
-
+ int _state;
//Protected Methods
virtual void removeVtkActors();
virtual void updateColors();
};
-
-
}
// namespace bbtk
#endif