VTK  9.7.1
vtkPointGaussianMapper.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
18 #ifndef vtkPointGaussianMapper_h
19 #define vtkPointGaussianMapper_h
20 
21 #include "vtkPolyDataMapper.h"
22 #include "vtkRenderingCoreModule.h" // For export macro
23 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
24 
25 VTK_ABI_NAMESPACE_BEGIN
27 
28 class VTKRENDERINGCORE_EXPORT VTK_MARSHALAUTO vtkPointGaussianMapper : public vtkPolyDataMapper
29 {
30 public:
31  static vtkPointGaussianMapper* New();
33  void PrintSelf(ostream& os, vtkIndent indent) override;
34 
36 
40  void SetScaleFunction(vtkPiecewiseFunction*);
41  vtkGetObjectMacro(ScaleFunction, vtkPiecewiseFunction);
43 
45 
49  vtkSetMacro(ScaleTableSize, int);
50  vtkGetMacro(ScaleTableSize, int);
52 
54 
57  vtkSetStringMacro(ScaleArray);
58  vtkGetStringMacro(ScaleArray);
60 
62 
65  vtkSetMacro(ScaleArrayComponent, int);
66  vtkGetMacro(ScaleArrayComponent, int);
68 
70 
76  vtkSetMacro(Anisotropic, bool);
77  vtkGetMacro(Anisotropic, bool);
78  vtkBooleanMacro(Anisotropic, bool);
80 
82 
90  vtkSetMacro(ScaleFactor, double);
91  vtkGetMacro(ScaleFactor, double);
93 
95 
101  vtkSetStringMacro(RotationArray);
102  vtkGetStringMacro(RotationArray);
104 
106 
109  vtkSetMacro(Emissive, vtkTypeBool);
110  vtkGetMacro(Emissive, vtkTypeBool);
111  vtkBooleanMacro(Emissive, vtkTypeBool);
113 
115 
119  void SetScalarOpacityFunction(vtkPiecewiseFunction*);
120  vtkGetObjectMacro(ScalarOpacityFunction, vtkPiecewiseFunction);
122 
124 
128  vtkSetMacro(OpacityTableSize, int);
129  vtkGetMacro(OpacityTableSize, int);
131 
133 
137  vtkSetStringMacro(OpacityArray);
138  vtkGetStringMacro(OpacityArray);
140 
142 
145  vtkSetMacro(OpacityArrayComponent, int);
146  vtkGetMacro(OpacityArrayComponent, int);
148 
150 
159  vtkSetStringMacro(SplatShaderCode);
160  vtkGetStringMacro(SplatShaderCode);
162 
164 
176  vtkSetMacro(BoundScale, float);
177  vtkGetMacro(BoundScale, float);
179 
181 
190  vtkSetVector3Macro(LowpassMatrix, float);
191  vtkGetVector3Macro(LowpassMatrix, float);
193 
200  bool GetSupportsSelection() override { return true; }
201 
202 protected:
204  ~vtkPointGaussianMapper() override;
205 
206  char* ScaleArray;
211 
214 
217 
218  double ScaleFactor;
220 
221  float BoundScale;
222 
223 private:
225  void operator=(const vtkPointGaussianMapper&) = delete;
226 
227  char* RotationArray = nullptr;
228  float LowpassMatrix[3] = { 0.f, 0.f, 0.f };
229  bool Anisotropic = false;
230 };
231 
232 VTK_ABI_NAMESPACE_END
233 #endif
Defines a 1D piecewise function.
vtkPiecewiseFunction * ScaleFunction
bool GetSupportsSelection() override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
int vtkTypeBool
Definition: vtkABI.h:64
a simple class to control print indentation
Definition: vtkIndent.h:28
vtkPiecewiseFunction * ScalarOpacityFunction
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
map vtkPolyData to graphics primitives
static vtkPolyDataMapper * New()
#define VTK_MARSHALAUTO
draw PointGaussians using imposters