VTK  9.3.20240227
vtkRecursiveDividingCubes.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
28 #ifndef vtkRecursiveDividingCubes_h
29 #define vtkRecursiveDividingCubes_h
30 
31 #include "vtkFiltersGeneralModule.h" // For export macro
32 #include "vtkPolyDataAlgorithm.h"
33 
34 VTK_ABI_NAMESPACE_BEGIN
35 class vtkVoxel;
36 
37 class VTKFILTERSGENERAL_EXPORT vtkRecursiveDividingCubes : public vtkPolyDataAlgorithm
38 {
39 public:
42  void PrintSelf(ostream& os, vtkIndent indent) override;
43 
45 
48  vtkSetMacro(Value, double);
49  vtkGetMacro(Value, double);
51 
53 
56  vtkSetClampMacro(Distance, double, 1.0e-06, VTK_DOUBLE_MAX);
57  vtkGetMacro(Distance, double);
59 
61 
66  vtkSetClampMacro(Increment, int, 1, VTK_INT_MAX);
67  vtkGetMacro(Increment, int);
69 
70 protected:
73 
76  void SubDivide(double origin[3], double h[3], double values[8]);
77 
78  double Value;
79  double Distance;
80  int Increment;
81 
82  // working variable
83  int Count;
84 
85  // to replace a static
87 
88 private:
90  void operator=(const vtkRecursiveDividingCubes&) = delete;
91 };
92 
93 VTK_ABI_NAMESPACE_END
94 #endif
a simple class to control print indentation
Definition: vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only polydata as output.
create points laying on isosurface (using recursive approach)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
~vtkRecursiveDividingCubes() override
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
void SubDivide(double origin[3], double h[3], double values[8])
static vtkRecursiveDividingCubes * New()
Computes the portion of a dataset which is inside a selection.
a cell that represents a 3D orthogonal parallelepiped
Definition: vtkVoxel.h:80
@ info
Definition: vtkX3D.h:376
@ port
Definition: vtkX3D.h:447
#define VTK_DOUBLE_MAX
Definition: vtkType.h:154
#define VTK_INT_MAX
Definition: vtkType.h:144