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 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00085 #ifndef __vtkTensorGlyph_h 00086 #define __vtkTensorGlyph_h 00087 00088 #include "vtkDataSetToPolyDataFilter.h" 00089 00090 class VTK_GRAPHICS_EXPORT vtkTensorGlyph : public vtkDataSetToPolyDataFilter 00091 { 00092 public: 00093 vtkTypeRevisionMacro(vtkTensorGlyph,vtkDataSetToPolyDataFilter); 00094 void PrintSelf(ostream& os, vtkIndent indent); 00095 00099 static vtkTensorGlyph *New(); 00100 00102 00103 void SetSource(vtkPolyData *source); 00104 vtkPolyData *GetSource(); 00106 00108 00109 vtkSetMacro(Scaling,int); 00110 vtkGetMacro(Scaling,int); 00111 vtkBooleanMacro(Scaling,int); 00113 00115 00117 vtkSetMacro(ScaleFactor,float); 00118 vtkGetMacro(ScaleFactor,float); 00120 00122 00123 vtkSetMacro(ThreeGlyphs,int); 00124 vtkGetMacro(ThreeGlyphs,int); 00125 vtkBooleanMacro(ThreeGlyphs,int); 00127 00129 00130 vtkSetMacro(Symmetric,int); 00131 vtkGetMacro(Symmetric,int); 00132 vtkBooleanMacro(Symmetric,int); 00134 00136 00138 vtkSetMacro(Length,float); 00139 vtkGetMacro(Length,float); 00141 00143 00144 vtkSetMacro(ExtractEigenvalues,int); 00145 vtkBooleanMacro(ExtractEigenvalues,int); 00146 vtkGetMacro(ExtractEigenvalues,int); 00148 00150 00153 vtkSetMacro(ColorGlyphs,int); 00154 vtkGetMacro(ColorGlyphs,int); 00155 vtkBooleanMacro(ColorGlyphs,int); 00157 00158 //BTX 00159 enum 00160 { 00161 COLOR_BY_SCALARS, 00162 COLOR_BY_EIGENVALUES 00163 }; 00164 //ETX 00165 00167 00174 vtkSetClampMacro(ColorMode, int, COLOR_BY_SCALARS, COLOR_BY_EIGENVALUES); 00175 vtkGetMacro(ColorMode, int); 00176 void SetColorModeToScalars() 00177 {this->SetColorMode(COLOR_BY_SCALARS);}; 00178 void SetColorModeToEigenvalues() 00179 {this->SetColorMode(COLOR_BY_EIGENVALUES);}; 00181 00183 00186 vtkSetMacro(ClampScaling,int); 00187 vtkGetMacro(ClampScaling,int); 00188 vtkBooleanMacro(ClampScaling,int); 00190 00192 00196 vtkSetMacro(MaxScaleFactor,float); 00197 vtkGetMacro(MaxScaleFactor,float); 00199 00200 protected: 00201 vtkTensorGlyph(); 00202 ~vtkTensorGlyph(); 00203 00204 void Execute(); 00205 00206 int Scaling; // Determine whether scaling of geometry is performed 00207 float ScaleFactor; // Scale factor to use to scale geometry 00208 int ExtractEigenvalues; // Boolean controls eigenfunction extraction 00209 int ColorGlyphs; // Boolean controls coloring with input scalar data 00210 int ColorMode; // The coloring mode to use for the glyphs. 00211 int ClampScaling; // Boolean controls whether scaling is clamped. 00212 float MaxScaleFactor; // Maximum scale factor (ScaleFactor*eigenvalue) 00213 int ThreeGlyphs; // Boolean controls drawing 1 or 3 glyphs 00214 int Symmetric; // Boolean controls drawing a "mirror" of each glyph 00215 float Length; // Distance, in x, from the origin to the end of the glyph 00216 private: 00217 vtkTensorGlyph(const vtkTensorGlyph&); // Not implemented. 00218 void operator=(const vtkTensorGlyph&); // Not implemented. 00219 }; 00220 00221 #endif