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 =========================================================================*/
86 #ifndef vtkTensorGlyph_h
87 #define vtkTensorGlyph_h
88 
89 #include "vtkFiltersCoreModule.h" // For export macro
90 #include "vtkPolyDataAlgorithm.h"
91 
92 class VTKFILTERSCORE_EXPORT vtkTensorGlyph : public vtkPolyDataAlgorithm
93 {
94 public:
96  void PrintSelf(ostream& os, vtkIndent indent) override;
97 
103  static vtkTensorGlyph *New();
104 
106 
115 
117 
122  void SetSourceConnection(int id, vtkAlgorithmOutput* algOutput);
124  {
125  this->SetSourceConnection(0, algOutput);
126  }
128 
130 
133  vtkSetMacro(Scaling,vtkTypeBool);
134  vtkGetMacro(Scaling,vtkTypeBool);
135  vtkBooleanMacro(Scaling,vtkTypeBool);
137 
139 
143  vtkSetMacro(ScaleFactor,double);
144  vtkGetMacro(ScaleFactor,double);
146 
148 
151  vtkSetMacro(ThreeGlyphs,vtkTypeBool);
152  vtkGetMacro(ThreeGlyphs,vtkTypeBool);
153  vtkBooleanMacro(ThreeGlyphs,vtkTypeBool);
155 
157 
160  vtkSetMacro(Symmetric,vtkTypeBool);
161  vtkGetMacro(Symmetric,vtkTypeBool);
162  vtkBooleanMacro(Symmetric,vtkTypeBool);
164 
166 
170  vtkSetMacro(Length,double);
171  vtkGetMacro(Length,double);
173 
175 
178  vtkSetMacro(ExtractEigenvalues,vtkTypeBool);
179  vtkBooleanMacro(ExtractEigenvalues,vtkTypeBool);
180  vtkGetMacro(ExtractEigenvalues,vtkTypeBool);
182 
184 
189  vtkSetMacro(ColorGlyphs,vtkTypeBool);
190  vtkGetMacro(ColorGlyphs,vtkTypeBool);
191  vtkBooleanMacro(ColorGlyphs,vtkTypeBool);
193 
194  enum
195  {
197  COLOR_BY_EIGENVALUES
198  };
199 
201 
211  vtkSetClampMacro(ColorMode, int, COLOR_BY_SCALARS, COLOR_BY_EIGENVALUES);
212  vtkGetMacro(ColorMode, int);
214  {this->SetColorMode(COLOR_BY_SCALARS);};
216  {this->SetColorMode(COLOR_BY_EIGENVALUES);};
218 
220 
225  vtkSetMacro(ClampScaling,vtkTypeBool);
226  vtkGetMacro(ClampScaling,vtkTypeBool);
227  vtkBooleanMacro(ClampScaling,vtkTypeBool);
229 
231 
237  vtkSetMacro(MaxScaleFactor,double);
238  vtkGetMacro(MaxScaleFactor,double);
240 
241 protected:
243  ~vtkTensorGlyph() override;
244 
248 
249  vtkTypeBool Scaling; // Determine whether scaling of geometry is performed
250  double ScaleFactor; // Scale factor to use to scale geometry
251  vtkTypeBool ExtractEigenvalues; // Boolean controls eigenfunction extraction
252  vtkTypeBool ColorGlyphs; // Boolean controls coloring with input scalar data
253  int ColorMode; // The coloring mode to use for the glyphs.
254  vtkTypeBool ClampScaling; // Boolean controls whether scaling is clamped.
255  double MaxScaleFactor; // Maximum scale factor (ScaleFactor*eigenvalue)
256  vtkTypeBool ThreeGlyphs; // Boolean controls drawing 1 or 3 glyphs
257  vtkTypeBool Symmetric; // Boolean controls drawing a "mirror" of each glyph
258  double Length; // Distance, in x, from the origin to the end of the glyph
259 private:
260  vtkTensorGlyph(const vtkTensorGlyph&) = delete;
261  void operator=(const vtkTensorGlyph&) = delete;
262 };
263 
264 #endif
vtkTensorGlyph::New
static vtkTensorGlyph * New()
Construct object with scaling on and scale factor 1.0.
vtkTensorGlyph::ScaleFactor
double ScaleFactor
Definition: vtkTensorGlyph.h:250
vtkTensorGlyph::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkTensorGlyph
scale and orient glyph(s) according to eigenvalues and eigenvectors of symmetrical part of tensor
Definition: vtkTensorGlyph.h:93
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:42
vtkTensorGlyph::RequestUpdateExtent
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkTensorGlyph::ClampScaling
vtkTypeBool ClampScaling
Definition: vtkTensorGlyph.h:254
vtkTensorGlyph::~vtkTensorGlyph
~vtkTensorGlyph() override
vtkTensorGlyph::SetColorModeToScalars
void SetColorModeToScalars()
Definition: vtkTensorGlyph.h:213
vtkTensorGlyph::Symmetric
vtkTypeBool Symmetric
Definition: vtkTensorGlyph.h:257
vtkTensorGlyph::MaxScaleFactor
double MaxScaleFactor
Definition: vtkTensorGlyph.h:255
vtkTensorGlyph::COLOR_BY_SCALARS
@ COLOR_BY_SCALARS
Definition: vtkTensorGlyph.h:196
vtkPolyDataAlgorithm.h
source
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
Definition: vtkBoostGraphAdapter.h:825
vtkX3D::port
@ port
Definition: vtkX3D.h:447
vtkTensorGlyph::FillInputPortInformation
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
vtkTensorGlyph::Length
double Length
Definition: vtkTensorGlyph.h:258
vtkTensorGlyph::ThreeGlyphs
vtkTypeBool ThreeGlyphs
Definition: vtkTensorGlyph.h:256
vtkTensorGlyph::SetSourceConnection
void SetSourceConnection(int id, vtkAlgorithmOutput *algOutput)
Specify a source object at a specified table location.
vtkTensorGlyph::ExtractEigenvalues
vtkTypeBool ExtractEigenvalues
Definition: vtkTensorGlyph.h:251
vtkTensorGlyph::SetColorModeToEigenvalues
void SetColorModeToEigenvalues()
Definition: vtkTensorGlyph.h:215
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:40
vtkTensorGlyph::ColorGlyphs
vtkTypeBool ColorGlyphs
Definition: vtkTensorGlyph.h:252
vtkTensorGlyph::Scaling
vtkTypeBool Scaling
Definition: vtkTensorGlyph.h:249
vtkTensorGlyph::ColorMode
int ColorMode
Definition: vtkTensorGlyph.h:253
vtkTensorGlyph::RequestData
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:87
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkTensorGlyph::SetSourceConnection
void SetSourceConnection(vtkAlgorithmOutput *algOutput)
Definition: vtkTensorGlyph.h:123
vtkAlgorithmOutput
Proxy object to connect input/output ports.
Definition: vtkAlgorithmOutput.h:40
vtkTensorGlyph::SetSourceData
void SetSourceData(vtkPolyData *source)
Specify the geometry to copy to each point.
vtkTensorGlyph::GetSource
vtkPolyData * GetSource()
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:86
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkTensorGlyph::vtkTensorGlyph
vtkTensorGlyph()
vtkPolyDataAlgorithm
Superclass for algorithms that produce only polydata as output.
Definition: vtkPolyDataAlgorithm.h:45