Go to the documentation of this file.
85 #ifndef vtkBrokenLineWidget_h
86 #define vtkBrokenLineWidget_h
88 #include "vtkInteractionWidgetsModule.h"
103 #define VTK_PROJECTION_YZ 0
104 #define VTK_PROJECTION_XZ 1
105 #define VTK_PROJECTION_XY 2
106 #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)
override
129 {this->Superclass::PlaceWidget(xmin,xmax,ymin,ymax,zmin,zmax);}
153 vtkGetMacro(ProjectionNormal,
int);
155 { this->SetProjectionNormal(0); }
157 { this->SetProjectionNormal(1); }
159 { this->SetProjectionNormal(2); }
161 { this->SetProjectionNormal(3); }
171 void SetProjectionPosition(
double position);
172 vtkGetMacro(ProjectionPosition,
double);
191 virtual void SetSelectedHandleProperty(
vtkProperty*);
192 vtkGetObjectMacro(SelectedHandleProperty,
vtkProperty);
202 virtual void SetSelectedLineProperty(
vtkProperty*);
203 vtkGetObjectMacro(SelectedLineProperty,
vtkProperty);
210 virtual void SetNumberOfHandles(
int npts);
211 vtkGetMacro(NumberOfHandles,
int);
219 void SetHandlePosition(
int handle,
double x,
double y,
double z);
220 void SetHandlePosition(
int handle,
double xyz[3]);
221 void GetHandlePosition(
int handle,
double xyz[3]);
222 double* GetHandlePosition(
int handle);
228 double GetSummedLength();
241 vtkSetClampMacro(ProcessEvents,
vtkTypeBool, 0, 1);
251 vtkSetClampMacro(HandleSizeFactor,
double, 0., 100.);
252 vtkGetMacro(HandleSizeFactor,
double);
273 static void ProcessEventsHandler(
vtkObject*
object,
279 void OnLeftButtonDown();
280 void OnLeftButtonUp();
281 void OnMiddleButtonDown();
282 void OnMiddleButtonUp();
283 void OnRightButtonDown();
284 void OnRightButtonUp();
294 void ProjectPointsToPlane();
295 void ProjectPointsToOrthoPlane();
296 void ProjectPointsToObliquePlane();
302 void HighlightLine(
int highlight);
304 void BuildRepresentation();
310 int HighlightHandle(
vtkProp *prop);
312 void InsertHandleOnLine(
double* pos);
313 void EraseHandle(
const int&);
325 void MovePoint(
double *p1,
double *p2);
326 void Scale(
double *p1,
double *p2,
int X,
int Y);
327 void Translate(
double *p1,
double *p2);
328 void Spin(
double *p1,
double *p2,
double *vpn);
339 void CreateDefaultProperties();
343 void CalculateCentroid();
map vtkPolyData to graphics primitives
represent and manipulate 3D points
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
create an array of quadrilaterals located in a plane
abstract base class for most VTK objects
create a polygonal sphere centered at the origin
represents an object (geometry & properties) in a rendered scene
virtual void SetEnabled(int)
Methods for turning the interactor observer on and off, and determining its state.
a simple class to control print indentation
create a line defined by two end points
virtual void RegisterPickers()
Register internal Pickers in the Picking Manager.
abstract superclass for all actors, volumes and annotations
concrete dataset represents vertices, lines, polygons, and triangle strips
represent surface properties of a geometric object
ray-cast cell picker for all kinds of Prop3Ds