VTK  9.5.20250902
vtkTensorGlyph.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
114#ifndef vtkTensorGlyph_h
115#define vtkTensorGlyph_h
116
117#include "vtkFiltersCoreModule.h" // For export macro
118#include "vtkPolyDataAlgorithm.h"
119#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
120
121VTK_ABI_NAMESPACE_BEGIN
122class VTKFILTERSCORE_EXPORT VTK_MARSHALAUTO vtkTensorGlyph : public vtkPolyDataAlgorithm
123{
124public:
126
134 void PrintSelf(ostream& os, vtkIndent indent) override;
136
138
147
149
154 void SetSourceConnection(int id, vtkAlgorithmOutput* algOutput);
156 {
157 this->SetSourceConnection(0, algOutput);
158 }
160
162
165 vtkSetMacro(Scaling, vtkTypeBool);
166 vtkGetMacro(Scaling, vtkTypeBool);
167 vtkBooleanMacro(Scaling, vtkTypeBool);
169
171
175 vtkSetMacro(ScaleFactor, double);
176 vtkGetMacro(ScaleFactor, double);
178
180
183 vtkSetMacro(ThreeGlyphs, vtkTypeBool);
184 vtkGetMacro(ThreeGlyphs, vtkTypeBool);
185 vtkBooleanMacro(ThreeGlyphs, vtkTypeBool);
187
189
192 vtkSetMacro(Symmetric, vtkTypeBool);
193 vtkGetMacro(Symmetric, vtkTypeBool);
194 vtkBooleanMacro(Symmetric, vtkTypeBool);
196
198
202 vtkSetMacro(Length, double);
203 vtkGetMacro(Length, double);
205
207
210 vtkSetMacro(ExtractEigenvalues, vtkTypeBool);
211 vtkBooleanMacro(ExtractEigenvalues, vtkTypeBool);
212 vtkGetMacro(ExtractEigenvalues, vtkTypeBool);
214
216
221 vtkSetMacro(ColorGlyphs, vtkTypeBool);
222 vtkGetMacro(ColorGlyphs, vtkTypeBool);
223 vtkBooleanMacro(ColorGlyphs, vtkTypeBool);
225
226 enum
227 {
229 COLOR_BY_EIGENVALUES
230 };
231
233
243 vtkSetClampMacro(ColorMode, int, COLOR_BY_SCALARS, COLOR_BY_EIGENVALUES);
244 vtkGetMacro(ColorMode, int);
245 void SetColorModeToScalars() { this->SetColorMode(COLOR_BY_SCALARS); }
246 void SetColorModeToEigenvalues() { this->SetColorMode(COLOR_BY_EIGENVALUES); }
248
250
255 vtkSetMacro(ClampScaling, vtkTypeBool);
256 vtkGetMacro(ClampScaling, vtkTypeBool);
257 vtkBooleanMacro(ClampScaling, vtkTypeBool);
259
261
267 vtkSetMacro(MaxScaleFactor, double);
268 vtkGetMacro(MaxScaleFactor, double);
270
271protected:
273 ~vtkTensorGlyph() override;
274
277 int FillInputPortInformation(int port, vtkInformation* info) override;
278
279 vtkTypeBool Scaling; // Determine whether scaling of geometry is performed
280 double ScaleFactor; // Scale factor to use to scale geometry
281 vtkTypeBool ExtractEigenvalues; // Boolean controls eigenfunction extraction
282 vtkTypeBool ColorGlyphs; // Boolean controls coloring with input scalar data
283 int ColorMode; // The coloring mode to use for the glyphs.
284 vtkTypeBool ClampScaling; // Boolean controls whether scaling is clamped.
285 double MaxScaleFactor; // Maximum scale factor (ScaleFactor*eigenvalue)
286 vtkTypeBool ThreeGlyphs; // Boolean controls drawing 1 or 3 glyphs
287 vtkTypeBool Symmetric; // Boolean controls drawing a "mirror" of each glyph
288 double Length; // Distance, in x, from the origin to the end of the glyph
289private:
290 vtkTensorGlyph(const vtkTensorGlyph&) = delete;
291 void operator=(const vtkTensorGlyph&) = delete;
292};
293
294VTK_ABI_NAMESPACE_END
295#endif
Proxy object to connect input/output ports.
a simple class to control print indentation
Definition vtkIndent.h:108
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:64
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
#define VTK_MARSHALAUTO