VTK
vtkTensorGlyph.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkTensorGlyph.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
82 #ifndef vtkTensorGlyph_h
83 #define vtkTensorGlyph_h
84 
85 #include "vtkFiltersCoreModule.h" // For export macro
86 #include "vtkPolyDataAlgorithm.h"
87 
88 class VTKFILTERSCORE_EXPORT vtkTensorGlyph : public vtkPolyDataAlgorithm
89 {
90 public:
92  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
93 
99  static vtkTensorGlyph *New();
100 
102 
108  void SetSourceData(vtkPolyData *source);
109  vtkPolyData *GetSource();
111 
113 
118  void SetSourceConnection(int id, vtkAlgorithmOutput* algOutput);
120  {
121  this->SetSourceConnection(0, algOutput);
122  }
124 
126 
129  vtkSetMacro(Scaling,int);
130  vtkGetMacro(Scaling,int);
131  vtkBooleanMacro(Scaling,int);
133 
135 
139  vtkSetMacro(ScaleFactor,double);
140  vtkGetMacro(ScaleFactor,double);
142 
144 
147  vtkSetMacro(ThreeGlyphs,int);
148  vtkGetMacro(ThreeGlyphs,int);
149  vtkBooleanMacro(ThreeGlyphs,int);
151 
153 
156  vtkSetMacro(Symmetric,int);
157  vtkGetMacro(Symmetric,int);
158  vtkBooleanMacro(Symmetric,int);
160 
162 
166  vtkSetMacro(Length,double);
167  vtkGetMacro(Length,double);
169 
171 
174  vtkSetMacro(ExtractEigenvalues,int);
175  vtkBooleanMacro(ExtractEigenvalues,int);
176  vtkGetMacro(ExtractEigenvalues,int);
178 
180 
185  vtkSetMacro(ColorGlyphs,int);
186  vtkGetMacro(ColorGlyphs,int);
187  vtkBooleanMacro(ColorGlyphs,int);
189 
190  enum
191  {
193  COLOR_BY_EIGENVALUES
194  };
195 
197 
207  vtkSetClampMacro(ColorMode, int, COLOR_BY_SCALARS, COLOR_BY_EIGENVALUES);
208  vtkGetMacro(ColorMode, int);
210  {this->SetColorMode(COLOR_BY_SCALARS);};
212  {this->SetColorMode(COLOR_BY_EIGENVALUES);};
214 
216 
221  vtkSetMacro(ClampScaling,int);
222  vtkGetMacro(ClampScaling,int);
223  vtkBooleanMacro(ClampScaling,int);
225 
227 
233  vtkSetMacro(MaxScaleFactor,double);
234  vtkGetMacro(MaxScaleFactor,double);
236 
237 protected:
238  vtkTensorGlyph();
239  ~vtkTensorGlyph() VTK_OVERRIDE;
240 
241  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
242  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
243  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
244 
245  int Scaling; // Determine whether scaling of geometry is performed
246  double ScaleFactor; // Scale factor to use to scale geometry
247  int ExtractEigenvalues; // Boolean controls eigenfunction extraction
248  int ColorGlyphs; // Boolean controls coloring with input scalar data
249  int ColorMode; // The coloring mode to use for the glyphs.
250  int ClampScaling; // Boolean controls whether scaling is clamped.
251  double MaxScaleFactor; // Maximum scale factor (ScaleFactor*eigenvalue)
252  int ThreeGlyphs; // Boolean controls drawing 1 or 3 glyphs
253  int Symmetric; // Boolean controls drawing a "mirror" of each glyph
254  double Length; // Distance, in x, from the origin to the end of the glyph
255 private:
256  vtkTensorGlyph(const vtkTensorGlyph&) VTK_DELETE_FUNCTION;
257  void operator=(const vtkTensorGlyph&) VTK_DELETE_FUNCTION;
258 };
259 
260 #endif
Store vtkAlgorithm input/output information.
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:85
Proxy object to connect input/output ports.
void SetColorModeToScalars()
Set the color mode to be used for the glyphs.
static vtkPolyDataAlgorithm * New()
void SetSourceConnection(vtkAlgorithmOutput *algOutput)
Specify a source object at a specified table location.
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
void SetColorModeToEigenvalues()
Set the color mode to be used for the glyphs.
scale and orient glyph(s) according to tensor eigenvalues and eigenvectors
Store zero or more vtkInformation instances.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.