18 #ifndef vtkCurveRepresentation_h
19 #define vtkCurveRepresentation_h
21 #include "vtkInteractionWidgetsModule.h"
22 #include "vtkLegacy.h"
26 VTK_ABI_NAMESPACE_BEGIN
38 #define VTK_PROJECTION_YZ 0
39 #define VTK_PROJECTION_XZ 1
40 #define VTK_PROJECTION_XY 2
41 #define VTK_PROJECTION_OBLIQUE 3
61 #if !defined(VTK_LEGACY_REMOVE)
70 vtkSetMacro(InteractionState,
int);
95 vtkGetMacro(ProjectionNormal,
int);
109 void SetProjectionPosition(
double position);
110 vtkGetMacro(ProjectionPosition,
double);
128 vtkGetObjectMacro(SelectedHandleProperty,
vtkProperty);
137 vtkGetObjectMacro(SelectedLineProperty,
vtkProperty);
144 virtual void SetNumberOfHandles(
int npts) = 0;
145 vtkGetMacro(NumberOfHandles,
int);
154 virtual void SetDirectional(
bool val);
155 vtkGetMacro(Directional,
bool);
156 vtkBooleanMacro(Directional,
bool);
164 virtual void SetHandlePosition(
int handle,
double x,
double y,
double z);
165 virtual void SetHandlePosition(
int handle,
double xyz[3]);
166 virtual void GetHandlePosition(
int handle,
double xyz[3]);
167 virtual double* GetHandlePosition(
int handle);
194 virtual double GetSummedLength() = 0;
233 void SetLineColor(
double r,
double g,
double b);
239 void SetInteractionColor(
double,
double,
double);
241 void SetForegroundColor(
double,
double,
double);
256 void SetCurrentHandleIndex(
int index);
257 vtkGetMacro(CurrentHandleIndex,
int);
265 vtkGetMacro(TranslationAxis,
int);
266 vtkSetClampMacro(TranslationAxis,
int, -1, 2);
299 double LastEventPosition[3];
309 void ProjectPointsToPlane();
310 void ProjectPointsToOrthoPlane();
311 void ProjectPointsToObliquePlane();
313 int NumberOfHandles = 0;
318 void HighlightLine(
int highlight);
319 int HighlightHandle(
vtkProp* prop);
328 virtual int GetHandleIndex(
vtkProp* prop) = 0;
329 virtual void SizeHandles();
334 virtual int InsertHandleOnLine(
double* pos) = 0;
336 virtual void PushHandle(
double* pos);
337 virtual void EraseHandle(
const int&);
342 double LastPickPosition[3];
348 void MovePoint(
double* p1,
double* p2);
349 void Scale(
double* p1,
double* p2,
int X,
int Y);
350 void Translate(
double* p1,
double* p2);
351 void Spin(
double* p1,
double* p2,
double* vpn);
357 bool Directional =
false;
365 void CreateDefaultProperties();
369 void CalculateCentroid();
377 VTK_ABI_NAMESPACE_END
vtkCellPicker * LinePicker
abstract superclass for all actors, volumes and annotations
base class for a widget that represents a curve that connects control points.
void SetTranslationAxisOff()
Toggles constraint translation axis on/off.
void SetProjectionNormalToZAxes()
represents an object (geometry & properties) in a rendered scene
double ProjectionPosition
vtkProperty * HandleProperty
abstract specification for Viewports
represent surface properties of a geometric object
#define VTK_DEPRECATED_IN_9_2_0(reason)
interface that can be inherited to define handler sources for any kind of interaction.
void SetZTranslationAxisOn()
Toggles constraint translation axis on/off.
vtkProperty * SelectedLineProperty
concrete dataset represents vertices, lines, polygons, and triangle strips
vtkProperty * SelectedHandleProperty
dynamic, self-adjusting array of double
void SetProjectionNormalToYAxes()
vtkTypeBool ProjectToPlane
vtkCellPicker * HandlePicker
vtkPlaneSource * PlaneSource
window superclass for vtkRenderWindow
void SetYTranslationAxisOn()
Toggles constraint translation axis on/off.
a simple class to control print indentation
vtkProperty * LineProperty
void SetProjectionNormalToOblique()
void SetInteractionColor(double c[3])
Set the color when unselected and selected.
create an array of quadrilaterals located in a plane
void SetProjectionNormalToXAxes()
bool IsTranslationConstrained()
Returns true if ConstrainedAxis.
#define VTK_PROJECTION_OBLIQUE
ray-cast cell picker for all kinds of Prop3Ds
void SetXTranslationAxisOn()
Toggles constraint translation axis on/off.
#define VTK_PROJECTION_YZ
void SetForegroundColor(double c[3])
Set the color when unselected and selected.
represent and manipulate 3D points