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 "vtkPolyDataAlgorithm.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 vtkPolyDataAlgorithm
00061 {
00062 public:
00064 static vtkArcPlotter *New();
00065
00066 vtkTypeMacro(vtkArcPlotter,vtkPolyDataAlgorithm);
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 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
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