VTK
vtkArcPlotter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkArcPlotter.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 =========================================================================*/
43 #ifndef vtkArcPlotter_h
44 #define vtkArcPlotter_h
45 
46 #include "vtkRenderingAnnotationModule.h" // For export macro
47 #include "vtkPolyDataAlgorithm.h"
48 
49 #define VTK_PLOT_SCALARS 1
50 #define VTK_PLOT_VECTORS 2
51 #define VTK_PLOT_NORMALS 3
52 #define VTK_PLOT_TCOORDS 4
53 #define VTK_PLOT_TENSORS 5
54 #define VTK_PLOT_FIELD_DATA 6
55 
56 class vtkCamera;
57 class vtkDataArray;
58 class vtkPointData;
59 class vtkPoints;
60 
62 {
63 public:
65  static vtkArcPlotter *New();
66 
68  void PrintSelf(ostream& os, vtkIndent indent);
69 
71 
73  virtual void SetCamera(vtkCamera*);
74  vtkGetObjectMacro(Camera,vtkCamera);
76 
78 
82  vtkSetMacro(PlotMode, int);
83  vtkGetMacro(PlotMode, int);
84  void SetPlotModeToPlotScalars() {this->SetPlotMode(VTK_PLOT_SCALARS);};
85  void SetPlotModeToPlotVectors() {this->SetPlotMode(VTK_PLOT_VECTORS);};
86  void SetPlotModeToPlotNormals() {this->SetPlotMode(VTK_PLOT_NORMALS);};
87  void SetPlotModeToPlotTCoords() {this->SetPlotMode(VTK_PLOT_TCOORDS);};
88  void SetPlotModeToPlotTensors() {this->SetPlotMode(VTK_PLOT_TENSORS);};
90  {this->SetPlotMode(VTK_PLOT_FIELD_DATA);};
92 
94 
97  vtkSetMacro(PlotComponent,int);
98  vtkGetMacro(PlotComponent,int);
100 
102 
103  vtkSetClampMacro(Radius,double,0.0,VTK_FLOAT_MAX);
104  vtkGetMacro(Radius,double);
106 
108 
110  vtkSetClampMacro(Height,double,0.0,VTK_FLOAT_MAX);
111  vtkGetMacro(Height,double);
113 
115 
118  vtkSetClampMacro(Offset, double, 0.0, VTK_FLOAT_MAX);
119  vtkGetMacro(Offset, double);
121 
123 
126  vtkSetMacro(UseDefaultNormal,int);
127  vtkGetMacro(UseDefaultNormal,int);
128  vtkBooleanMacro(UseDefaultNormal,int);
130 
132 
134  vtkSetVector3Macro(DefaultNormal,float);
135  vtkGetVectorMacro(DefaultNormal,float,3);
137 
139 
141  vtkSetClampMacro(FieldDataArray,int,0,VTK_INT_MAX);
142  vtkGetMacro(FieldDataArray,int);
144 
146  unsigned long GetMTime();
147 
148 protected:
149  vtkArcPlotter();
150  ~vtkArcPlotter();
151 
153  int OffsetPoint(vtkIdType ptId, vtkPoints *inPts, double n[3],
154  vtkPoints *newPts, double offset,
155  double *range, double val);
156  int ProcessComponents(vtkIdType numPts, vtkPointData *pd);
157 
159  int PlotMode;
161  double Radius;
162  double Height;
163  double Offset;
164  float DefaultNormal[3];
167 
168 private:
169  vtkDataArray *Data;
170  double *DataRange;
171  double *Tuple;
172  int NumberOfComponents;
173  int ActiveComponent;
174  int StartComp;
175  int EndComp;
176 
177 private:
178  vtkArcPlotter(const vtkArcPlotter&); // Not implemented.
179  void operator=(const vtkArcPlotter&); // Not implemented.
180 };
181 
182 #endif
represent and manipulate point attribute data
Definition: vtkPointData.h:36
Store vtkAlgorithm input/output information.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
#define VTK_INT_MAX
Definition: vtkType.h:132
void SetPlotModeToPlotTCoords()
Definition: vtkArcPlotter.h:87
#define VTK_PLOT_TCOORDS
Definition: vtkArcPlotter.h:52
#define VTK_PLOT_FIELD_DATA
Definition: vtkArcPlotter.h:54
int vtkIdType
Definition: vtkType.h:275
void SetPlotModeToPlotFieldData()
Definition: vtkArcPlotter.h:89
vtkCamera * Camera
#define VTK_PLOT_VECTORS
Definition: vtkArcPlotter.h:50
#define VTKRENDERINGANNOTATION_EXPORT
static vtkPolyDataAlgorithm * New()
void PrintSelf(ostream &os, vtkIndent indent)
#define VTK_FLOAT_MAX
Definition: vtkType.h:140
Superclass for algorithms that produce only polydata as output.
virtual unsigned long GetMTime()
a simple class to control print indentation
Definition: vtkIndent.h:38
a virtual camera for 3D rendering
Definition: vtkCamera.h:48
plot data along an arbitrary polyline
Definition: vtkArcPlotter.h:61
void SetPlotModeToPlotVectors()
Definition: vtkArcPlotter.h:85
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:54
#define VTK_PLOT_TENSORS
Definition: vtkArcPlotter.h:53
void SetPlotModeToPlotTensors()
Definition: vtkArcPlotter.h:88
void SetPlotModeToPlotNormals()
Definition: vtkArcPlotter.h:86
Store zero or more vtkInformation instances.
#define VTK_PLOT_NORMALS
Definition: vtkArcPlotter.h:51
void SetPlotModeToPlotScalars()
Definition: vtkArcPlotter.h:84
represent and manipulate 3D points
Definition: vtkPoints.h:38
#define VTK_PLOT_SCALARS
Definition: vtkArcPlotter.h:49