00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00047
#ifndef __vtkArcPlotter_h
00048
#define __vtkArcPlotter_h
00049
00050
#include "vtkPolyDataToPolyDataFilter.h"
00051
00052 #define VTK_PLOT_SCALARS 1
00053 #define VTK_PLOT_VECTORS 2
00054 #define VTK_PLOT_NORMALS 3
00055 #define VTK_PLOT_TCOORDS 4
00056 #define VTK_PLOT_TENSORS 5
00057 #define VTK_PLOT_FIELD_DATA 6
00058
00059
class vtkCamera;
00060
class vtkDataArray;
00061
class vtkPointData;
00062
class vtkPoints;
00063
00064 class VTK_HYBRID_EXPORT vtkArcPlotter :
public vtkPolyDataToPolyDataFilter
00065 {
00066
public:
00068
static vtkArcPlotter *
New();
00069
00070 vtkTypeRevisionMacro(vtkArcPlotter,
vtkPolyDataToPolyDataFilter);
00071
void PrintSelf(ostream& os,
vtkIndent indent);
00072
00074
00076
virtual void SetCamera(
vtkCamera*);
00077 vtkGetObjectMacro(Camera,
vtkCamera);
00079
00081
00085 vtkSetMacro(PlotMode,
int);
00086 vtkGetMacro(PlotMode,
int);
00087 void SetPlotModeToPlotScalars() {this->SetPlotMode(
VTK_PLOT_SCALARS);};
00088 void SetPlotModeToPlotVectors() {this->SetPlotMode(
VTK_PLOT_VECTORS);};
00089 void SetPlotModeToPlotNormals() {this->SetPlotMode(
VTK_PLOT_NORMALS);};
00090 void SetPlotModeToPlotTCoords() {this->SetPlotMode(
VTK_PLOT_TCOORDS);};
00091 void SetPlotModeToPlotTensors() {this->SetPlotMode(
VTK_PLOT_TENSORS);};
00092 void SetPlotModeToPlotFieldData()
00093 {this->SetPlotMode(
VTK_PLOT_FIELD_DATA);};
00095
00097
00100 vtkSetMacro(PlotComponent,
int);
00101 vtkGetMacro(PlotComponent,
int);
00103
00105
00106 vtkSetClampMacro(Radius,
float,0.0,VTK_LARGE_FLOAT);
00107 vtkGetMacro(Radius,
float);
00109
00111
00113 vtkSetClampMacro(Height,
float,0.0,VTK_LARGE_FLOAT);
00114 vtkGetMacro(Height,
float);
00116
00118
00121 vtkSetClampMacro(Offset,
float, 0.0, VTK_LARGE_FLOAT);
00122 vtkGetMacro(Offset,
float);
00124
00126
00129 vtkSetMacro(UseDefaultNormal,
int);
00130 vtkGetMacro(UseDefaultNormal,
int);
00131 vtkBooleanMacro(UseDefaultNormal,
int);
00133
00135
00137 vtkSetVector3Macro(DefaultNormal,
float);
00138 vtkGetVectorMacro(DefaultNormal,
float,3);
00140
00142
00144 vtkSetClampMacro(FieldDataArray,
int,0,VTK_LARGE_INTEGER);
00145 vtkGetMacro(FieldDataArray,
int);
00147
00149
unsigned long GetMTime();
00150
00151
protected:
00152 vtkArcPlotter();
00153 ~vtkArcPlotter();
00154
00155
void Execute();
00156
int OffsetPoint(
vtkIdType ptId,
vtkPoints *inPts,
float n[3],
00157
vtkPoints *newPts,
float offset,
float *range,
float val);
00158
int ProcessComponents(
vtkIdType numPts,
vtkPointData *pd);
00159
00160 vtkCamera *Camera;
00161 int PlotMode;
00162 int PlotComponent;
00163 float Radius;
00164 float Height;
00165 float Offset;
00166 float DefaultNormal[3];
00167 int UseDefaultNormal;
00168 int FieldDataArray;
00169
00170
private:
00171
vtkDataArray *Data;
00172
float *DataRange;
00173
float *Tuple;
00174
int NumberOfComponents;
00175
int ActiveComponent;
00176
int StartComp;
00177
int EndComp;
00178
00179
private:
00180 vtkArcPlotter(
const vtkArcPlotter&);
00181
void operator=(
const vtkArcPlotter&);
00182 };
00183
00184
#endif