Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkImageSinusoidSource.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkImageSinusoidSource.h,v $
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 =========================================================================*/
00036 #ifndef __vtkImageSinusoidSource_h
00037 #define __vtkImageSinusoidSource_h
00038 
00039 #include "vtkImageAlgorithm.h"
00040 
00041 class VTK_IMAGING_EXPORT vtkImageSinusoidSource : public vtkImageAlgorithm
00042 {
00043 public:
00044   static vtkImageSinusoidSource *New();
00045   vtkTypeRevisionMacro(vtkImageSinusoidSource,vtkImageAlgorithm);
00046   void PrintSelf(ostream& os, vtkIndent indent);
00047 
00049 
00050   void SetWholeExtent(int xMinx, int xMax, int yMin, int yMax,
00051                       int zMin, int zMax);
00053   
00055 
00057   void SetDirection(double,double,double);
00058   void SetDirection(double dir[3]);
00059   vtkGetVector3Macro(Direction, double);
00061   
00063 
00064   vtkSetMacro(Period, double);
00065   vtkGetMacro(Period, double);
00067 
00069 
00070   vtkSetMacro(Phase, double);
00071   vtkGetMacro(Phase, double);
00073 
00075 
00076   vtkSetMacro(Amplitude, double);
00077   vtkGetMacro(Amplitude, double);
00079 
00080 protected:
00081   vtkImageSinusoidSource();
00082   ~vtkImageSinusoidSource() {};
00083 
00084   int WholeExtent[6];
00085   double Direction[3];
00086   double Period;
00087   double Phase;
00088   double Amplitude;
00089 
00090   virtual void ExecuteInformation (vtkInformation *, vtkInformationVector *, vtkInformationVector *);
00091   virtual void ExecuteData(vtkDataObject *data);
00092 private:
00093   vtkImageSinusoidSource(const vtkImageSinusoidSource&);  // Not implemented.
00094   void operator=(const vtkImageSinusoidSource&);  // Not implemented.
00095 };
00096 
00097 
00098 #endif
00099 
00100 
00101