VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkImageGridSource.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 =========================================================================*/ 00025 #ifndef __vtkImageGridSource_h 00026 #define __vtkImageGridSource_h 00027 00028 #include "vtkImageAlgorithm.h" 00029 00030 class VTK_IMAGING_EXPORT vtkImageGridSource : public vtkImageAlgorithm 00031 { 00032 public: 00033 static vtkImageGridSource *New(); 00034 vtkTypeMacro(vtkImageGridSource,vtkImageAlgorithm); 00035 void PrintSelf(ostream& os, vtkIndent indent); 00036 00038 00040 vtkSetVector3Macro(GridSpacing,int); 00041 vtkGetVector3Macro(GridSpacing,int); 00043 00045 00046 vtkSetVector3Macro(GridOrigin,int); 00047 vtkGetVector3Macro(GridOrigin,int); 00049 00051 00052 vtkSetMacro(LineValue,double); 00053 vtkGetMacro(LineValue,double); 00055 00057 00058 vtkSetMacro(FillValue,double); 00059 vtkGetMacro(FillValue,double); 00061 00063 00065 vtkSetMacro(DataScalarType,int); 00066 void SetDataScalarTypeToDouble(){this->SetDataScalarType(VTK_DOUBLE);} 00067 void SetDataScalarTypeToInt(){this->SetDataScalarType(VTK_INT);} 00068 void SetDataScalarTypeToShort(){this->SetDataScalarType(VTK_SHORT);} 00069 void SetDataScalarTypeToUnsignedShort() 00070 {this->SetDataScalarType(VTK_UNSIGNED_SHORT);} 00071 void SetDataScalarTypeToUnsignedChar() 00072 {this->SetDataScalarType(VTK_UNSIGNED_CHAR);} 00073 vtkGetMacro(DataScalarType, int); 00074 const char *GetDataScalarTypeAsString() { 00075 return vtkImageScalarTypeNameMacro(this->DataScalarType); } 00077 00079 00081 vtkSetVector6Macro(DataExtent,int); 00082 vtkGetVector6Macro(DataExtent,int); 00084 00086 00087 vtkSetVector3Macro(DataSpacing,double); 00088 vtkGetVector3Macro(DataSpacing,double); 00090 00092 00093 vtkSetVector3Macro(DataOrigin,double); 00094 vtkGetVector3Macro(DataOrigin,double); 00096 00097 protected: 00098 vtkImageGridSource(); 00099 ~vtkImageGridSource() {}; 00100 00101 int GridSpacing[3]; 00102 int GridOrigin[3]; 00103 00104 double LineValue; 00105 double FillValue; 00106 00107 int DataScalarType; 00108 00109 int DataExtent[6]; 00110 double DataSpacing[3]; 00111 double DataOrigin[3]; 00112 00113 virtual int RequestInformation (vtkInformation*, 00114 vtkInformationVector**, 00115 vtkInformationVector*); 00116 virtual void ExecuteData(vtkDataObject *data); 00117 00118 private: 00119 vtkImageGridSource(const vtkImageGridSource&); // Not implemented. 00120 void operator=(const vtkImageGridSource&); // Not implemented. 00121 }; 00122 00123 00124 #endif