00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00043 #ifndef __vtkImageDataGeometryFilter_h
00044 #define __vtkImageDataGeometryFilter_h
00045 
00046 #include "vtkPolyDataAlgorithm.h"
00047 
00048 class VTK_GRAPHICS_EXPORT vtkImageDataGeometryFilter : public vtkPolyDataAlgorithm
00049 {
00050 public:
00051   vtkTypeMacro(vtkImageDataGeometryFilter,vtkPolyDataAlgorithm);
00052   void PrintSelf(ostream& os, vtkIndent indent);
00053   
00055   static vtkImageDataGeometryFilter *New();
00056  
00058 
00059   void SetExtent(int extent[6]);
00060   void SetExtent(int iMin, int iMax, int jMin, int jMax, int kMin, int kMax);
00061   int *GetExtent() { return this->Extent;};
00063 
00065 
00068   vtkSetMacro(ThresholdCells,int);
00069   vtkGetMacro(ThresholdCells,int);
00070   vtkBooleanMacro(ThresholdCells,int);
00072 
00074 
00077   vtkSetMacro(ThresholdValue,double);
00078   vtkGetMacro(ThresholdValue,double);
00079   vtkBooleanMacro(ThresholdValue,double);
00081 
00083 
00086   vtkSetMacro(OutputTriangles,int);
00087   vtkGetMacro(OutputTriangles,int);
00088   vtkBooleanMacro(OutputTriangles,int);
00090 
00091 protected:
00092   vtkImageDataGeometryFilter();
00093   ~vtkImageDataGeometryFilter() {};
00094 
00095   virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00096   virtual int FillInputPortInformation(int port, vtkInformation *info);
00097 
00098   int    Extent[6];
00099   int    ThresholdCells;
00100   double ThresholdValue;
00101   int    OutputTriangles;
00102 
00103 private:
00104   vtkImageDataGeometryFilter(const vtkImageDataGeometryFilter&);  
00105   void operator=(const vtkImageDataGeometryFilter&);  
00106 };
00107 
00108 #endif