1 /*=========================================================================
3 Program: Visualization Toolkit
4 Module: $RCSfile: vtkRTAnalyticSource.h,v $
6 Date: $Date: 2002/01/22 15:34:55 $
7 Version: $Revision: 1.9 $
9 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen
11 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
13 This software is distributed WITHOUT ANY WARRANTY; without even
14 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 PURPOSE. See the above copyright notice for more information.
17 =========================================================================*/
18 // .NAME vtkRTAnalyticSource - Create an image for regression testing
19 // .SECTION Description
20 // vtkRTAnalyticSource just produces images with pixel values determined
21 // by a Maximum*Gaussian*XMag*sin(XFreq*x)*sin(YFreq*y)*cos(ZFreq*z)
24 #ifndef __vtkRTAnalyticSource_h
25 #define __vtkRTAnalyticSource_h
27 #include "vtkImageSource.h"
29 class VTK_PARALLEL_EXPORT vtkRTAnalyticSource : public vtkImageSource
32 static vtkRTAnalyticSource *New();
33 vtkTypeRevisionMacro(vtkRTAnalyticSource,vtkImageSource);
34 void PrintSelf(ostream& os, vtkIndent indent);
37 // Set/Get the extent of the whole output image.
38 void SetWholeExtent(int xMinx, int xMax, int yMin, int yMax,
40 vtkGetVector6Macro(WholeExtent, int);
43 // Set/Get the center of function.
44 vtkSetVector3Macro(Center, float);
45 vtkGetVector3Macro(Center, float);
48 // Set/Get the Maximum value of the function.
49 vtkSetMacro(Maximum, float);
50 vtkGetMacro(Maximum, float);
53 // Set/Get the standard deviation of the function.
54 vtkSetMacro(StandardDeviation, float);
55 vtkGetMacro(StandardDeviation, float);
58 // Set the natural frequencies in x,y and z
59 vtkSetMacro(XFreq, float);
60 vtkGetMacro(XFreq, float);
61 vtkSetMacro(YFreq, float);
62 vtkGetMacro(YFreq, float);
63 vtkSetMacro(ZFreq, float);
64 vtkGetMacro(ZFreq, float);
66 vtkSetMacro(XMag, float);
67 vtkGetMacro(XMag, float);
68 vtkSetMacro(YMag, float);
69 vtkGetMacro(YMag, float);
70 vtkSetMacro(ZMag, float);
71 vtkGetMacro(ZMag, float);
74 vtkRTAnalyticSource();
75 ~vtkRTAnalyticSource() {};
83 float StandardDeviation;
88 virtual void ExecuteInformation();
89 virtual void ExecuteData(vtkDataObject *data);
91 vtkRTAnalyticSource(const vtkRTAnalyticSource&); // Not implemented.
92 void operator=(const vtkRTAnalyticSource&); // Not implemented.