VTK
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 =========================================================================*/
50 #ifndef vtkVoxelGrid_h
51 #define vtkVoxelGrid_h
52 
53 #include "vtkFiltersPointsModule.h" // For export macro
54 #include "vtkPolyDataAlgorithm.h"
55 
58 
59 
60 class VTKFILTERSPOINTS_EXPORT vtkVoxelGrid : public vtkPolyDataAlgorithm
61 {
62 public:
64 
68  static vtkVoxelGrid *New();
70  void PrintSelf(ostream& os, vtkIndent indent);
72 
76  enum Style
77  {
78  MANUAL=0,
79  SPECIFY_LEAF_SIZE=1,
80  AUTOMATIC=2
81  };
82 
84 
92  vtkSetMacro(ConfigurationStyle,int);
93  vtkGetMacro(ConfigurationStyle,int);
95  { this->SetConfigurationStyle(MANUAL); }
97  { this->SetConfigurationStyle(SPECIFY_LEAF_SIZE); }
99  { this->SetConfigurationStyle(AUTOMATIC); }
101 
103 
108  vtkSetVector3Macro(Divisions,int);
109  vtkGetVectorMacro(Divisions,int,3);
111 
113 
119  vtkSetVector3Macro(LeafSize,double);
120  vtkGetVectorMacro(LeafSize,double,3);
122 
124 
130  vtkSetClampMacro(NumberOfPointsPerBin,int,1,VTK_INT_MAX);
131  vtkGetMacro(NumberOfPointsPerBin,int);
133 
135 
140  void SetKernel(vtkInterpolationKernel *kernel);
141  vtkGetObjectMacro(Kernel,vtkInterpolationKernel);
143 
144 protected:
145  vtkVoxelGrid();
146  ~vtkVoxelGrid();
147 
150 
151  int Divisions[3];
152  double LeafSize[3];
155 
159 
160 private:
161  vtkVoxelGrid(const vtkVoxelGrid&) VTK_DELETE_FUNCTION;
162  void operator=(const vtkVoxelGrid&) VTK_DELETE_FUNCTION;
163 
164 };
165 
166 #endif
void SetConfigurationStyleToManual()
Configure how the filter is to operate.
Definition: vtkVoxelGrid.h:94
base class for interpolation kernels
void SetConfigurationStyleToAutomatic()
Configure how the filter is to operate.
Definition: vtkVoxelGrid.h:98
int NumberOfPointsPerBin
Definition: vtkVoxelGrid.h:153
Store vtkAlgorithm input/output information.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
#define VTK_INT_MAX
Definition: vtkType.h:153
static vtkPolyDataAlgorithm * New()
Superclass for algorithms that produce only polydata as output.
Style
This enum is used to configure the operation of the filter.
Definition: vtkVoxelGrid.h:76
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkInterpolationKernel * Kernel
Definition: vtkVoxelGrid.h:154
quickly locate points in 3-space
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
subsample points using uniform binning
Definition: vtkVoxelGrid.h:60
vtkStaticPointLocator * Locator
Definition: vtkVoxelGrid.h:148
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
Store zero or more vtkInformation instances.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetConfigurationStyleToLeafSize()
Configure how the filter is to operate.
Definition: vtkVoxelGrid.h:96
int ConfigurationStyle
Definition: vtkVoxelGrid.h:149