Geant4-11
vtkTensorGlyphColor.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkTensorGlyphColor.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=========================================================================*/
83#ifndef vtkTensorGlyphColor_h
84#define vtkTensorGlyphColor_h
85
86#include "vtkFiltersCoreModule.h" // For export macro
87#include "vtkPolyDataAlgorithm.h"
88
89class VTKFILTERSCORE_EXPORT vtkTensorGlyphColor : public vtkPolyDataAlgorithm
90{
91public:
92 vtkTypeMacro(vtkTensorGlyphColor,vtkPolyDataAlgorithm)
93 void PrintSelf(ostream& os, vtkIndent indent) override;
94
100 static vtkTensorGlyphColor *New();
101
103
109 void SetSourceData(vtkPolyData *source);
110 vtkPolyData *GetSource();
112
114
119 void SetSourceConnection(int id, vtkAlgorithmOutput* algOutput);
120 void SetSourceConnection(vtkAlgorithmOutput* algOutput)
121 {
122 this->SetSourceConnection(0, algOutput);
123 }
125
127
130 vtkSetMacro(Scaling,vtkTypeBool);
131 vtkGetMacro(Scaling,vtkTypeBool);
132 vtkBooleanMacro(Scaling,vtkTypeBool);
134
136
140 vtkSetMacro(ScaleFactor,double);
141 vtkGetMacro(ScaleFactor,double);
143
145
148 vtkSetMacro(ThreeGlyphs,vtkTypeBool);
149 vtkGetMacro(ThreeGlyphs,vtkTypeBool);
150 vtkBooleanMacro(ThreeGlyphs,vtkTypeBool);
152
154
157 vtkSetMacro(Symmetric,vtkTypeBool);
158 vtkGetMacro(Symmetric,vtkTypeBool);
159 vtkBooleanMacro(Symmetric,vtkTypeBool);
161
163
167 vtkSetMacro(Length,double);
168 vtkGetMacro(Length,double);
170
172
175 vtkSetMacro(ExtractEigenvalues,vtkTypeBool);
176 vtkBooleanMacro(ExtractEigenvalues,vtkTypeBool);
177 vtkGetMacro(ExtractEigenvalues,vtkTypeBool);
179
181
186 vtkSetMacro(ColorGlyphs,vtkTypeBool);
187 vtkGetMacro(ColorGlyphs,vtkTypeBool);
188 vtkBooleanMacro(ColorGlyphs,vtkTypeBool);
190
191 enum
192 {
194 COLOR_BY_EIGENVALUES
195 };
196
198
208 vtkSetClampMacro(ColorMode, int, COLOR_BY_SCALARS, COLOR_BY_EIGENVALUES);
209 vtkGetMacro(ColorMode, int);
211 {this->SetColorMode(COLOR_BY_SCALARS);};
213 {this->SetColorMode(COLOR_BY_EIGENVALUES);};
215
217
222 vtkSetMacro(ClampScaling,vtkTypeBool);
223 vtkGetMacro(ClampScaling,vtkTypeBool);
224 vtkBooleanMacro(ClampScaling,vtkTypeBool);
226
228
234 vtkSetMacro(MaxScaleFactor,double);
235 vtkGetMacro(MaxScaleFactor,double);
237
238protected:
241
242 int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override;
243 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override;
244 int FillInputPortInformation(int port, vtkInformation *info) override;
245
246 vtkTypeBool Scaling; // Determine whether scaling of geometry is performed
247 double ScaleFactor; // Scale factor to use to scale geometry
248 vtkTypeBool ExtractEigenvalues; // Boolean controls eigenfunction extraction
249 vtkTypeBool ColorGlyphs; // Boolean controls coloring with input scalar data
250 int ColorMode; // The coloring mode to use for the glyphs.
251 vtkTypeBool ClampScaling; // Boolean controls whether scaling is clamped.
252 double MaxScaleFactor; // Maximum scale factor (ScaleFactor*eigenvalue)
253 vtkTypeBool ThreeGlyphs; // Boolean controls drawing 1 or 3 glyphs
254 vtkTypeBool Symmetric; // Boolean controls drawing a "mirror" of each glyph
255 double Length; // Distance, in x, from the origin to the end of the glyph
256private:
258 void operator=(const vtkTensorGlyphColor&) = delete;
259};
260
261#endif
scale and orient glyph(s) according to eigenvalues and eigenvectors of symmetrical part of tensor
vtkGetMacro(Length, double)
vtkGetMacro(ColorMode, int)
vtkGetMacro(Scaling, vtkTypeBool)
~vtkTensorGlyphColor() override
vtkSetMacro(ClampScaling, vtkTypeBool)
vtkTensorGlyphColor(const vtkTensorGlyphColor &)=delete
vtkSetMacro(MaxScaleFactor, double)
vtkGetMacro(MaxScaleFactor, double)
vtkSetMacro(ScaleFactor, double)
vtkSetMacro(Length, double)
vtkSetMacro(ColorGlyphs, vtkTypeBool)
vtkBooleanMacro(ThreeGlyphs, vtkTypeBool)
vtkBooleanMacro(ExtractEigenvalues, vtkTypeBool)
vtkSetMacro(ThreeGlyphs, vtkTypeBool)
vtkBooleanMacro(Symmetric, vtkTypeBool)
vtkBooleanMacro(Scaling, vtkTypeBool)
vtkGetMacro(ThreeGlyphs, vtkTypeBool)
vtkGetMacro(ExtractEigenvalues, vtkTypeBool)
vtkGetMacro(Symmetric, vtkTypeBool)
vtkGetMacro(ScaleFactor, double)
void operator=(const vtkTensorGlyphColor &)=delete
vtkBooleanMacro(ClampScaling, vtkTypeBool)
vtkSetMacro(Symmetric, vtkTypeBool)
vtkTypeMacro(vtkTensorGlyphColor, vtkPolyDataAlgorithm) void PrintSelf(ostream &os
vtkSetMacro(Scaling, vtkTypeBool)
vtkBooleanMacro(ColorGlyphs, vtkTypeBool)
vtkSetClampMacro(ColorMode, int, COLOR_BY_SCALARS, COLOR_BY_EIGENVALUES)
vtkGetMacro(ColorGlyphs, vtkTypeBool)
vtkSetMacro(ExtractEigenvalues, vtkTypeBool)
vtkGetMacro(ClampScaling, vtkTypeBool)