27 #ifndef vtkCurveRepresentation_h
28 #define vtkCurveRepresentation_h
44 #define VTK_PROJECTION_YZ 0
45 #define VTK_PROJECTION_XZ 1
46 #define VTK_PROJECTION_XY 2
47 #define VTK_PROJECTION_OBLIQUE 3
69 vtkSetMacro(InteractionState,
int);
79 vtkSetMacro(ProjectToPlane,
int);
80 vtkGetMacro(ProjectToPlane,
int);
81 vtkBooleanMacro(ProjectToPlane,
int);
89 vtkGetMacro(ProjectionNormal,
int);
91 { this->SetProjectionNormal(0); }
93 { this->SetProjectionNormal(1); }
95 { this->SetProjectionNormal(2); }
97 { this->SetProjectionNormal(3); }
105 void SetProjectionPosition(
double position);
106 vtkGetMacro(ProjectionPosition,
double);
120 vtkGetObjectMacro(SelectedHandleProperty,
vtkProperty);
127 vtkGetObjectMacro(SelectedLineProperty,
vtkProperty);
132 virtual void SetNumberOfHandles(
int npts) = 0;
133 vtkGetMacro(NumberOfHandles,
int);
139 virtual void SetHandlePosition(
int handle,
double x,
double y,
double z);
140 virtual void SetHandlePosition(
int handle,
double xyz[3]);
141 virtual void GetHandlePosition(
int handle,
double xyz[3]);
142 virtual double* GetHandlePosition(
int handle);
150 void SetClosed(
int closed);
151 vtkGetMacro(Closed,
int);
152 vtkBooleanMacro(Closed,
int);
163 virtual double GetSummedLength() = 0;
194 void SetLineColor(
double r,
double g,
double b);
201 double LastEventPosition[3];
211 void ProjectPointsToPlane();
212 void ProjectPointsToOrthoPlane();
213 void ProjectPointsToObliquePlane();
220 void HighlightLine(
int highlight);
226 int HighlightHandle(
vtkProp *prop);
227 virtual void SizeHandles();
228 virtual void InsertHandleOnLine(
double* pos) = 0;
229 void EraseHandle(
const int&);
234 double LastPickPosition[3];
242 void MovePoint(
double *p1,
double *p2);
243 void Scale(
double *p1,
double *p2,
int X,
int Y);
244 void Translate(
double *p1,
double *p2);
245 void Spin(
double *p1,
double *p2,
double *vpn);
256 void CreateDefaultProperties();
260 void CalculateCentroid();
vtkCellPicker * LinePicker
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
double ProjectionPosition
vtkProperty * HandleProperty
abstract specification for Viewports
represent surface properties of a geometric object
vtkProperty * SelectedLineProperty
concrete dataset represents vertices, lines, polygons, and triangle strips
vtkProperty * SelectedHandleProperty
dynamic, self-adjusting array of double
void SetProjectionNormalToYAxes()
vtkCellPicker * HandlePicker
vtkPlaneSource * PlaneSource
window superclass for vtkRenderWindow
create a polygonal sphere centered at the origin
a simple class to control print indentation
vtkProperty * LineProperty
void SetProjectionNormalToOblique()
create an array of quadrilaterals located in a plane
void SetProjectionNormalToXAxes()
vtkSphereSource ** HandleGeometry
#define VTK_PROJECTION_OBLIQUE
ray-cast cell picker for all kinds of Prop3Ds
#define VTK_PROJECTION_YZ
represent and manipulate 3D points