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

vtkImageEllipsoidSource.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkImageEllipsoidSource.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 =========================================================================*/
00038 #ifndef __vtkImageEllipsoidSource_h
00039 #define __vtkImageEllipsoidSource_h
00040 
00041 #include "vtkImageAlgorithm.h"
00042 
00043 class VTK_IMAGING_EXPORT vtkImageEllipsoidSource : public vtkImageAlgorithm
00044 {
00045 public:
00046   static vtkImageEllipsoidSource *New();
00047   vtkTypeRevisionMacro(vtkImageEllipsoidSource,vtkImageAlgorithm);
00048   void PrintSelf(ostream& os, vtkIndent indent);   
00049   
00051 
00052   void SetWholeExtent(int extent[6]);
00053   void SetWholeExtent(int minX, int maxX, int minY, int maxY, 
00054                             int minZ, int maxZ);
00055   void GetWholeExtent(int extent[6]);
00056   int *GetWholeExtent() {return this->WholeExtent;}
00058   
00060 
00061   vtkSetVector3Macro(Center, double);
00062   vtkGetVector3Macro(Center, double);
00064   
00066 
00067   vtkSetVector3Macro(Radius, double);
00068   vtkGetVector3Macro(Radius, double);
00070 
00072 
00073   vtkSetMacro(InValue,double);
00074   vtkGetMacro(InValue,double);
00076 
00078 
00079   vtkSetMacro(OutValue,double);
00080   vtkGetMacro(OutValue,double);
00082   
00084 
00085   vtkSetMacro(OutputScalarType,int);
00086   vtkGetMacro(OutputScalarType,int);
00087   void SetOutputScalarTypeToFloat()
00088     {this->SetOutputScalarType(VTK_FLOAT);}
00089   void SetOutputScalarTypeToDouble()
00090     {this->SetOutputScalarType(VTK_DOUBLE);}
00091   void SetOutputScalarTypeToLong()
00092     {this->SetOutputScalarType(VTK_LONG);}
00093   void SetOutputScalarTypeToUnsignedLong()
00094     {this->SetOutputScalarType(VTK_UNSIGNED_LONG);};
00095   void SetOutputScalarTypeToInt()
00096     {this->SetOutputScalarType(VTK_INT);}
00097   void SetOutputScalarTypeToUnsignedInt()
00098     {this->SetOutputScalarType(VTK_UNSIGNED_INT);}
00099   void SetOutputScalarTypeToShort()
00100     {this->SetOutputScalarType(VTK_SHORT);}
00101   void SetOutputScalarTypeToUnsignedShort()
00102     {this->SetOutputScalarType(VTK_UNSIGNED_SHORT);}
00103   void SetOutputScalarTypeToChar()
00104     {this->SetOutputScalarType(VTK_CHAR);}
00105   void SetOutputScalarTypeToUnsignedChar()
00106     {this->SetOutputScalarType(VTK_UNSIGNED_CHAR);}
00108   
00109 protected:
00110   vtkImageEllipsoidSource();
00111   ~vtkImageEllipsoidSource();
00112 
00113   int WholeExtent[6];
00114   double Center[3];
00115   double Radius[3];
00116   double InValue;
00117   double OutValue;
00118   int OutputScalarType;
00119   
00120   virtual void ExecuteInformation (vtkInformation *, vtkInformationVector *, vtkInformationVector *);
00121   virtual void ExecuteData(vtkDataObject *outData);
00122 private:
00123   vtkImageEllipsoidSource(const vtkImageEllipsoidSource&);  // Not implemented.
00124   void operator=(const vtkImageEllipsoidSource&);  // Not implemented.
00125 };
00126 
00127 
00128 #endif
00129 
00130