VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkRTAnalyticSource.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00029 #ifndef __vtkRTAnalyticSource_h 00030 #define __vtkRTAnalyticSource_h 00031 00032 #include "vtkImageAlgorithm.h" 00033 00034 class VTK_IMAGING_EXPORT vtkRTAnalyticSource : public vtkImageAlgorithm 00035 { 00036 public: 00037 static vtkRTAnalyticSource *New(); 00038 vtkTypeMacro(vtkRTAnalyticSource,vtkImageAlgorithm); 00039 void PrintSelf(ostream& os, vtkIndent indent); 00040 00042 00044 void SetWholeExtent(int xMinx, int xMax, int yMin, int yMax, 00045 int zMin, int zMax); 00046 vtkGetVector6Macro(WholeExtent, int); 00048 00050 00051 vtkSetVector3Macro(Center, double); 00052 vtkGetVector3Macro(Center, double); 00054 00056 00057 vtkSetMacro(Maximum, double); 00058 vtkGetMacro(Maximum, double); 00060 00062 00063 vtkSetMacro(StandardDeviation, double); 00064 vtkGetMacro(StandardDeviation, double); 00066 00068 00069 vtkSetMacro(XFreq, double); 00070 vtkGetMacro(XFreq, double); 00072 00074 00075 vtkSetMacro(YFreq, double); 00076 vtkGetMacro(YFreq, double); 00078 00080 00081 vtkSetMacro(ZFreq, double); 00082 vtkGetMacro(ZFreq, double); 00084 00086 00087 vtkSetMacro(XMag, double); 00088 vtkGetMacro(XMag, double); 00090 00092 00093 vtkSetMacro(YMag, double); 00094 vtkGetMacro(YMag, double); 00096 00098 00099 vtkSetMacro(ZMag, double); 00100 vtkGetMacro(ZMag, double); 00102 00104 00105 vtkSetMacro(SubsampleRate, int); 00106 vtkGetMacro(SubsampleRate, int); 00108 00109 protected: 00114 vtkRTAnalyticSource(); 00115 00117 00118 ~vtkRTAnalyticSource() 00119 { 00120 } 00122 00123 double XFreq; 00124 double YFreq; 00125 double ZFreq; 00126 double XMag; 00127 double YMag; 00128 double ZMag; 00129 double StandardDeviation; 00130 int WholeExtent[6]; 00131 double Center[3]; 00132 double Maximum; 00133 int SubsampleRate; 00134 00135 virtual int RequestInformation(vtkInformation *request, 00136 vtkInformationVector **inputVector, 00137 vtkInformationVector *outputVector); 00138 virtual void ExecuteData(vtkDataObject *data); 00139 private: 00140 vtkRTAnalyticSource(const vtkRTAnalyticSource&); // Not implemented. 00141 void operator=(const vtkRTAnalyticSource&); // Not implemented. 00142 }; 00143 00144 00145 #endif