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*);
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:
151 
153  int OffsetPoint(vtkIdType ptId, vtkPoints *inPts, double n[3],
154  vtkPoints *newPts, double offset,
155  double *range, double val);
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
vtkPoints
represent and manipulate 3D points
Definition: vtkPoints.h:39
vtkArcPlotter
plot data along an arbitrary polyline
Definition: vtkArcPlotter.h:62
vtkRenderingAnnotationModule.h
VTK_INT_MAX
#define VTK_INT_MAX
Definition: vtkType.h:132
vtkGetObjectMacro
#define vtkGetObjectMacro(name, type)
Definition: vtkSetGet.h:232
vtkArcPlotter::PlotComponent
int PlotComponent
Definition: vtkArcPlotter.h:160
vtkPointData
represent and manipulate point attribute data
Definition: vtkPointData.h:37
vtkSetVector3Macro
#define vtkSetVector3Macro(name, type)
Definition: vtkSetGet.h:287
vtkIdType
int vtkIdType
Definition: vtkType.h:275
VTK_PLOT_FIELD_DATA
#define VTK_PLOT_FIELD_DATA
Definition: vtkArcPlotter.h:54
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkArcPlotter::~vtkArcPlotter
~vtkArcPlotter()
vtkArcPlotter::SetPlotModeToPlotVectors
void SetPlotModeToPlotVectors()
Definition: vtkArcPlotter.h:85
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkgl::n
GLclampd n
Definition: vtkgl.h:14370
vtkArcPlotter::GetMTime
unsigned long GetMTime()
VTK_PLOT_TCOORDS
#define VTK_PLOT_TCOORDS
Definition: vtkArcPlotter.h:52
vtkArcPlotter::vtkArcPlotter
vtkArcPlotter()
vtkDataArray
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:55
vtkGetVectorMacro
#define vtkGetVectorMacro(name, type, count)
Definition: vtkSetGet.h:424
vtkgl::range
GLenum GLint * range
Definition: vtkgl.h:14180
vtkArcPlotter::Offset
double Offset
Definition: vtkArcPlotter.h:163
vtkArcPlotter::SetPlotModeToPlotTCoords
void SetPlotModeToPlotTCoords()
Definition: vtkArcPlotter.h:87
vtkPolyDataAlgorithm.h
vtkgl::val
GLuint GLfloat * val
Definition: vtkgl.h:13789
vtkSetClampMacro
#define vtkSetClampMacro(name, type, min, max)
Definition: vtkSetGet.h:143
VTK_PLOT_VECTORS
#define VTK_PLOT_VECTORS
Definition: vtkArcPlotter.h:50
vtkArcPlotter::Camera
vtkCamera * Camera
Definition: vtkArcPlotter.h:158
vtkArcPlotter::SetPlotModeToPlotNormals
void SetPlotModeToPlotNormals()
Definition: vtkArcPlotter.h:86
vtkArcPlotter::RequestData
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkArcPlotter::SetPlotModeToPlotTensors
void SetPlotModeToPlotTensors()
Definition: vtkArcPlotter.h:88
vtkArcPlotter::FieldDataArray
int FieldDataArray
Definition: vtkArcPlotter.h:166
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkArcPlotter::Radius
double Radius
Definition: vtkArcPlotter.h:161
vtkCamera
a virtual camera for 3D rendering
Definition: vtkCamera.h:49
vtkArcPlotter::SetPlotModeToPlotScalars
void SetPlotModeToPlotScalars()
Definition: vtkArcPlotter.h:84
vtkArcPlotter::New
static vtkArcPlotter * New()
vtkgl::offset
GLintptr offset
Definition: vtkgl.h:11844
VTK_FLOAT_MAX
#define VTK_FLOAT_MAX
Definition: vtkType.h:140
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
VTK_PLOT_NORMALS
#define VTK_PLOT_NORMALS
Definition: vtkArcPlotter.h:51
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkArcPlotter::SetCamera
virtual void SetCamera(vtkCamera *)
vtkArcPlotter::OffsetPoint
int OffsetPoint(vtkIdType ptId, vtkPoints *inPts, double n[3], vtkPoints *newPts, double offset, double *range, double val)
vtkArcPlotter::SetPlotModeToPlotFieldData
void SetPlotModeToPlotFieldData()
Definition: vtkArcPlotter.h:89
vtkArcPlotter::UseDefaultNormal
int UseDefaultNormal
Definition: vtkArcPlotter.h:165
VTK_PLOT_SCALARS
#define VTK_PLOT_SCALARS
Definition: vtkArcPlotter.h:49
vtkArcPlotter::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkArcPlotter::ProcessComponents
int ProcessComponents(vtkIdType numPts, vtkPointData *pd)
vtkArcPlotter::PlotMode
int PlotMode
Definition: vtkArcPlotter.h:159
VTK_PLOT_TENSORS
#define VTK_PLOT_TENSORS
Definition: vtkArcPlotter.h:53
VTKRENDERINGANNOTATION_EXPORT
#define VTKRENDERINGANNOTATION_EXPORT
Definition: vtkRenderingAnnotationModule.h:15
vtkArcPlotter::Height
double Height
Definition: vtkArcPlotter.h:162
vtkPolyDataAlgorithm
Superclass for algorithms that produce only polydata as output.
Definition: vtkPolyDataAlgorithm.h:44