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

Imaging/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 =========================================================================*/
00026 #ifndef __vtkImageEllipsoidSource_h
00027 #define __vtkImageEllipsoidSource_h
00028 
00029 #include "vtkImageSource.h"
00030 
00031 class VTK_IMAGING_EXPORT vtkImageEllipsoidSource : public vtkImageSource
00032 {
00033 public:
00034   static vtkImageEllipsoidSource *New();
00035   vtkTypeRevisionMacro(vtkImageEllipsoidSource,vtkImageSource);
00036   void PrintSelf(ostream& os, vtkIndent indent);   
00037   
00039 
00040   void SetWholeExtent(int extent[6]);
00041   void SetWholeExtent(int minX, int maxX, int minY, int maxY, 
00042                             int minZ, int maxZ);
00043   void GetWholeExtent(int extent[6]);
00044   int *GetWholeExtent() {return this->WholeExtent;}
00046   
00048 
00049   vtkSetVector3Macro(Center, double);
00050   vtkGetVector3Macro(Center, double);
00052   
00054 
00055   vtkSetVector3Macro(Radius, double);
00056   vtkGetVector3Macro(Radius, double);
00058 
00060 
00061   vtkSetMacro(InValue,double);
00062   vtkGetMacro(InValue,double);
00064 
00066 
00067   vtkSetMacro(OutValue,double);
00068   vtkGetMacro(OutValue,double);
00070   
00072 
00073   vtkSetMacro(OutputScalarType,int);
00074   vtkGetMacro(OutputScalarType,int);
00075   void SetOutputScalarTypeToFloat()
00076     {this->SetOutputScalarType(VTK_FLOAT);}
00077   void SetOutputScalarTypeToDouble()
00078     {this->SetOutputScalarType(VTK_DOUBLE);}
00079   void SetOutputScalarTypeToLong()
00080     {this->SetOutputScalarType(VTK_LONG);}
00081   void SetOutputScalarTypeToUnsignedLong()
00082     {this->SetOutputScalarType(VTK_UNSIGNED_LONG);};
00083   void SetOutputScalarTypeToInt()
00084     {this->SetOutputScalarType(VTK_INT);}
00085   void SetOutputScalarTypeToUnsignedInt()
00086     {this->SetOutputScalarType(VTK_UNSIGNED_INT);}
00087   void SetOutputScalarTypeToShort()
00088     {this->SetOutputScalarType(VTK_SHORT);}
00089   void SetOutputScalarTypeToUnsignedShort()
00090     {this->SetOutputScalarType(VTK_UNSIGNED_SHORT);}
00091   void SetOutputScalarTypeToChar()
00092     {this->SetOutputScalarType(VTK_CHAR);}
00093   void SetOutputScalarTypeToUnsignedChar()
00094     {this->SetOutputScalarType(VTK_UNSIGNED_CHAR);}
00096   
00097 protected:
00098   vtkImageEllipsoidSource();
00099   ~vtkImageEllipsoidSource();
00100 
00101   int WholeExtent[6];
00102   double Center[3];
00103   double Radius[3];
00104   double InValue;
00105   double OutValue;
00106   int OutputScalarType;
00107   
00108   virtual void ExecuteInformation();
00109   virtual void ExecuteData(vtkDataObject *outData);
00110 private:
00111   vtkImageEllipsoidSource(const vtkImageEllipsoidSource&);  // Not implemented.
00112   void operator=(const vtkImageEllipsoidSource&);  // Not implemented.
00113 };
00114 
00115 
00116 #endif
00117 
00118