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

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 =========================================================================*/
00095 #ifndef __vtkTensorGlyph_h
00096 #define __vtkTensorGlyph_h
00097 
00098 #include "vtkDataSetToPolyDataFilter.h"
00099 
00100 class VTK_GRAPHICS_EXPORT vtkTensorGlyph : public vtkDataSetToPolyDataFilter
00101 {
00102 public:
00103   vtkTypeRevisionMacro(vtkTensorGlyph,vtkDataSetToPolyDataFilter);
00104   void PrintSelf(ostream& os, vtkIndent indent);
00105 
00109   static vtkTensorGlyph *New();
00110 
00112 
00113   void SetSource(vtkPolyData *source);
00114   vtkPolyData *GetSource();
00116 
00118 
00119   vtkSetMacro(Scaling,int);
00120   vtkGetMacro(Scaling,int);
00121   vtkBooleanMacro(Scaling,int);
00123 
00125 
00127   vtkSetMacro(ScaleFactor,double);
00128   vtkGetMacro(ScaleFactor,double);
00130 
00132 
00133   vtkSetMacro(ThreeGlyphs,int);
00134   vtkGetMacro(ThreeGlyphs,int);
00135   vtkBooleanMacro(ThreeGlyphs,int);
00137 
00139 
00140   vtkSetMacro(Symmetric,int);
00141   vtkGetMacro(Symmetric,int);
00142   vtkBooleanMacro(Symmetric,int);
00144 
00146 
00148   vtkSetMacro(Length,double);
00149   vtkGetMacro(Length,double);
00151 
00153 
00154   vtkSetMacro(ExtractEigenvalues,int);
00155   vtkBooleanMacro(ExtractEigenvalues,int);
00156   vtkGetMacro(ExtractEigenvalues,int);
00158 
00160 
00163   vtkSetMacro(ColorGlyphs,int);
00164   vtkGetMacro(ColorGlyphs,int);
00165   vtkBooleanMacro(ColorGlyphs,int);
00167 
00168 //BTX
00169   enum
00170   {
00171       COLOR_BY_SCALARS,
00172       COLOR_BY_EIGENVALUES
00173   };
00174 //ETX
00175 
00177 
00184   vtkSetClampMacro(ColorMode, int, COLOR_BY_SCALARS, COLOR_BY_EIGENVALUES);
00185   vtkGetMacro(ColorMode, int);
00186   void SetColorModeToScalars()
00187     {this->SetColorMode(COLOR_BY_SCALARS);};
00188   void SetColorModeToEigenvalues()
00189     {this->SetColorMode(COLOR_BY_EIGENVALUES);};  
00191 
00193 
00196   vtkSetMacro(ClampScaling,int);
00197   vtkGetMacro(ClampScaling,int);
00198   vtkBooleanMacro(ClampScaling,int);
00200 
00202 
00206   vtkSetMacro(MaxScaleFactor,double);
00207   vtkGetMacro(MaxScaleFactor,double);
00209 
00210 protected:
00211   vtkTensorGlyph();
00212   ~vtkTensorGlyph();
00213 
00214   void Execute();
00215 
00216   int Scaling; // Determine whether scaling of geometry is performed
00217   double ScaleFactor; // Scale factor to use to scale geometry
00218   int ExtractEigenvalues; // Boolean controls eigenfunction extraction
00219   int ColorGlyphs; // Boolean controls coloring with input scalar data
00220   int ColorMode; // The coloring mode to use for the glyphs.
00221   int ClampScaling; // Boolean controls whether scaling is clamped.
00222   double MaxScaleFactor; // Maximum scale factor (ScaleFactor*eigenvalue)
00223   int ThreeGlyphs; // Boolean controls drawing 1 or 3 glyphs
00224   int Symmetric; // Boolean controls drawing a "mirror" of each glyph
00225   double Length; // Distance, in x, from the origin to the end of the glyph
00226 private:
00227   vtkTensorGlyph(const vtkTensorGlyph&);  // Not implemented.
00228   void operator=(const vtkTensorGlyph&);  // Not implemented.
00229 };
00230 
00231 #endif