Patented/vtkDividingCubes.h
Go to the documentation of this file.00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00049 #ifndef __vtkDividingCubes_h
00050 #define __vtkDividingCubes_h
00051 
00052 #include "vtkStructuredPointsToPolyDataFilter.h"
00053 
00054 class vtkDoubleArray;
00055 class vtkIdList;
00056 class vtkVoxel;
00057 
00058 class VTK_PATENTED_EXPORT vtkDividingCubes : public vtkStructuredPointsToPolyDataFilter
00059 {
00060 public:
00061   static vtkDividingCubes *New();
00062   vtkTypeRevisionMacro(vtkDividingCubes,vtkStructuredPointsToPolyDataFilter);
00063   void PrintSelf(ostream& os, vtkIndent indent);
00064 
00066 
00067   vtkSetMacro(Value,double);
00068   vtkGetMacro(Value,double);
00070 
00072 
00073   vtkSetClampMacro(Distance,double,1.0e-06,VTK_DOUBLE_MAX);
00074   vtkGetMacro(Distance,double);
00076 
00078 
00081   vtkSetClampMacro(Increment,int,1,VTK_LARGE_INTEGER);
00082   vtkGetMacro(Increment,int);
00084 
00085 protected:
00086   vtkDividingCubes();
00087   ~vtkDividingCubes();
00088 
00089   void Execute();
00090   void SubDivide(double origin[3], int dim[3], double h[3], double values[8]);
00091 
00092   double Value;
00093   double Distance;
00094   int Increment;
00095 
00096   
00097   int Count;
00098 
00099   vtkIdList *SubVoxelPts;
00100   vtkVoxel *SubVoxel;
00101   vtkDoubleArray *SubVoxelScalars;
00102   vtkDoubleArray *SubVoxelNormals;
00103 private:
00104   vtkDividingCubes(const vtkDividingCubes&);  
00105   void operator=(const vtkDividingCubes&);  
00106 };
00107 
00108 #endif
00109 
00110