VTK  9.2.6
vtkBinnedDecimation.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkBinnedDecimation.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm 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=========================================================================*/
91
92#ifndef vtkBinnedDecimation_h
93#define vtkBinnedDecimation_h
94
95#include "vtkFiltersCoreModule.h" // For export macro
97
98class VTKFILTERSCORE_EXPORT vtkBinnedDecimation : public vtkPolyDataAlgorithm
99{
100public:
102
107 void PrintSelf(ostream& os, vtkIndent indent) override;
109
111
125 vtkGetMacro(NumberOfXDivisions, int);
126 vtkGetMacro(NumberOfYDivisions, int);
127 vtkGetMacro(NumberOfZDivisions, int);
128 void SetNumberOfDivisions(int div[3]) { this->SetNumberOfDivisions(div[0], div[1], div[2]); }
129 void SetNumberOfDivisions(int div0, int div1, int div2);
131 void GetNumberOfDivisions(int div[3]);
133
135
140 vtkSetMacro(AutoAdjustNumberOfDivisions, bool);
141 vtkGetMacro(AutoAdjustNumberOfDivisions, bool);
142 vtkBooleanMacro(AutoAdjustNumberOfDivisions, bool);
144
146
152 void SetDivisionOrigin(double x, double y, double z);
153 void SetDivisionOrigin(double o[3]) { this->SetDivisionOrigin(o[0], o[1], o[2]); }
154 vtkGetVector3Macro(DivisionOrigin, double);
155 void SetDivisionSpacing(double x, double y, double z);
156 void SetDivisionSpacing(double s[3]) { this->SetDivisionSpacing(s[0], s[1], s[2]); }
157 vtkGetVector3Macro(DivisionSpacing, double);
159
161
180 enum
181 {
186 };
188 vtkGetMacro(PointGenerationMode, int);
194
196
206 vtkSetMacro(ProducePointData, bool);
207 vtkGetMacro(ProducePointData, bool);
208 vtkBooleanMacro(ProducePointData, bool);
210
212
216 vtkSetMacro(ProduceCellData, bool);
217 vtkGetMacro(ProduceCellData, bool);
218 vtkBooleanMacro(ProduceCellData, bool);
219
221
227 bool GetLargeIds() { return this->LargeIds; }
228
229protected:
232
235
240
241 // Since there are two ways of specifying the grid, we the the flag below
242 // to indicate which the user has set. When this flag is on, the bin sizes
243 // are computed from the DivisionOrigin and DivisionSpacing.
245
247 double DivisionOrigin[3];
249 double Bounds[6];
250
255
256 // Helper function
258
259private:
261 void operator=(const vtkBinnedDecimation&) = delete;
262};
263
264#endif
void SetDivisionSpacing(double x, double y, double z)
This is an alternative way to set up the bins.
void SetPointGenerationModeToBinCenters()
Four options exist for generating output points.
void ConfigureBinning(vtkPolyData *input, vtkIdType numPts)
void SetNumberOfYDivisions(int num)
Set/Get the number of divisions along each axis for the spatial bins.
int FillInputPortInformation(int, vtkInformation *) override
Fill the input port information objects for this algorithm.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard instantiation, type and print methods.
~vtkBinnedDecimation() override
void SetNumberOfZDivisions(int num)
Set/Get the number of divisions along each axis for the spatial bins.
void SetDivisionOrigin(double o[3])
This is an alternative way to set up the bins.
void SetDivisionOrigin(double x, double y, double z)
This is an alternative way to set up the bins.
bool GetLargeIds()
Return a flag indicating whether large ids were used during execution.
void SetPointGenerationModeToBinAverages()
Four options exist for generating output points.
void SetNumberOfXDivisions(int num)
Set/Get the number of divisions along each axis for the spatial bins.
virtual void SetPointGenerationMode(int)
Four options exist for generating output points.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
void SetNumberOfDivisions(int div[3])
Set/Get the number of divisions along each axis for the spatial bins.
int * GetNumberOfDivisions()
Set/Get the number of divisions along each axis for the spatial bins.
void SetPointGenerationModeToBinPoints()
Four options exist for generating output points.
void SetPointGenerationModeToUseInputPoints()
Four options exist for generating output points.
void SetDivisionSpacing(double s[3])
This is an alternative way to set up the bins.
static vtkBinnedDecimation * New()
Standard instantiation, type and print methods.
void SetNumberOfDivisions(int div0, int div1, int div2)
Set/Get the number of divisions along each axis for the spatial bins.
a simple class to control print indentation
Definition vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition vtkPolyData.h:91
int vtkIdType
Definition vtkType.h:332
#define VTK_SIZEHINT(...)