76 #ifndef vtkBrokenLineWidget_h
77 #define vtkBrokenLineWidget_h
80 #include "vtkInteractionWidgetsModule.h"
82 VTK_ABI_NAMESPACE_BEGIN
95 #define VTK_PROJECTION_YZ 0
96 #define VTK_PROJECTION_XZ 1
97 #define VTK_PROJECTION_XY 2
98 #define VTK_PROJECTION_OBLIQUE 3
119 double xmin,
double xmax,
double ymin,
double ymax,
double zmin,
double zmax)
override
121 this->Superclass::PlaceWidget(xmin, xmax, ymin, ymax, zmin, zmax);
146 vtkGetMacro(ProjectionNormal,
int);
160 void SetProjectionPosition(
double position);
161 vtkGetMacro(ProjectionPosition,
double);
180 virtual void SetSelectedHandleProperty(
vtkProperty*);
181 vtkGetObjectMacro(SelectedHandleProperty,
vtkProperty);
191 virtual void SetSelectedLineProperty(
vtkProperty*);
192 vtkGetObjectMacro(SelectedLineProperty,
vtkProperty);
199 virtual void SetNumberOfHandles(
int npts);
200 vtkGetMacro(NumberOfHandles,
int);
208 void SetHandlePosition(
int handle,
double x,
double y,
double z);
209 void SetHandlePosition(
int handle,
double xyz[3]);
210 void GetHandlePosition(
int handle,
double xyz[3]);
211 double* GetHandlePosition(
int handle);
217 double GetSummedLength();
230 vtkSetClampMacro(ProcessEvents,
vtkTypeBool, 0, 1);
240 vtkSetClampMacro(HandleSizeFactor,
double, 0., 100.);
241 vtkGetMacro(HandleSizeFactor,
double);
262 static void ProcessEventsHandler(
263 vtkObject*
object,
unsigned long event,
void* clientdata,
void* calldata);
266 void OnLeftButtonDown();
267 void OnLeftButtonUp();
268 void OnMiddleButtonDown();
269 void OnMiddleButtonUp();
270 void OnRightButtonDown();
271 void OnRightButtonUp();
281 void ProjectPointsToPlane();
282 void ProjectPointsToOrthoPlane();
283 void ProjectPointsToObliquePlane();
289 void HighlightLine(
int highlight);
291 void BuildRepresentation();
297 int HighlightHandle(
vtkProp* prop);
299 void InsertHandleOnLine(
double* pos);
300 void EraseHandle(
const int&);
312 void MovePoint(
double* p1,
double* p2);
313 void Scale(
double* p1,
double* p2,
int X,
int Y);
314 void Translate(
double* p1,
double* p2);
315 void Spin(
double* p1,
double* p2,
double* vpn);
326 void CreateDefaultProperties();
330 void CalculateCentroid();
341 VTK_ABI_NAMESPACE_END
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)
Methods for turning the interactor observer on and off, and determining its state.
concrete dataset represents vertices, lines, polygons, and triangle strips
virtual void RegisterPickers()
Register internal Pickers in the Picking Manager.
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
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
represent and manipulate 3D points