87 #ifndef vtkBrokenLineWidget_h
88 #define vtkBrokenLineWidget_h
105 #define VTK_PROJECTION_YZ 0
106 #define VTK_PROJECTION_XZ 1
107 #define VTK_PROJECTION_XY 2
108 #define VTK_PROJECTION_OBLIQUE 3
124 {this->Superclass::PlaceWidget();}
125 void PlaceWidget(
double xmin,
double xmax,
double ymin,
double ymax,
126 double zmin,
double zmax)
127 {this->Superclass::PlaceWidget(xmin,xmax,ymin,ymax,zmin,zmax);}
138 vtkSetMacro(ProjectToPlane,
int);
139 vtkGetMacro(ProjectToPlane,
int);
140 vtkBooleanMacro(ProjectToPlane,
int);
148 vtkGetMacro(ProjectionNormal,
int);
150 { this->SetProjectionNormal(0); }
152 { this->SetProjectionNormal(1); }
154 { this->SetProjectionNormal(2); }
156 { this->SetProjectionNormal(3); }
164 void SetProjectionPosition(
double position);
165 vtkGetMacro(ProjectionPosition,
double);
182 virtual void SetSelectedHandleProperty(
vtkProperty*);
183 vtkGetObjectMacro(SelectedHandleProperty,
vtkProperty);
191 virtual void SetSelectedLineProperty(
vtkProperty*);
192 vtkGetObjectMacro(SelectedLineProperty,
vtkProperty);
197 virtual void SetNumberOfHandles(
int npts);
198 vtkGetMacro(NumberOfHandles,
int);
204 void SetHandlePosition(
int handle,
double x,
double y,
double z);
205 void SetHandlePosition(
int handle,
double xyz[3]);
206 void GetHandlePosition(
int handle,
double xyz[3]);
207 double* GetHandlePosition(
int handle);
211 double GetSummedLength();
220 vtkSetClampMacro(ProcessEvents,
int, 0, 1);
221 vtkGetMacro(ProcessEvents,
int);
222 vtkBooleanMacro( ProcessEvents,
int );
228 vtkSetClampMacro(HandleSizeFactor,
double, 0., 100.);
229 vtkGetMacro(HandleSizeFactor,
double);
250 static void ProcessEventsHandler(
vtkObject*
object,
256 void OnLeftButtonDown();
257 void OnLeftButtonUp();
258 void OnMiddleButtonDown();
259 void OnMiddleButtonUp();
260 void OnRightButtonDown();
261 void OnRightButtonUp();
271 void ProjectPointsToPlane();
272 void ProjectPointsToOrthoPlane();
273 void ProjectPointsToObliquePlane();
279 void HighlightLine(
int highlight);
281 void BuildRepresentation();
287 int HighlightHandle(
vtkProp *prop);
289 void InsertHandleOnLine(
double* pos);
290 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();
abstract superclass for all actors, volumes and annotations
represents an object (geometry & properties) in a rendered scene
abstract base class for most VTK objects
represent surface properties of a geometric object
virtual void SetEnabled(int)
concrete dataset represents vertices, lines, polygons, and triangle strips
virtual void RegisterPickers()
create a polygonal sphere centered at the origin
a simple class to control print indentation
create an array of quadrilaterals located in a plane
create a line defined by two end points
map vtkPolyData to graphics primitives
ray-cast cell picker for all kinds of Prop3Ds
represent and manipulate 3D points