27 #ifndef __vtkControlPointsItem_h
28 #define __vtkControlPointsItem_h
57 vtkSetVector4Macro(UserBounds,
double);
58 vtkGetVector4Macro(UserBounds,
double)
72 void SelectPoint(
double* currentPoint);
75 void SelectAllPoints();
83 void DeselectPoint(
double* currentPoint);
86 void DeselectAllPoints();
90 void ToggleSelectPoint(
vtkIdType pointId);
95 void ToggleSelectPoint(
double* currentPoint);
107 bool IsOverPoint(
double* pos,
vtkIdType pointId);
111 vtkIdType GetControlPointId(
double* pos);
116 vtkGetMacro(StrokeMode,
bool);
124 vtkSetMacro(SwitchPointsMode,
bool);
125 vtkGetMacro(SwitchPointsMode,
bool);
131 virtual
vtkIdType AddPoint(
double* newPos);
136 virtual
vtkIdType RemovePoint(
double* pos);
139 virtual
int GetNumberOfPoints()const = 0;
144 virtual
void GetControlPoint(
vtkIdType index,
double *point) = 0;
148 virtual
void SetControlPoint(
vtkIdType index,
double *point) = 0;
163 virtual ~vtkControlPointsItem();
165 static
void CallComputePoints(
vtkObject* sender,
unsigned long event,
void* receiver,
void* params);
170 virtual
void ComputePoints();
171 virtual
unsigned long int GetControlPointsMTime() =0;
179 bool ClampPos(
double pos[2]);
200 void MovePoints(
float tX,
float tY);
202 virtual
void EditPoint(
float vtkNotUsed(tX),
float vtkNotUsed(tY));
210 double UserBounds[4];
213 float ScreenPointRadius;
214 float ItemPointRadius2;
217 bool SwitchPointsMode;
219 bool EnforceValidFunction;
221 bool PointAboutToBeDeleted;
223 bool PointAboutToBeToggled;
225 vtkControlPointsItem(const vtkControlPointsItem &);
226 void operator=(const vtkControlPointsItem &);
229 void ComputeBounds();
abstract base class for most VTK objects
Abstract class for control points items.
virtual void GetBounds(double bounds[4])
Class for drawing 2D primitives to a graphical context.
supports function callbacks
data structure to represent mouse events.
a simple class to control print indentation
represent and manipulate 2D points
Abstract class for 2D plots.
virtual void PrintSelf(ostream &os, vtkIndent indent)