VTK  9.7.20261103
vtkFastSplatter.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-FileCopyrightText: Copyright (c) Sandia Corporation
3// SPDX-License-Identifier: BSD-3-Clause
49
50#ifndef vtkFastSplatter_h
51#define vtkFastSplatter_h
52
53#include "vtkImageAlgorithm.h"
54#include "vtkImagingHybridModule.h" // For export macro
55
56VTK_ABI_NAMESPACE_BEGIN
57class VTKIMAGINGHYBRID_EXPORT vtkFastSplatter : public vtkImageAlgorithm
58{
59public:
62 void PrintSelf(ostream& os, vtkIndent indent) override;
63
65
71 vtkSetVector6Macro(ModelBounds, double);
72 vtkGetVectorMacro(ModelBounds, double, 6);
74
76
79 vtkSetVector3Macro(OutputDimensions, int);
80 vtkGetVector3Macro(OutputDimensions, int);
82
83 enum
84 {
89 };
90
92
98 vtkSetMacro(LimitMode, int);
99 vtkGetMacro(LimitMode, int);
105
107
110 vtkSetMacro(MinValue, double);
111 vtkGetMacro(MinValue, double);
112 vtkSetMacro(MaxValue, double);
113 vtkGetMacro(MaxValue, double);
115
117
121 vtkGetMacro(NumberOfPointsSplatted, int);
123
130
131protected:
134
135 double ModelBounds[6];
137
139 double MinValue;
140 double MaxValue;
142
144
145 int FillInputPortInformation(int port, vtkInformation* info) override;
149
150 // Used internally for converting points in world space to indices in
151 // the output image.
152 double Origin[3];
153 double Spacing[3];
154
155 // This is updated every time the filter executes
157
158 // Used internally to track the data range. When the limit mode is
159 // set to FreezeScale, the data will be scaled as if this were the
160 // range regardless of what it actually is.
163
164private:
165 vtkFastSplatter(const vtkFastSplatter&) = delete;
166 void operator=(const vtkFastSplatter&) = delete;
167};
168
169VTK_ABI_NAMESPACE_END
170#endif // vtkFastSplatter_h
Proxy object to connect input/output ports.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to translate the update extent requests from each output port ...
vtkImageData * Buckets
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetLimitModeToFreezeScale()
Set/get the way voxel values will be limited.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called in response to a REQUEST_DATA request from the executive.
void SetLimitModeToNone()
Set/get the way voxel values will be limited.
virtual void SetLimitMode(int)
Set/get the way voxel values will be limited.
void SetLimitModeToClamp()
Set/get the way voxel values will be limited.
static vtkFastSplatter * New()
void SetSplatConnection(vtkAlgorithmOutput *)
Convenience function for connecting the splat algorithm source.
void SetLimitModeToScale()
Set/get the way voxel values will be limited.
~vtkFastSplatter() override
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to collect information from their inputs and set information f...
topologically and geometrically regular array of data
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.