Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound 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   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 =========================================================================*/
00042 #ifndef __vtkImageEllipsoidSource_h
00043 #define __vtkImageEllipsoidSource_h
00044 
00045 #include "vtkImageSource.h"
00046 
00047 class VTK_IMAGING_EXPORT vtkImageEllipsoidSource : public vtkImageSource
00048 {
00049 public:
00050   static vtkImageEllipsoidSource *New();
00051   vtkTypeRevisionMacro(vtkImageEllipsoidSource,vtkImageSource);
00052   void PrintSelf(ostream& os, vtkIndent indent);   
00053   
00055 
00056   void SetWholeExtent(int extent[6]);
00057   void SetWholeExtent(int minX, int maxX, int minY, int maxY, 
00058                             int minZ, int maxZ);
00059   void GetWholeExtent(int extent[6]);
00060   int *GetWholeExtent() {return this->WholeExtent;}
00062   
00064 
00065   vtkSetVector3Macro(Center, float);
00066   vtkGetVector3Macro(Center, float);
00068   
00070 
00071   vtkSetVector3Macro(Radius, float);
00072   vtkGetVector3Macro(Radius, float);
00074 
00076 
00077   vtkSetMacro(InValue,float);
00078   vtkGetMacro(InValue,float);
00080 
00082 
00083   vtkSetMacro(OutValue,float);
00084   vtkGetMacro(OutValue,float);
00086   
00088 
00089   vtkSetMacro(OutputScalarType,int);
00090   vtkGetMacro(OutputScalarType,int);
00091   void SetOutputScalarTypeToDouble()
00092     {this->SetOutputScalarType(VTK_DOUBLE);}
00093   void SetOutputScalarTypeToFloat()
00094     {this->SetOutputScalarType(VTK_FLOAT);}
00095   void SetOutputScalarTypeToLong()
00096     {this->SetOutputScalarType(VTK_LONG);}
00097   void SetOutputScalarTypeToUnsignedLong()
00098     {this->SetOutputScalarType(VTK_UNSIGNED_LONG);};
00099   void SetOutputScalarTypeToInt()
00100     {this->SetOutputScalarType(VTK_INT);}
00101   void SetOutputScalarTypeToUnsignedInt()
00102     {this->SetOutputScalarType(VTK_UNSIGNED_INT);}
00103   void SetOutputScalarTypeToShort()
00104     {this->SetOutputScalarType(VTK_SHORT);}
00105   void SetOutputScalarTypeToUnsignedShort()
00106     {this->SetOutputScalarType(VTK_UNSIGNED_SHORT);}
00107   void SetOutputScalarTypeToChar()
00108     {this->SetOutputScalarType(VTK_CHAR);}
00109   void SetOutputScalarTypeToUnsignedChar()
00110     {this->SetOutputScalarType(VTK_UNSIGNED_CHAR);}
00112   
00113 protected:
00114   vtkImageEllipsoidSource();
00115   ~vtkImageEllipsoidSource();
00116 
00117   int WholeExtent[6];
00118   float Center[3];
00119   float Radius[3];
00120   float InValue;
00121   float OutValue;
00122   int OutputScalarType;
00123   
00124   virtual void ExecuteInformation();
00125   virtual void ExecuteData(vtkDataObject *outData);
00126 private:
00127   vtkImageEllipsoidSource(const vtkImageEllipsoidSource&);  // Not implemented.
00128   void operator=(const vtkImageEllipsoidSource&);  // Not implemented.
00129 };
00130 
00131 
00132 #endif
00133 
00134