VTK  9.2.5
vtkHierarchicalBinningFilter.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkHierarchicalBinningFilter.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=========================================================================*/
73#ifndef vtkHierarchicalBinningFilter_h
74#define vtkHierarchicalBinningFilter_h
75
76#include "vtkFiltersPointsModule.h" // For export macro
78
79#define VTK_MAX_LEVEL 12
80
81struct vtkBinTree;
82
83class VTKFILTERSPOINTS_EXPORT vtkHierarchicalBinningFilter : public vtkPolyDataAlgorithm
84{
85public:
87
93 void PrintSelf(ostream& os, vtkIndent indent) override;
95
97
101 vtkSetClampMacro(NumberOfLevels, int, 1, VTK_MAX_LEVEL);
102 vtkGetMacro(NumberOfLevels, int);
104
106
112 vtkSetMacro(Automatic, bool);
113 vtkGetMacro(Automatic, bool);
114 vtkBooleanMacro(Automatic, bool);
116
118
124 vtkSetVector3Macro(Divisions, int);
125 vtkGetVectorMacro(Divisions, int, 3);
127
129
136 vtkSetVector6Macro(Bounds, double);
137 vtkGetVectorMacro(Bounds, double, 6);
139
147
153 int GetNumberOfBins(int level);
154
161
168 vtkIdType GetBinOffset(int globalBin, vtkIdType& npts);
169
176 vtkIdType GetLocalBinOffset(int level, int localBin, vtkIdType& npts);
177
183 void GetBinBounds(int globalBin, double bounds[6]);
184
191 void GetLocalBinBounds(int level, int localBin, double bounds[6]);
192
193protected:
196
197 // IVars
200 int Divisions[3];
201 double Bounds[6];
202
203 // Handle to the underlying implementation. The representation is maintained so
204 // that the convenience functions can be invoked on the bin tree.
205 vtkBinTree* Tree;
206
208 int FillInputPortInformation(int port, vtkInformation* info) override;
209
210private:
212 void operator=(const vtkHierarchicalBinningFilter&) = delete;
213};
214
215#endif
uniform binning of points into a hierarchical structure
~vtkHierarchicalBinningFilter() override
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
static vtkHierarchicalBinningFilter * New()
Standard methods for instantiating, obtaining type information, and printing information.
void GetLocalBinBounds(int level, int localBin, double bounds[6])
Convenience methods for extracting useful information about a bin tree.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instantiating, obtaining type information, and printing information.
vtkIdType GetLocalBinOffset(int level, int localBin, vtkIdType &npts)
Convenience methods for extracting useful information about this bin tree.
void GetBinBounds(int globalBin, double bounds[6])
Convenience methods for extracting useful information about a bin tree.
vtkIdType GetLevelOffset(int level, vtkIdType &npts)
Convenience methods for extracting useful information about this bin tree.
int GetNumberOfBins(int level)
Convenience methods for extracting useful information about this bin tree.
vtkIdType GetBinOffset(int globalBin, vtkIdType &npts)
Convenience methods for extracting useful information about this bin tree.
int GetNumberOfGlobalBins()
Convenience methods for extracting useful information about this bin tree.
a simple class to control print indentation
Definition: vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only polydata as output.
#define VTK_MAX_LEVEL
int vtkIdType
Definition: vtkType.h:332