00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00030 #ifndef __vtkVoxelModeller_h
00031 #define __vtkVoxelModeller_h
00032
00033 #include "vtkImageAlgorithm.h"
00034
00035 class VTK_IMAGING_EXPORT vtkVoxelModeller : public vtkImageAlgorithm
00036 {
00037 public:
00038 vtkTypeRevisionMacro(vtkVoxelModeller,vtkImageAlgorithm);
00039 void PrintSelf(ostream& os, vtkIndent indent);
00040
00046 static vtkVoxelModeller *New();
00047
00049 double ComputeModelBounds(double origin[3], double ar[3]);
00050
00052 void SetSampleDimensions(int i, int j, int k);
00053
00055
00056 void SetSampleDimensions(int dim[3]);
00057 vtkGetVectorMacro(SampleDimensions,int,3);
00059
00061
00063 vtkSetClampMacro(MaximumDistance,double,0.0,1.0);
00064 vtkGetMacro(MaximumDistance,double);
00066
00068
00069 void SetModelBounds(double bounds[6]);
00070 void SetModelBounds(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax);
00071 vtkGetVectorMacro(ModelBounds,double,6);
00073
00074 protected:
00075 vtkVoxelModeller();
00076 ~vtkVoxelModeller() {};
00077
00078
00079 virtual int RequestInformation (vtkInformation *,
00080 vtkInformationVector **,
00081 vtkInformationVector *);
00082
00083
00084 virtual int RequestData(vtkInformation *request,
00085 vtkInformationVector** inputVector,
00086 vtkInformationVector* outputVector);
00087
00088
00089 virtual int FillInputPortInformation(int port, vtkInformation* info);
00090
00091 int SampleDimensions[3];
00092 double MaximumDistance;
00093 double ModelBounds[6];
00094 private:
00095 vtkVoxelModeller(const vtkVoxelModeller&);
00096 void operator=(const vtkVoxelModeller&);
00097 };
00098
00099 #endif