Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dox/Graphics/vtkTensorGlyph.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkTensorGlyph.h,v $ 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00081 #ifndef __vtkTensorGlyph_h 00082 #define __vtkTensorGlyph_h 00083 00084 #include "vtkDataSetToPolyDataFilter.h" 00085 00086 class VTK_GRAPHICS_EXPORT vtkTensorGlyph : public vtkDataSetToPolyDataFilter 00087 { 00088 public: 00089 vtkTypeRevisionMacro(vtkTensorGlyph,vtkDataSetToPolyDataFilter); 00090 void PrintSelf(ostream& os, vtkIndent indent); 00091 00095 static vtkTensorGlyph *New(); 00096 00098 00099 void SetSource(vtkPolyData *source); 00100 vtkPolyData *GetSource(); 00102 00104 00105 vtkSetMacro(Scaling,int); 00106 vtkGetMacro(Scaling,int); 00107 vtkBooleanMacro(Scaling,int); 00109 00111 00113 vtkSetMacro(ScaleFactor,double); 00114 vtkGetMacro(ScaleFactor,double); 00116 00118 00119 vtkSetMacro(ThreeGlyphs,int); 00120 vtkGetMacro(ThreeGlyphs,int); 00121 vtkBooleanMacro(ThreeGlyphs,int); 00123 00125 00126 vtkSetMacro(Symmetric,int); 00127 vtkGetMacro(Symmetric,int); 00128 vtkBooleanMacro(Symmetric,int); 00130 00132 00134 vtkSetMacro(Length,double); 00135 vtkGetMacro(Length,double); 00137 00139 00140 vtkSetMacro(ExtractEigenvalues,int); 00141 vtkBooleanMacro(ExtractEigenvalues,int); 00142 vtkGetMacro(ExtractEigenvalues,int); 00144 00146 00149 vtkSetMacro(ColorGlyphs,int); 00150 vtkGetMacro(ColorGlyphs,int); 00151 vtkBooleanMacro(ColorGlyphs,int); 00153 00154 //BTX 00155 enum 00156 { 00157 COLOR_BY_SCALARS, 00158 COLOR_BY_EIGENVALUES 00159 }; 00160 //ETX 00161 00163 00170 vtkSetClampMacro(ColorMode, int, COLOR_BY_SCALARS, COLOR_BY_EIGENVALUES); 00171 vtkGetMacro(ColorMode, int); 00172 void SetColorModeToScalars() 00173 {this->SetColorMode(COLOR_BY_SCALARS);}; 00174 void SetColorModeToEigenvalues() 00175 {this->SetColorMode(COLOR_BY_EIGENVALUES);}; 00177 00179 00182 vtkSetMacro(ClampScaling,int); 00183 vtkGetMacro(ClampScaling,int); 00184 vtkBooleanMacro(ClampScaling,int); 00186 00188 00192 vtkSetMacro(MaxScaleFactor,double); 00193 vtkGetMacro(MaxScaleFactor,double); 00195 00196 protected: 00197 vtkTensorGlyph(); 00198 ~vtkTensorGlyph(); 00199 00200 void Execute(); 00201 00202 int Scaling; // Determine whether scaling of geometry is performed 00203 double ScaleFactor; // Scale factor to use to scale geometry 00204 int ExtractEigenvalues; // Boolean controls eigenfunction extraction 00205 int ColorGlyphs; // Boolean controls coloring with input scalar data 00206 int ColorMode; // The coloring mode to use for the glyphs. 00207 int ClampScaling; // Boolean controls whether scaling is clamped. 00208 double MaxScaleFactor; // Maximum scale factor (ScaleFactor*eigenvalue) 00209 int ThreeGlyphs; // Boolean controls drawing 1 or 3 glyphs 00210 int Symmetric; // Boolean controls drawing a "mirror" of each glyph 00211 double Length; // Distance, in x, from the origin to the end of the glyph 00212 private: 00213 vtkTensorGlyph(const vtkTensorGlyph&); // Not implemented. 00214 void operator=(const vtkTensorGlyph&); // Not implemented. 00215 }; 00216 00217 #endif