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