00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00081 #ifndef __vtkTensorGlyph_h
00082 #define __vtkTensorGlyph_h
00083
00084 #include "vtkPolyDataAlgorithm.h"
00085
00086 class VTK_GRAPHICS_EXPORT vtkTensorGlyph : public vtkPolyDataAlgorithm
00087 {
00088 public:
00089 vtkTypeRevisionMacro(vtkTensorGlyph,vtkPolyDataAlgorithm);
00090 void PrintSelf(ostream& os, vtkIndent indent);
00091
00095 static vtkTensorGlyph *New();
00096
00098
00100 void SetSource(vtkPolyData *source);
00101 vtkPolyData *GetSource();
00103
00105
00108 void SetSourceConnection(int id, vtkAlgorithmOutput* algOutput);
00109 void SetSourceConnection(vtkAlgorithmOutput* algOutput)
00110 {
00111 this->SetSourceConnection(0, algOutput);
00112 }
00114
00116
00117 vtkSetMacro(Scaling,int);
00118 vtkGetMacro(Scaling,int);
00119 vtkBooleanMacro(Scaling,int);
00121
00123
00125 vtkSetMacro(ScaleFactor,double);
00126 vtkGetMacro(ScaleFactor,double);
00128
00130
00131 vtkSetMacro(ThreeGlyphs,int);
00132 vtkGetMacro(ThreeGlyphs,int);
00133 vtkBooleanMacro(ThreeGlyphs,int);
00135
00137
00138 vtkSetMacro(Symmetric,int);
00139 vtkGetMacro(Symmetric,int);
00140 vtkBooleanMacro(Symmetric,int);
00142
00144
00146 vtkSetMacro(Length,double);
00147 vtkGetMacro(Length,double);
00149
00151
00152 vtkSetMacro(ExtractEigenvalues,int);
00153 vtkBooleanMacro(ExtractEigenvalues,int);
00154 vtkGetMacro(ExtractEigenvalues,int);
00156
00158
00161 vtkSetMacro(ColorGlyphs,int);
00162 vtkGetMacro(ColorGlyphs,int);
00163 vtkBooleanMacro(ColorGlyphs,int);
00165
00166
00167 enum
00168 {
00169 COLOR_BY_SCALARS,
00170 COLOR_BY_EIGENVALUES
00171 };
00172
00173
00175
00182 vtkSetClampMacro(ColorMode, int, COLOR_BY_SCALARS, COLOR_BY_EIGENVALUES);
00183 vtkGetMacro(ColorMode, int);
00184 void SetColorModeToScalars()
00185 {this->SetColorMode(COLOR_BY_SCALARS);};
00186 void SetColorModeToEigenvalues()
00187 {this->SetColorMode(COLOR_BY_EIGENVALUES);};
00189
00191
00194 vtkSetMacro(ClampScaling,int);
00195 vtkGetMacro(ClampScaling,int);
00196 vtkBooleanMacro(ClampScaling,int);
00198
00200
00204 vtkSetMacro(MaxScaleFactor,double);
00205 vtkGetMacro(MaxScaleFactor,double);
00207
00208 protected:
00209 vtkTensorGlyph();
00210 ~vtkTensorGlyph();
00211
00212 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00213 virtual int FillInputPortInformation(int port, vtkInformation *info);
00214
00215 int Scaling;
00216 double ScaleFactor;
00217 int ExtractEigenvalues;
00218 int ColorGlyphs;
00219 int ColorMode;
00220 int ClampScaling;
00221 double MaxScaleFactor;
00222 int ThreeGlyphs;
00223 int Symmetric;
00224 double Length;
00225 private:
00226 vtkTensorGlyph(const vtkTensorGlyph&);
00227 void operator=(const vtkTensorGlyph&);
00228 };
00229
00230 #endif