00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00039
#ifndef __vtkRecursiveDividingCubes_h
00040
#define __vtkRecursiveDividingCubes_h
00041
00042
#include "vtkStructuredPointsToPolyDataFilter.h"
00043
00044
class vtkVoxel;
00045
00046 class VTK_GRAPHICS_EXPORT vtkRecursiveDividingCubes :
public vtkStructuredPointsToPolyDataFilter
00047 {
00048
public:
00049
static vtkRecursiveDividingCubes *
New();
00050 vtkTypeRevisionMacro(vtkRecursiveDividingCubes,
vtkStructuredPointsToPolyDataFilter);
00051
void PrintSelf(ostream& os,
vtkIndent indent);
00052
00054
00055 vtkSetMacro(Value,
double);
00056 vtkGetMacro(Value,
double);
00058
00060
00061 vtkSetClampMacro(Distance,
double,1.0e-06,VTK_DOUBLE_MAX);
00062 vtkGetMacro(Distance,
double);
00064
00066
00069 vtkSetClampMacro(Increment,
int,1,VTK_LARGE_INTEGER);
00070 vtkGetMacro(Increment,
int);
00072
00073
protected:
00074 vtkRecursiveDividingCubes();
00075 ~vtkRecursiveDividingCubes();
00076
00077
void Execute();
00078
void SubDivide(
double origin[3],
double h[3],
double values[8]);
00079
00080 double Value;
00081 double Distance;
00082 int Increment;
00083
00084
00085 int Count;
00086
00087
00088 vtkVoxel *Voxel;
00089
private:
00090 vtkRecursiveDividingCubes(
const vtkRecursiveDividingCubes&);
00091
void operator=(
const vtkRecursiveDividingCubes&);
00092 };
00093
00094
#endif
00095
00096