 |
VTK
9.1.0
|
Go to the documentation of this file.
28 #ifndef vtkCurveRepresentation_h
29 #define vtkCurveRepresentation_h
31 #include "vtkInteractionWidgetsModule.h"
46 #define VTK_PROJECTION_YZ 0
47 #define VTK_PROJECTION_XZ 1
48 #define VTK_PROJECTION_XY 2
49 #define VTK_PROJECTION_OBLIQUE 3
74 vtkSetMacro(InteractionState,
int);
99 vtkGetMacro(ProjectionNormal,
int);
114 vtkGetMacro(ProjectionPosition,
double);
149 vtkGetMacro(NumberOfHandles,
int);
157 virtual
void SetDirectionalLine(
bool val);
159 virtual
bool GetDirectionalLine();
161 virtual
void DirectionalLineOn();
163 virtual
void DirectionalLineOff();
172 virtual
void SetDirectional(
bool val);
173 vtkGetMacro(Directional,
bool);
174 vtkBooleanMacro(Directional,
bool);
182 virtual
void SetHandlePosition(
int handle,
double x,
double y,
double z);
183 virtual
void SetHandlePosition(
int handle,
double xyz[3]);
184 virtual
void GetHandlePosition(
int handle,
double xyz[3]);
185 virtual
double* GetHandlePosition(
int handle);
212 virtual
double GetSummedLength() = 0;
228 void BuildRepresentation() override = 0;
229 int ComputeInteractionState(
int X,
int Y,
int modify = 0) override;
230 void StartWidgetInteraction(
double e[2]) override;
231 void WidgetInteraction(
double e[2]) override;
232 void EndWidgetInteraction(
double e[2]) override;
251 void SetLineColor(
double r,
double g,
double b);
256 void RegisterPickers() override;
264 void SetCurrentHandleIndex(
int index);
265 vtkGetMacro(CurrentHandleIndex,
int);
273 vtkGetMacro(TranslationAxis,
int);
274 vtkSetClampMacro(TranslationAxis,
int, -1, 2);
281 void SetXTranslationAxisOn() { this->TranslationAxis = Axis::XAxis; }
298 double LastEventPosition[3];
312 int NumberOfHandles = 0;
341 double LastPickPosition[3];
348 void Scale(
double* p1,
double* p2,
int X,
int Y);
350 void Spin(
double* p1,
double* p2,
double* vpn);
356 bool Directional =
false;
represent and manipulate 3D points
void SetZTranslationAxisOn()
Toggles constraint translation axis on/off.
void SetProjectionPosition(double position)
Set the position of poly line handles and points in terms of a plane's position.
virtual vtkHandleSource * GetHandleSource(int index)=0
void CreateDefaultProperties()
void Spin(double *p1, double *p2, double *vpn)
void SetProjectionNormalToYAxes()
void ProjectPointsToPlane()
void SetProjectionNormalToOblique()
virtual void SetNumberOfHandles(int npts)=0
Set/Get the number of handles for this widget.
#define VTK_PROJECTION_YZ
virtual int InsertHandleOnLine(double *pos)=0
Returns the position of insertion or -1 on fail.
void SetPlaneSource(vtkPlaneSource *plane)
Set up a reference to a vtkPlaneSource that could be from another widget object, e....
virtual int GetHandleIndex(vtkProp *prop)=0
returns handle index or -1 on fail
vtkCellPicker * LinePicker
vtkWidgetRepresentation base class for a widget that represents an curve that connects control points...
vtkProperty * SelectedHandleProperty
create an array of quadrilaterals located in a plane
void ProjectPointsToOrthoPlane()
#define VTK_DEPRECATED_IN_9_1_0(reason)
int HighlightHandle(vtkProp *prop)
void Scale(double *p1, double *p2, int X, int Y)
window superclass for vtkRenderWindow
#define VTK_PROJECTION_OBLIQUE
interface that can be inherited to define handler sources for any kind of interaction.
virtual void EraseHandle(const int &)
void ProjectPointsToObliquePlane()
double ProjectionPosition
void MovePoint(double *p1, double *p2)
void GetBounds(T a, double bds[6])
virtual vtkActor * GetHandleActor(int index)=0
represents an object (geometry & properties) in a rendered scene
virtual void PushHandle(double *pos)
bool IsTranslationConstrained()
Returns true if ContrainedAxis.
a simple class to control print indentation
void SetProjectionNormalToZAxes()
virtual void GetPolyData(vtkPolyData *pd)=0
Grab the polydata (including points) that defines the interpolating curve.
abstract specification for Viewports
vtkProperty * HandleProperty
abstract superclass for all actors, volumes and annotations
void HighlightLine(int highlight)
vtkCellPicker * HandlePicker
void Translate(double *p1, double *p2)
concrete dataset represents vertices, lines, polygons, and triangle strips
vtkProperty * SelectedLineProperty
vtkTypeBool ProjectToPlane
dynamic, self-adjusting array of double
represent surface properties of a geometric object
void SetYTranslationAxisOn()
Toggles constraint translation axis on/off.
void SetTranslationAxisOff()
Toggles constraint translation axis on/off.
virtual void SizeHandles()
vtkProperty * LineProperty
ray-cast cell picker for all kinds of Prop3Ds
void SetProjectionNormalToXAxes()
~vtkCurveRepresentation() override
vtkPlaneSource * PlaneSource
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.