00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00028 #ifndef __vtkRTAnalyticSource_h
00029 #define __vtkRTAnalyticSource_h
00030 
00031 #include "vtkImageAlgorithm.h"
00032 
00033 class VTK_PARALLEL_EXPORT vtkRTAnalyticSource : public vtkImageAlgorithm
00034 {
00035 public:
00036   static vtkRTAnalyticSource *New();
00037   vtkTypeRevisionMacro(vtkRTAnalyticSource,vtkImageAlgorithm);
00038   void PrintSelf(ostream& os, vtkIndent indent);
00039 
00041 
00042   void SetWholeExtent(int xMinx, int xMax, int yMin, int yMax,
00043                       int zMin, int zMax);
00044   vtkGetVector6Macro(WholeExtent, int);
00046   
00048 
00049   vtkSetVector3Macro(Center, double);
00050   vtkGetVector3Macro(Center, double);
00052 
00054 
00055   vtkSetMacro(Maximum, double);
00056   vtkGetMacro(Maximum, double);
00058 
00060 
00061   vtkSetMacro(StandardDeviation, double);
00062   vtkGetMacro(StandardDeviation, double);
00064 
00066 
00067   vtkSetMacro(XFreq, double);
00068   vtkGetMacro(XFreq, double);
00069   vtkSetMacro(YFreq, double);
00070   vtkGetMacro(YFreq, double);
00071   vtkSetMacro(ZFreq, double);
00072   vtkGetMacro(ZFreq, double);
00074 
00075   vtkSetMacro(XMag, double);
00076   vtkGetMacro(XMag, double);
00077   vtkSetMacro(YMag, double);
00078   vtkGetMacro(YMag, double);
00079   vtkSetMacro(ZMag, double);
00080   vtkGetMacro(ZMag, double);
00081 
00082   vtkSetMacro(SubsampleRate, int);
00083   vtkGetMacro(SubsampleRate, int);
00084 
00085 protected:
00086   vtkRTAnalyticSource();
00087   ~vtkRTAnalyticSource() {};
00088 
00089   double XFreq;
00090   double YFreq;
00091   double ZFreq;
00092   double XMag;
00093   double YMag;
00094   double ZMag;
00095   double StandardDeviation;
00096   int WholeExtent[6];
00097   double Center[3];
00098   double Maximum;
00099   int SubsampleRate;
00100 
00101   virtual int RequestInformation (vtkInformation *, 
00102                                   vtkInformationVector **, 
00103                                   vtkInformationVector *);
00104   virtual void ExecuteData(vtkDataObject *data);
00105 private:
00106   vtkRTAnalyticSource(const vtkRTAnalyticSource&);  
00107   void operator=(const vtkRTAnalyticSource&);  
00108 };
00109 
00110 
00111 #endif