VTK
vtkSplineRepresentation.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkSplineRepresentation.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
30 #ifndef vtkSplineRepresentation_h
31 #define vtkSplineRepresentation_h
32 
33 #include "vtkInteractionWidgetsModule.h" // For export macro
34 #include "vtkCurveRepresentation.h"
35 
36 class vtkActor;
37 class vtkCellPicker;
38 class vtkDoubleArray;
41 class vtkPlaneSource;
42 class vtkPoints;
43 class vtkPolyData;
44 class vtkProp;
45 class vtkProperty;
46 class vtkSphereSource;
47 class vtkTransform;
48 
50 {
51 public:
52  static vtkSplineRepresentation* New();
54  void PrintSelf(ostream& os, vtkIndent indent);
55 
62  void GetPolyData(vtkPolyData *pd);
63 
65  virtual void SetNumberOfHandles(int npts);
66 
68 
70  void SetResolution(int resolution);
71  vtkGetMacro(Resolution,int);
73 
75 
80  virtual void SetParametricSpline(vtkParametricSpline*);
81  vtkGetObjectMacro(ParametricSpline,vtkParametricSpline);
83 
86 
90  double GetSummedLength();
91 
97 
101  virtual void BuildRepresentation();
102 
103 //BTX
104 protected:
107 
108  // The spline
111 
112  // The number of line segments used to represent the spline.
114 
115  // Specialized method to insert a handle on the poly line.
116  virtual void InsertHandleOnLine(double* pos);
117 
118 private:
119  vtkSplineRepresentation(const vtkSplineRepresentation&); // Not implemented.
120  void operator=(const vtkSplineRepresentation&); // Not implemented.
121 //ETX
122 };
123 
124 #endif
125 
126 
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:52
vtkWidgetRepresentation base class for a widget that represents an curve that connects control points...
representation for a spline.
virtual void GetPolyData(vtkPolyData *pd)=0
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:50
virtual void BuildRepresentation()=0
virtual void InitializeHandles(vtkPoints *points)=0
represent surface properties of a geometric object
Definition: vtkProperty.h:63
virtual void InsertHandleOnLine(double *pos)=0
virtual double GetSummedLength()=0
describes linear transformations via a 4x4 matrix
Definition: vtkTransform.h:59
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:84
virtual void SetNumberOfHandles(int npts)=0
dynamic, self-adjusting array of double
#define VTKINTERACTIONWIDGETS_EXPORT
create a polygonal sphere centered at the origin
parametric function for 1D interpolating splines
a simple class to control print indentation
Definition: vtkIndent.h:38
virtual vtkDoubleArray * GetHandlePositions()=0
void PrintSelf(ostream &os, vtkIndent indent)
create an array of quadrilaterals located in a plane
vtkParametricFunctionSource * ParametricFunctionSource
ray-cast cell picker for all kinds of Prop3Ds
Definition: vtkCellPicker.h:68
vtkParametricSpline * ParametricSpline
static vtkObject * New()
represent and manipulate 3D points
Definition: vtkPoints.h:38
tessellate parametric functions