VTK  9.2.6
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=========================================================================*/
96#ifndef vtkTensorGlyph_h
97#define vtkTensorGlyph_h
98
99#include "vtkFiltersCoreModule.h" // For export macro
100#include "vtkPolyDataAlgorithm.h"
101
102class VTKFILTERSCORE_EXPORT vtkTensorGlyph : public vtkPolyDataAlgorithm
103{
104public:
106
114 void PrintSelf(ostream& os, vtkIndent indent) override;
116
118
127
129
134 void SetSourceConnection(int id, vtkAlgorithmOutput* algOutput);
136 {
137 this->SetSourceConnection(0, algOutput);
138 }
140
142
145 vtkSetMacro(Scaling, vtkTypeBool);
146 vtkGetMacro(Scaling, vtkTypeBool);
147 vtkBooleanMacro(Scaling, vtkTypeBool);
149
151
155 vtkSetMacro(ScaleFactor, double);
156 vtkGetMacro(ScaleFactor, double);
158
160
163 vtkSetMacro(ThreeGlyphs, vtkTypeBool);
164 vtkGetMacro(ThreeGlyphs, vtkTypeBool);
165 vtkBooleanMacro(ThreeGlyphs, vtkTypeBool);
167
169
172 vtkSetMacro(Symmetric, vtkTypeBool);
173 vtkGetMacro(Symmetric, vtkTypeBool);
174 vtkBooleanMacro(Symmetric, vtkTypeBool);
176
178
182 vtkSetMacro(Length, double);
183 vtkGetMacro(Length, double);
185
187
190 vtkSetMacro(ExtractEigenvalues, vtkTypeBool);
191 vtkBooleanMacro(ExtractEigenvalues, vtkTypeBool);
192 vtkGetMacro(ExtractEigenvalues, vtkTypeBool);
194
196
201 vtkSetMacro(ColorGlyphs, vtkTypeBool);
202 vtkGetMacro(ColorGlyphs, vtkTypeBool);
203 vtkBooleanMacro(ColorGlyphs, vtkTypeBool);
205
206 enum
207 {
209 COLOR_BY_EIGENVALUES
210 };
211
213
223 vtkSetClampMacro(ColorMode, int, COLOR_BY_SCALARS, COLOR_BY_EIGENVALUES);
224 vtkGetMacro(ColorMode, int);
225 void SetColorModeToScalars() { this->SetColorMode(COLOR_BY_SCALARS); }
226 void SetColorModeToEigenvalues() { this->SetColorMode(COLOR_BY_EIGENVALUES); }
228
230
235 vtkSetMacro(ClampScaling, vtkTypeBool);
236 vtkGetMacro(ClampScaling, vtkTypeBool);
237 vtkBooleanMacro(ClampScaling, vtkTypeBool);
239
241
247 vtkSetMacro(MaxScaleFactor, double);
248 vtkGetMacro(MaxScaleFactor, double);
250
251protected:
253 ~vtkTensorGlyph() override;
254
257 int FillInputPortInformation(int port, vtkInformation* info) override;
258
259 vtkTypeBool Scaling; // Determine whether scaling of geometry is performed
260 double ScaleFactor; // Scale factor to use to scale geometry
261 vtkTypeBool ExtractEigenvalues; // Boolean controls eigenfunction extraction
262 vtkTypeBool ColorGlyphs; // Boolean controls coloring with input scalar data
263 int ColorMode; // The coloring mode to use for the glyphs.
264 vtkTypeBool ClampScaling; // Boolean controls whether scaling is clamped.
265 double MaxScaleFactor; // Maximum scale factor (ScaleFactor*eigenvalue)
266 vtkTypeBool ThreeGlyphs; // Boolean controls drawing 1 or 3 glyphs
267 vtkTypeBool Symmetric; // Boolean controls drawing a "mirror" of each glyph
268 double Length; // Distance, in x, from the origin to the end of the glyph
269private:
270 vtkTensorGlyph(const vtkTensorGlyph&) = delete;
271 void operator=(const vtkTensorGlyph&) = delete;
272};
273
274#endif
Proxy object to connect input/output ports.
a simple class to control print indentation
Definition vtkIndent.h:49
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only polydata as output.
concrete dataset represents vertices, lines, polygons, and triangle strips
scale and orient glyph(s) according to eigenvalues and eigenvectors of symmetrical part of tensor
void SetSourceData(vtkPolyData *source)
Specify the geometry to copy to each point.
void SetColorModeToScalars()
Set the color mode to be used for the glyphs.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
void SetColorModeToEigenvalues()
Set the color mode to be used for the glyphs.
vtkTypeBool ThreeGlyphs
static vtkTensorGlyph * New()
Standard methods for instantiation, obtaining type information, and printing.Construct object with sc...
void SetSourceConnection(int id, vtkAlgorithmOutput *algOutput)
Specify a source object at a specified table location.
vtkTypeBool ClampScaling
vtkTypeBool ColorGlyphs
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkTypeBool Scaling
vtkTypeBool Symmetric
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instantiation, obtaining type information, and printing.Construct object with sc...
~vtkTensorGlyph() override
vtkPolyData * GetSource()
Specify the geometry to copy to each point.
void SetSourceConnection(vtkAlgorithmOutput *algOutput)
Specify a source object at a specified table location.
vtkTypeBool ExtractEigenvalues
int vtkTypeBool
Definition vtkABI.h:69
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)