VTK
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);
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
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
210
211private:
213 void operator=(const vtkHierarchicalBinningFilter&) VTK_DELETE_FUNCTION;
214
215};
216
217#endif
uniform binning of points into a hierarchical structure
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
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.
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
virtual int FillInputPortInformation(int port, vtkInformation *info)
Fill the input port information objects for this algorithm.
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.
@ info
Definition: vtkX3D.h:376
@ level
Definition: vtkX3D.h:395
@ port
Definition: vtkX3D.h:447
#define VTK_MAX_LEVEL
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
int vtkIdType
Definition: vtkType.h:287