VTK  9.1.0
vtkVoxelGrid.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkVoxelGrid.h
5
6 Copyright (c) Kitware, Inc.
7 All rights reserved.
8 See LICENSE file 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=========================================================================*/
47#ifndef vtkVoxelGrid_h
48#define vtkVoxelGrid_h
49
50#include "vtkFiltersPointsModule.h" // For export macro
52
55
56class VTKFILTERSPOINTS_EXPORT vtkVoxelGrid : public vtkPolyDataAlgorithm
57{
58public:
60
64 static vtkVoxelGrid* New();
66 void PrintSelf(ostream& os, vtkIndent indent) override;
68
72 enum Style
73 {
74 MANUAL = 0,
75 SPECIFY_LEAF_SIZE = 1,
76 AUTOMATIC = 2
77 };
78
80
88 vtkSetMacro(ConfigurationStyle, int);
89 vtkGetMacro(ConfigurationStyle, int);
90 void SetConfigurationStyleToManual() { this->SetConfigurationStyle(MANUAL); }
91 void SetConfigurationStyleToLeafSize() { this->SetConfigurationStyle(SPECIFY_LEAF_SIZE); }
92 void SetConfigurationStyleToAutomatic() { this->SetConfigurationStyle(AUTOMATIC); }
94
96
102 vtkSetVector3Macro(Divisions, int);
103 vtkGetVectorMacro(Divisions, int, 3);
105
107
113 vtkSetVector3Macro(LeafSize, double);
114 vtkGetVectorMacro(LeafSize, double, 3);
116
118
124 vtkSetClampMacro(NumberOfPointsPerBin, int, 1, VTK_INT_MAX);
125 vtkGetMacro(NumberOfPointsPerBin, int);
127
129
135 vtkGetObjectMacro(Kernel, vtkInterpolationKernel);
137
138protected:
140 ~vtkVoxelGrid() override;
141
144
145 int Divisions[3];
146 double LeafSize[3];
149
152
153private:
154 vtkVoxelGrid(const vtkVoxelGrid&) = delete;
155 void operator=(const vtkVoxelGrid&) = delete;
156};
157
158#endif
a simple class to control print indentation
Definition: vtkIndent.h:113
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
base class for interpolation kernels
Superclass for algorithms that produce only polydata as output.
quickly locate points in 3-space
subsample points using uniform binning
Definition: vtkVoxelGrid.h:57
void SetConfigurationStyleToLeafSize()
Configure how the filter is to operate.
Definition: vtkVoxelGrid.h:91
Style
This enum is used to configure the operation of the filter.
Definition: vtkVoxelGrid.h:73
vtkInterpolationKernel * Kernel
Definition: vtkVoxelGrid.h:148
void SetConfigurationStyleToManual()
Configure how the filter is to operate.
Definition: vtkVoxelGrid.h:90
~vtkVoxelGrid() override
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
void SetKernel(vtkInterpolationKernel *kernel)
Specify an interpolation kernel to combine the point attributes.
int NumberOfPointsPerBin
Definition: vtkVoxelGrid.h:147
void SetConfigurationStyleToAutomatic()
Configure how the filter is to operate.
Definition: vtkVoxelGrid.h:92
int ConfigurationStyle
Definition: vtkVoxelGrid.h:143
static vtkVoxelGrid * New()
Standard methods for instantiating, obtaining type information, and printing information.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instantiating, obtaining type information, and printing information.
vtkStaticPointLocator * Locator
Definition: vtkVoxelGrid.h:142
@ info
Definition: vtkX3D.h:382
@ port
Definition: vtkX3D.h:453
#define VTK_INT_MAX
Definition: vtkType.h:155