VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkImageSinusoidSource.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 =========================================================================*/ 00025 #ifndef __vtkImageSinusoidSource_h 00026 #define __vtkImageSinusoidSource_h 00027 00028 #include "vtkImageAlgorithm.h" 00029 00030 class VTK_IMAGING_EXPORT vtkImageSinusoidSource : public vtkImageAlgorithm 00031 { 00032 public: 00033 static vtkImageSinusoidSource *New(); 00034 vtkTypeMacro(vtkImageSinusoidSource,vtkImageAlgorithm); 00035 void PrintSelf(ostream& os, vtkIndent indent); 00036 00038 00039 void SetWholeExtent(int xMinx, int xMax, int yMin, int yMax, 00040 int zMin, int zMax); 00042 00044 00046 void SetDirection(double,double,double); 00047 void SetDirection(double dir[3]); 00048 vtkGetVector3Macro(Direction, double); 00050 00052 00053 vtkSetMacro(Period, double); 00054 vtkGetMacro(Period, double); 00056 00058 00059 vtkSetMacro(Phase, double); 00060 vtkGetMacro(Phase, double); 00062 00064 00065 vtkSetMacro(Amplitude, double); 00066 vtkGetMacro(Amplitude, double); 00068 00069 protected: 00070 vtkImageSinusoidSource(); 00071 ~vtkImageSinusoidSource() {}; 00072 00073 int WholeExtent[6]; 00074 double Direction[3]; 00075 double Period; 00076 double Phase; 00077 double Amplitude; 00078 00079 virtual int RequestInformation (vtkInformation *, vtkInformationVector**, vtkInformationVector *); 00080 virtual void ExecuteData(vtkDataObject *data); 00081 private: 00082 vtkImageSinusoidSource(const vtkImageSinusoidSource&); // Not implemented. 00083 void operator=(const vtkImageSinusoidSource&); // Not implemented. 00084 }; 00085 00086 00087 #endif 00088 00089 00090