00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00028 #ifndef __vtkImplicitFunctionToImageStencil_h
00029 #define __vtkImplicitFunctionToImageStencil_h
00030
00031
00032 #include "vtkImageStencilSource.h"
00033
00034 class vtkImplicitFunction;
00035 class vtkImageData;
00036
00037 class VTK_IMAGING_EXPORT vtkImplicitFunctionToImageStencil : public vtkImageStencilSource
00038 {
00039 public:
00040 static vtkImplicitFunctionToImageStencil *New();
00041 vtkTypeMacro(vtkImplicitFunctionToImageStencil, vtkImageStencilSource);
00042 void PrintSelf(ostream& os, vtkIndent indent);
00043
00045
00046 virtual void SetInput(vtkImplicitFunction*);
00047 vtkGetObjectMacro(Input, vtkImplicitFunction);
00049
00051
00056 virtual void SetInformationInput(vtkImageData*);
00057 vtkGetObjectMacro(InformationInput, vtkImageData);
00059
00061
00064 vtkSetVector3Macro(OutputOrigin, double);
00065 vtkGetVector3Macro(OutputOrigin, double);
00067
00069
00072 vtkSetVector3Macro(OutputSpacing, double);
00073 vtkGetVector3Macro(OutputSpacing, double);
00075
00077
00081 vtkSetVector6Macro(OutputWholeExtent, int);
00082 vtkGetVector6Macro(OutputWholeExtent, int);
00084
00086
00087 vtkSetMacro(Threshold, double);
00088 vtkGetMacro(Threshold, double);
00090
00091 protected:
00092 vtkImplicitFunctionToImageStencil();
00093 ~vtkImplicitFunctionToImageStencil();
00094
00095 virtual int RequestData(vtkInformation *, vtkInformationVector **,
00096 vtkInformationVector *);
00097 virtual int RequestInformation(vtkInformation *, vtkInformationVector **,
00098 vtkInformationVector *);
00099
00100 vtkImplicitFunction *Input;
00101 double Threshold;
00102
00104 vtkImageData *InformationInput;
00105
00107
00108 int OutputWholeExtent[6];
00109 double OutputOrigin[3];
00110 double OutputSpacing[3];
00112
00113 private:
00114 vtkImplicitFunctionToImageStencil(const vtkImplicitFunctionToImageStencil&);
00115 void operator=(const vtkImplicitFunctionToImageStencil&);
00116 };
00117
00118 #endif
00119