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