Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | 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   Language:  C++
00006 
00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
00008   All rights reserved.
00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00010 
00011      This software is distributed WITHOUT ANY WARRANTY; without even 
00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00013      PURPOSE.  See the above copyright notice for more information.
00014 
00015 =========================================================================*/
00030 #ifndef __vtkImageEllipsoidSource_h
00031 #define __vtkImageEllipsoidSource_h
00032 
00033 #include "vtkImageSource.h"
00034 
00035 class VTK_IMAGING_EXPORT vtkImageEllipsoidSource : public vtkImageSource
00036 {
00037 public:
00038   static vtkImageEllipsoidSource *New();
00039   vtkTypeRevisionMacro(vtkImageEllipsoidSource,vtkImageSource);
00040   void PrintSelf(ostream& os, vtkIndent indent);   
00041   
00043 
00044   void SetWholeExtent(int extent[6]);
00045   void SetWholeExtent(int minX, int maxX, int minY, int maxY, 
00046                             int minZ, int maxZ);
00047   void GetWholeExtent(int extent[6]);
00048   int *GetWholeExtent() {return this->WholeExtent;}
00050   
00052 
00053   vtkSetVector3Macro(Center, float);
00054   vtkGetVector3Macro(Center, float);
00056   
00058 
00059   vtkSetVector3Macro(Radius, float);
00060   vtkGetVector3Macro(Radius, float);
00062 
00064 
00065   vtkSetMacro(InValue,float);
00066   vtkGetMacro(InValue,float);
00068 
00070 
00071   vtkSetMacro(OutValue,float);
00072   vtkGetMacro(OutValue,float);
00074   
00076 
00077   vtkSetMacro(OutputScalarType,int);
00078   vtkGetMacro(OutputScalarType,int);
00079   void SetOutputScalarTypeToDouble()
00080     {this->SetOutputScalarType(VTK_DOUBLE);}
00081   void SetOutputScalarTypeToFloat()
00082     {this->SetOutputScalarType(VTK_FLOAT);}
00083   void SetOutputScalarTypeToLong()
00084     {this->SetOutputScalarType(VTK_LONG);}
00085   void SetOutputScalarTypeToUnsignedLong()
00086     {this->SetOutputScalarType(VTK_UNSIGNED_LONG);};
00087   void SetOutputScalarTypeToInt()
00088     {this->SetOutputScalarType(VTK_INT);}
00089   void SetOutputScalarTypeToUnsignedInt()
00090     {this->SetOutputScalarType(VTK_UNSIGNED_INT);}
00091   void SetOutputScalarTypeToShort()
00092     {this->SetOutputScalarType(VTK_SHORT);}
00093   void SetOutputScalarTypeToUnsignedShort()
00094     {this->SetOutputScalarType(VTK_UNSIGNED_SHORT);}
00095   void SetOutputScalarTypeToChar()
00096     {this->SetOutputScalarType(VTK_CHAR);}
00097   void SetOutputScalarTypeToUnsignedChar()
00098     {this->SetOutputScalarType(VTK_UNSIGNED_CHAR);}
00100   
00101 protected:
00102   vtkImageEllipsoidSource();
00103   ~vtkImageEllipsoidSource();
00104 
00105   int WholeExtent[6];
00106   float Center[3];
00107   float Radius[3];
00108   float InValue;
00109   float OutValue;
00110   int OutputScalarType;
00111   
00112   virtual void ExecuteInformation();
00113   virtual void ExecuteData(vtkDataObject *outData);
00114 private:
00115   vtkImageEllipsoidSource(const vtkImageEllipsoidSource&);  // Not implemented.
00116   void operator=(const vtkImageEllipsoidSource&);  // Not implemented.
00117 };
00118 
00119 
00120 #endif
00121 
00122