VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkImageEllipsoidSource.h 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 "vtkImageAlgorithm.h" 00030 00031 class VTK_IMAGING_EXPORT vtkImageEllipsoidSource : public vtkImageAlgorithm 00032 { 00033 public: 00034 static vtkImageEllipsoidSource *New(); 00035 vtkTypeMacro(vtkImageEllipsoidSource,vtkImageAlgorithm); 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 int RequestInformation (vtkInformation *, 00109 vtkInformationVector **, 00110 vtkInformationVector *); 00111 00112 virtual int RequestData(vtkInformation *, 00113 vtkInformationVector **, vtkInformationVector *); 00114 00115 private: 00116 vtkImageEllipsoidSource(const vtkImageEllipsoidSource&); // Not implemented. 00117 void operator=(const vtkImageEllipsoidSource&); // Not implemented. 00118 }; 00119 00120 00121 #endif 00122 00123