28 #ifndef vtkCurveRepresentation_h
29 #define vtkCurveRepresentation_h
31 #include "vtkInteractionWidgetsModule.h"
45 #define VTK_PROJECTION_YZ 0
46 #define VTK_PROJECTION_XZ 1
47 #define VTK_PROJECTION_XY 2
48 #define VTK_PROJECTION_OBLIQUE 3
85 vtkGetMacro(ProjectToPlane,
int);
96 vtkGetMacro(ProjectionNormal,
int);
98 { this->SetProjectionNormal(0); }
100 { this->SetProjectionNormal(1); }
102 { this->SetProjectionNormal(2); }
104 { this->SetProjectionNormal(3); }
114 void SetProjectionPosition(
double position);
115 vtkGetMacro(ProjectionPosition,
double);
133 vtkGetObjectMacro(SelectedHandleProperty,
vtkProperty);
142 vtkGetObjectMacro(SelectedLineProperty,
vtkProperty);
149 virtual void SetNumberOfHandles(
int npts) = 0;
150 vtkGetMacro(NumberOfHandles,
int);
158 virtual void SetHandlePosition(
int handle,
double x,
double y,
double z);
159 virtual void SetHandlePosition(
int handle,
double xyz[3]);
160 virtual void GetHandlePosition(
int handle,
double xyz[3]);
161 virtual double* GetHandlePosition(
int handle);
171 void SetClosed(
int closed);
172 vtkGetMacro(Closed,
int);
188 virtual double GetSummedLength() = 0;
205 int ComputeInteractionState(
int X,
int Y,
int modify=0) VTK_OVERRIDE;
206 void StartWidgetInteraction(
double e[2]) VTK_OVERRIDE;
207 void WidgetInteraction(
double e[2]) VTK_OVERRIDE;
208 void EndWidgetInteraction(
double e[2]) VTK_OVERRIDE;
209 double *GetBounds() VTK_OVERRIDE;
216 void ReleaseGraphicsResources(
vtkWindow*) VTK_OVERRIDE;
217 int RenderOpaqueGeometry(
vtkViewport*) VTK_OVERRIDE;
218 int RenderTranslucentPolygonalGeometry(
vtkViewport*) VTK_OVERRIDE;
220 int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
227 void SetLineColor(
double r,
double g,
double b);
231 ~vtkCurveRepresentation() VTK_OVERRIDE;
233 double LastEventPosition[3];
237 int ProjectionNormal;
238 double ProjectionPosition;
243 void ProjectPointsToPlane();
244 void ProjectPointsToOrthoPlane();
245 void ProjectPointsToObliquePlane();
252 void HighlightLine(
int highlight);
258 int HighlightHandle(
vtkProp *prop);
259 virtual
void SizeHandles();
260 virtual
void InsertHandleOnLine(
double* pos) = 0;
261 void EraseHandle(const
int&);
266 double LastPickPosition[3];
268 int CurrentHandleIndex;
271 void RegisterPickers() VTK_OVERRIDE;
274 void MovePoint(
double *p1,
double *p2);
275 void Scale(
double *p1,
double *p2,
int X,
int Y);
276 void Translate(
double *p1,
double *p2);
277 void Spin(
double *p1,
double *p2,
double *vpn);
288 void CreateDefaultProperties();
292 void CalculateCentroid();
295 vtkCurveRepresentation(const vtkCurveRepresentation&) VTK_DELETE_FUNCTION;
296 void operator=(const vtkCurveRepresentation&) VTK_DELETE_FUNCTION;
abstract superclass for all actors, volumes and annotations
vtkWidgetRepresentation base class for a widget that represents an curve that connects control points...
void SetProjectionNormalToZAxes()
represents an object (geometry & properties) in a rendered scene
abstract specification for Viewports
represent surface properties of a geometric object
concrete dataset represents vertices, lines, polygons, and triangle strips
dynamic, self-adjusting array of double
void SetProjectionNormalToYAxes()
window superclass for vtkRenderWindow
create a polygonal sphere centered at the origin
a simple class to control print indentation
void SetProjectionNormalToOblique()
create an array of quadrilaterals located in a plane
void SetProjectionNormalToXAxes()
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
#define VTK_PROJECTION_OBLIQUE
ray-cast cell picker for all kinds of Prop3Ds
#define VTK_PROJECTION_YZ
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
represent and manipulate 3D points