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

# 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 =========================================================================*/
    00098 #ifndef __vtkTensorGlyph_h
    00099 #define __vtkTensorGlyph_h
    00100
    00101 #include "vtkDataSetToPolyDataFilter.h"
    00102
    00103 class VTK_GRAPHICS_EXPORT vtkTensorGlyph : public vtkDataSetToPolyDataFilter
    00104 {
    00105 public:
    00106   vtkTypeRevisionMacro(vtkTensorGlyph,vtkDataSetToPolyDataFilter);
    00107   void PrintSelf(ostream& os, vtkIndent indent);
    00108
    00112   static vtkTensorGlyph *New();
    00113
    00115
    00116   void SetSource(vtkPolyData *source);
    00117   vtkPolyData *GetSource();
    00119
    00121
    00122   vtkSetMacro(Scaling,int);
    00123   vtkGetMacro(Scaling,int);
    00124   vtkBooleanMacro(Scaling,int);
    00126
    00128
    00130   vtkSetMacro(ScaleFactor,float);
    00131   vtkGetMacro(ScaleFactor,float);
    00133
    00135
    00136   vtkSetMacro(ThreeGlyphs,int);
    00137   vtkGetMacro(ThreeGlyphs,int);
    00138   vtkBooleanMacro(ThreeGlyphs,int);
    00140
    00142
    00143   vtkSetMacro(Symmetric,int);
    00144   vtkGetMacro(Symmetric,int);
    00145   vtkBooleanMacro(Symmetric,int);
    00147
    00149
    00151   vtkSetMacro(Length,float);
    00152   vtkGetMacro(Length,float);
    00154
    00156
    00157   vtkSetMacro(ExtractEigenvalues,int);
    00158   vtkBooleanMacro(ExtractEigenvalues,int);
    00159   vtkGetMacro(ExtractEigenvalues,int);
    00161
    00163
    00166   vtkSetMacro(ColorGlyphs,int);
    00167   vtkGetMacro(ColorGlyphs,int);
    00168   vtkBooleanMacro(ColorGlyphs,int);
    00170
    00171 //BTX
    00172   enum
    00173   {
    00174       COLOR_BY_SCALARS,
    00175       COLOR_BY_EIGENVALUES
    00176   };
    00177 //ETX
    00178
    00180
    00187   vtkSetClampMacro(ColorMode, int, COLOR_BY_SCALARS, COLOR_BY_EIGENVALUES);
    00188   vtkGetMacro(ColorMode, int);
    00189   void SetColorModeToScalars()
    00190     {this->SetColorMode(COLOR_BY_SCALARS);};
    00191   void SetColorModeToEigenvalues()
    00192     {this->SetColorMode(COLOR_BY_EIGENVALUES);};
    00194
    00196
    00199   vtkSetMacro(ClampScaling,int);
    00200   vtkGetMacro(ClampScaling,int);
    00201   vtkBooleanMacro(ClampScaling,int);
    00203
    00205
    00209   vtkSetMacro(MaxScaleFactor,float);
    00210   vtkGetMacro(MaxScaleFactor,float);
    00212
    00213 protected:
    00214   vtkTensorGlyph();
    00215   ~vtkTensorGlyph();
    00216
    00217   void Execute();
    00218
    00219   int Scaling; // Determine whether scaling of geometry is performed
    00220   float ScaleFactor; // Scale factor to use to scale geometry
    00221   int ExtractEigenvalues; // Boolean controls eigenfunction extraction
    00222   int ColorGlyphs; // Boolean controls coloring with input scalar data
    00223   int ColorMode; // The coloring mode to use for the glyphs.
    00224   int ClampScaling; // Boolean controls whether scaling is clamped.
    00225   float MaxScaleFactor; // Maximum scale factor (ScaleFactor*eigenvalue)
    00226   int ThreeGlyphs; // Boolean controls drawing 1 or 3 glyphs
    00227   int Symmetric; // Boolean controls drawing a "mirror" of each glyph
    00228   float Length; // Distance, in x, from the origin to the end of the glyph
    00229 private:
    00230   vtkTensorGlyph(const vtkTensorGlyph&);  // Not implemented.
    00231   void operator=(const vtkTensorGlyph&);  // Not implemented.
    00232 };
    00233
    00234 #endif