VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
vtkRecursiveDividingCubes.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkRecursiveDividingCubes.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 =========================================================================*/
39 #ifndef __vtkRecursiveDividingCubes_h
40 #define __vtkRecursiveDividingCubes_h
41 
42 #include "vtkFiltersGeneralModule.h" // For export macro
43 #include "vtkPolyDataAlgorithm.h"
44 
45 class vtkVoxel;
46 
47 class VTKFILTERSGENERAL_EXPORT vtkRecursiveDividingCubes : public vtkPolyDataAlgorithm
48 {
49 public:
52  void PrintSelf(ostream& os, vtkIndent indent);
53 
55 
56  vtkSetMacro(Value,double);
57  vtkGetMacro(Value,double);
59 
61 
62  vtkSetClampMacro(Distance,double,1.0e-06,VTK_DOUBLE_MAX);
63  vtkGetMacro(Distance,double);
65 
67 
70  vtkSetClampMacro(Increment,int,1,VTK_INT_MAX);
71  vtkGetMacro(Increment,int);
73 
74 protected:
77 
78  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
79  virtual int FillInputPortInformation(int port, vtkInformation *info);
80  void SubDivide(double origin[3], double h[3], double values[8]);
81 
82  double Value;
83  double Distance;
84  int Increment;
85 
86  // working variable
87  int Count;
88 
89  // to replace a static
90  vtkVoxel *Voxel;
91 private:
92  vtkRecursiveDividingCubes(const vtkRecursiveDividingCubes&); // Not implemented.
93  void operator=(const vtkRecursiveDividingCubes&); // Not implemented.
94 };
95 
96 #endif
virtual int FillInputPortInformation(int port, vtkInformation *info)
create points laying on isosurface (using recursive approach)
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
static vtkPolyDataAlgorithm * New()
void PrintSelf(ostream &os, vtkIndent indent)
Superclass for algorithms that produce only polydata as output.