30 #ifndef __vtkSplineRepresentation_h
31 #define __vtkSplineRepresentation_h
33 #include "vtkInteractionWidgetsModule.h"
49 #define VTK_PROJECTION_YZ 0
50 #define VTK_PROJECTION_XZ 1
51 #define VTK_PROJECTION_XY 2
52 #define VTK_PROJECTION_OBLIQUE 3
58 void PrintSelf(ostream& os, vtkIndent indent);
73 vtkSetMacro(InteractionState,
int);
83 vtkSetMacro(ProjectToPlane,
int);
84 vtkGetMacro(ProjectToPlane,
int);
85 vtkBooleanMacro(ProjectToPlane,
int);
93 vtkGetMacro(ProjectionNormal,
int);
95 { this->SetProjectionNormal(0); }
97 { this->SetProjectionNormal(1); }
99 { this->SetProjectionNormal(2); }
101 { this->SetProjectionNormal(3); }
109 void SetProjectionPosition(
double position);
110 vtkGetMacro(ProjectionPosition,
double);
125 vtkGetObjectMacro(HandleProperty, vtkProperty);
126 vtkGetObjectMacro(SelectedHandleProperty, vtkProperty);
132 vtkGetObjectMacro(LineProperty, vtkProperty);
133 vtkGetObjectMacro(SelectedLineProperty, vtkProperty);
138 virtual void SetNumberOfHandles(
int npts);
139 vtkGetMacro(NumberOfHandles,
int);
145 void SetResolution(
int resolution);
146 vtkGetMacro(Resolution,
int);
163 void SetHandlePosition(
int handle,
double x,
double y,
double z);
164 void SetHandlePosition(
int handle,
double xyz[3]);
165 void GetHandlePosition(
int handle,
double xyz[3]);
166 double* GetHandlePosition(
int handle);
167 vtkDoubleArray* GetHandlePositions();
176 void SetClosed(
int closed);
177 vtkGetMacro(Closed,
int);
178 vtkBooleanMacro(Closed,
int);
189 double GetSummedLength();
195 void InitializeHandles(vtkPoints* points);
220 void SetLineColor(
double r,
double g,
double b);
227 double LastEventPosition[3];
237 void ProjectPointsToPlane();
238 void ProjectPointsToOrthoPlane();
239 void ProjectPointsToObliquePlane();
249 void HighlightLine(
int highlight);
256 int HighlightHandle(vtkProp *prop);
257 virtual void SizeHandles();
258 void InsertHandleOnLine(
double* pos);
259 void EraseHandle(
const int&);
264 double LastPickPosition[3];
272 void MovePoint(
double *p1,
double *p2);
273 void Scale(
double *p1,
double *p2,
int X,
int Y);
274 void Translate(
double *p1,
double *p2);
275 void Spin(
double *p1,
double *p2,
double *vpn);
286 void CreateDefaultProperties();
290 void CalculateCentroid();
void SetProjectionNormalToZAxes()
vtkWidgetRepresentation for a spline.
double ProjectionPosition
#define VTK_PROJECTION_OBLIQUE
concrete dataset represents vertices, lines, polygons, and triangle strips
#define VTK_PROJECTION_YZ
vtkCellPicker * LinePicker
create a polygonal sphere centered at the origin
parametric function for 1D interpolating splines
vtkSphereSource ** HandleGeometry
vtkProperty * SelectedHandleProperty
vtkProperty * SelectedLineProperty
create an array of quadrilaterals located in a plane
vtkProperty * HandleProperty
vtkProperty * LineProperty
vtkParametricFunctionSource * ParametricFunctionSource
vtkCellPicker * HandlePicker
vtkParametricSpline * ParametricSpline
vtkPlaneSource * PlaneSource
void SetProjectionNormalToOblique()
void SetProjectionNormalToYAxes()
void SetProjectionNormalToXAxes()
tessellate parametric functions