89 #ifndef __vtkBrokenLineWidget_h
90 #define __vtkBrokenLineWidget_h
92 #include "vtkInteractionWidgetsModule.h"
107 #define VTK_PROJECTION_YZ 0
108 #define VTK_PROJECTION_XZ 1
109 #define VTK_PROJECTION_XY 2
110 #define VTK_PROJECTION_OBLIQUE 3
126 {this->Superclass::PlaceWidget();}
127 void PlaceWidget(
double xmin,
double xmax,
double ymin,
double ymax,
128 double zmin,
double zmax)
129 {this->Superclass::PlaceWidget(xmin,xmax,ymin,ymax,zmin,zmax);}
140 vtkSetMacro(ProjectToPlane,
int);
141 vtkGetMacro(ProjectToPlane,
int);
142 vtkBooleanMacro(ProjectToPlane,
int);
150 vtkGetMacro(ProjectionNormal,
int);
151 void SetProjectionNormalToXAxes()
152 { this->SetProjectionNormal(0); }
153 void SetProjectionNormalToYAxes()
154 { this->SetProjectionNormal(1); }
155 void SetProjectionNormalToZAxes()
156 { this->SetProjectionNormal(2); }
157 void SetProjectionNormalToOblique()
158 { this->SetProjectionNormal(3); }
166 void SetProjectionPosition(
double position);
167 vtkGetMacro(ProjectionPosition,
double);
184 virtual void SetSelectedHandleProperty(
vtkProperty*);
185 vtkGetObjectMacro(SelectedHandleProperty,
vtkProperty);
193 virtual void SetSelectedLineProperty(
vtkProperty*);
194 vtkGetObjectMacro(SelectedLineProperty,
vtkProperty);
199 virtual void SetNumberOfHandles(
int npts);
200 vtkGetMacro(NumberOfHandles,
int);
206 void SetHandlePosition(
int handle,
double x,
double y,
double z);
207 void SetHandlePosition(
int handle,
double xyz[3]);
208 void GetHandlePosition(
int handle,
double xyz[3]);
209 double* GetHandlePosition(
int handle);
213 double GetSummedLength();
222 vtkSetClampMacro(ProcessEvents,
int, 0, 1);
223 vtkGetMacro(ProcessEvents,
int);
224 vtkBooleanMacro( ProcessEvents,
int );
230 vtkSetClampMacro(HandleSizeFactor,
double, 0., 100.);
231 vtkGetMacro(HandleSizeFactor,
double);
253 static void ProcessEventsHandler(
vtkObject*
object,
259 void OnLeftButtonDown();
260 void OnLeftButtonUp();
261 void OnMiddleButtonDown();
262 void OnMiddleButtonUp();
263 void OnRightButtonDown();
264 void OnRightButtonUp();
274 void ProjectPointsToPlane();
275 void ProjectPointsToOrthoPlane();
276 void ProjectPointsToObliquePlane();
282 void HighlightLine(
int highlight);
284 void BuildRepresentation();
290 int HighlightHandle(
vtkProp *prop);
292 void InsertHandleOnLine(
double* pos);
293 void EraseHandle(
const int&);
302 void MovePoint(
double *p1,
double *p2);
303 void Scale(
double *p1,
double *p2,
int X,
int Y);
304 void Translate(
double *p1,
double *p2);
305 void Spin(
double *p1,
double *p2,
double *vpn);
316 void CreateDefaultProperties();
320 void CalculateCentroid();