OSDN Git Service

FIRST REPOSITORY
[eos/hostdependOTHERS.git] / I686LINUX / util / I686LINUX / include / vtk / vtkRTAnalyticSource.h
1 /*=========================================================================
2
3   Program:   Visualization Toolkit
4   Module:    $RCSfile: vtkRTAnalyticSource.h,v $
5   Language:  C++
6   Date:      $Date: 2002/01/22 15:34:55 $
7   Version:   $Revision: 1.9 $
8
9   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
10   All rights reserved.
11   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
12
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.
16
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)
22
23
24 #ifndef __vtkRTAnalyticSource_h
25 #define __vtkRTAnalyticSource_h
26
27 #include "vtkImageSource.h"
28
29 class VTK_PARALLEL_EXPORT vtkRTAnalyticSource : public vtkImageSource
30 {
31 public:
32   static vtkRTAnalyticSource *New();
33   vtkTypeRevisionMacro(vtkRTAnalyticSource,vtkImageSource);
34   void PrintSelf(ostream& os, vtkIndent indent);
35
36   // Description:
37   // Set/Get the extent of the whole output image.
38   void SetWholeExtent(int xMinx, int xMax, int yMin, int yMax,
39                       int zMin, int zMax);
40   vtkGetVector6Macro(WholeExtent, int);
41   
42   // Description:
43   // Set/Get the center of function.
44   vtkSetVector3Macro(Center, float);
45   vtkGetVector3Macro(Center, float);
46
47   // Description:
48   // Set/Get the Maximum value of the function.
49   vtkSetMacro(Maximum, float);
50   vtkGetMacro(Maximum, float);
51
52   // Description:
53   // Set/Get the standard deviation of the function.
54   vtkSetMacro(StandardDeviation, float);
55   vtkGetMacro(StandardDeviation, float);
56
57   // Description:
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);
65
66   vtkSetMacro(XMag, float);
67   vtkGetMacro(XMag, float);
68   vtkSetMacro(YMag, float);
69   vtkGetMacro(YMag, float);
70   vtkSetMacro(ZMag, float);
71   vtkGetMacro(ZMag, float);
72
73 protected:
74   vtkRTAnalyticSource();
75   ~vtkRTAnalyticSource() {};
76
77   float XFreq;
78   float YFreq;
79   float ZFreq;
80   float XMag;
81   float YMag;
82   float ZMag;
83   float StandardDeviation;
84   int WholeExtent[6];
85   float Center[3];
86   float Maximum;
87
88   virtual void ExecuteInformation();
89   virtual void ExecuteData(vtkDataObject *data);
90 private:
91   vtkRTAnalyticSource(const vtkRTAnalyticSource&);  // Not implemented.
92   void operator=(const vtkRTAnalyticSource&);  // Not implemented.
93 };
94
95
96 #endif