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

dox/Imaging/vtkImageStencilData.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkImageStencilData.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 __vtkImageStencilData_h 00027 #define __vtkImageStencilData_h 00028 00029 00030 #include "vtkDataObject.h" 00031 00032 class VTK_IMAGING_EXPORT vtkImageStencilData : public vtkDataObject 00033 { 00034 public: 00035 static vtkImageStencilData *New(); 00036 vtkTypeRevisionMacro(vtkImageStencilData, vtkDataObject); 00037 void PrintSelf(ostream& os, vtkIndent indent); 00038 00039 void Initialize(); 00040 void DeepCopy(vtkDataObject *o); 00041 void ShallowCopy(vtkDataObject *f); 00042 void InternalImageStencilDataCopy(vtkImageStencilData *s); 00043 00046 int GetDataObjectType() { return VTK_DATA_OBJECT; } 00047 00049 int GetExtentType() { return VTK_3D_EXTENT; }; 00050 00052 00060 int GetNextExtent(int &r1, int &r2, int xMin, int xMax, 00061 int yIdx, int zIdx, int &iter); 00063 00069 void InsertNextExtent(int r1, int r2, int yIdx, int zIdx); 00070 00072 00075 vtkSetVector3Macro(Spacing, double); 00076 vtkGetVector3Macro(Spacing, double); 00078 00080 00083 vtkSetVector3Macro(Origin, double); 00084 vtkGetVector3Macro(Origin, double); 00086 00088 00091 vtkSetVector6Macro(Extent, int); 00092 vtkGetVector6Macro(Extent, int); 00094 00096 00098 vtkSetVector3Macro(OldSpacing, double); 00099 vtkGetVector3Macro(OldSpacing, double); 00101 00103 00105 vtkSetVector3Macro(OldOrigin, double); 00106 vtkGetVector3Macro(OldOrigin, double); 00108 00111 void AllocateExtents(); 00112 00119 void UpdateData(); 00120 00125 void PropagateUpdateExtent(); 00126 00132 void TriggerAsynchronousUpdate(); 00133 00134 protected: 00135 vtkImageStencilData(); 00136 ~vtkImageStencilData(); 00137 00140 int SpacingOrOriginHasChanged(); 00141 00143 00145 double OldSpacing[3]; 00146 double OldOrigin[3]; 00148 00150 00151 double Spacing[3]; 00152 double Origin[3]; 00154 00156 00157 int NumberOfExtentEntries; 00158 int *ExtentListLengths; 00159 int **ExtentLists; 00161 private: 00162 vtkImageStencilData(const vtkImageStencilData&); // Not implemented. 00163 void operator=(const vtkImageStencilData&); // Not implemented. 00164 }; 00165 00166 #endif 00167 00168 00169