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 "vtkImagingSourcesModule.h" // For export macro 00030 #include "vtkImageAlgorithm.h" 00031 00032 class VTKIMAGINGSOURCES_EXPORT vtkImageEllipsoidSource : public vtkImageAlgorithm 00033 { 00034 public: 00035 static vtkImageEllipsoidSource *New(); 00036 vtkTypeMacro(vtkImageEllipsoidSource,vtkImageAlgorithm); 00037 void PrintSelf(ostream& os, vtkIndent indent); 00038 00040 00041 void SetWholeExtent(int extent[6]); 00042 void SetWholeExtent(int minX, int maxX, int minY, int maxY, 00043 int minZ, int maxZ); 00044 void GetWholeExtent(int extent[6]); 00045 int *GetWholeExtent() {return this->WholeExtent;} 00047 00049 00050 vtkSetVector3Macro(Center, double); 00051 vtkGetVector3Macro(Center, double); 00053 00055 00056 vtkSetVector3Macro(Radius, double); 00057 vtkGetVector3Macro(Radius, double); 00059 00061 00062 vtkSetMacro(InValue,double); 00063 vtkGetMacro(InValue,double); 00065 00067 00068 vtkSetMacro(OutValue,double); 00069 vtkGetMacro(OutValue,double); 00071 00073 00074 vtkSetMacro(OutputScalarType,int); 00075 vtkGetMacro(OutputScalarType,int); 00076 void SetOutputScalarTypeToFloat() 00077 {this->SetOutputScalarType(VTK_FLOAT);} 00078 void SetOutputScalarTypeToDouble() 00079 {this->SetOutputScalarType(VTK_DOUBLE);} 00080 void SetOutputScalarTypeToLong() 00081 {this->SetOutputScalarType(VTK_LONG);} 00082 void SetOutputScalarTypeToUnsignedLong() 00083 {this->SetOutputScalarType(VTK_UNSIGNED_LONG);}; 00084 void SetOutputScalarTypeToInt() 00085 {this->SetOutputScalarType(VTK_INT);} 00086 void SetOutputScalarTypeToUnsignedInt() 00087 {this->SetOutputScalarType(VTK_UNSIGNED_INT);} 00088 void SetOutputScalarTypeToShort() 00089 {this->SetOutputScalarType(VTK_SHORT);} 00090 void SetOutputScalarTypeToUnsignedShort() 00091 {this->SetOutputScalarType(VTK_UNSIGNED_SHORT);} 00092 void SetOutputScalarTypeToChar() 00093 {this->SetOutputScalarType(VTK_CHAR);} 00094 void SetOutputScalarTypeToUnsignedChar() 00095 {this->SetOutputScalarType(VTK_UNSIGNED_CHAR);} 00097 00098 protected: 00099 vtkImageEllipsoidSource(); 00100 ~vtkImageEllipsoidSource(); 00101 00102 int WholeExtent[6]; 00103 double Center[3]; 00104 double Radius[3]; 00105 double InValue; 00106 double OutValue; 00107 int OutputScalarType; 00108 00109 virtual int RequestInformation (vtkInformation *, 00110 vtkInformationVector **, 00111 vtkInformationVector *); 00112 00113 virtual int RequestData(vtkInformation *, 00114 vtkInformationVector **, vtkInformationVector *); 00115 00116 private: 00117 vtkImageEllipsoidSource(const vtkImageEllipsoidSource&); // Not implemented. 00118 void operator=(const vtkImageEllipsoidSource&); // Not implemented. 00119 }; 00120 00121 00122 #endif 00123 00124