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 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 =========================================================================*/ 00030 #ifndef __vtkImageStencilData_h 00031 #define __vtkImageStencilData_h 00032 00033 00034 #include "vtkDataObject.h" 00035 00036 class VTK_IMAGING_EXPORT vtkImageStencilData : public vtkDataObject 00037 { 00038 public: 00039 static vtkImageStencilData *New(); 00040 vtkTypeRevisionMacro(vtkImageStencilData, vtkDataObject); 00041 void PrintSelf(ostream& os, vtkIndent indent); 00042 00043 00044 #ifndef VTK_REMOVE_LEGACY_CODE 00045 00046 virtual vtkDataObject* MakeObject(); 00047 #endif 00048 00049 void Initialize(); 00050 void DeepCopy(vtkDataObject *o); 00051 void ShallowCopy(vtkDataObject *f); 00052 void InternalImageStencilDataCopy(vtkImageStencilData *s); 00053 00056 int GetDataObjectType() { return VTK_DATA_OBJECT; } 00057 00059 int GetExtentType() { return VTK_3D_EXTENT; }; 00060 00062 00070 int GetNextExtent(int &r1, int &r2, int xMin, int xMax, 00071 int yIdx, int zIdx, int &iter); 00073 00079 void InsertNextExtent(int r1, int r2, int yIdx, int zIdx); 00080 00082 00085 vtkSetVector3Macro(Spacing, float); 00086 vtkGetVector3Macro(Spacing, float); 00088 00090 00093 vtkSetVector3Macro(Origin, float); 00094 vtkGetVector3Macro(Origin, float); 00096 00098 00101 vtkSetVector6Macro(Extent, int); 00102 vtkGetVector6Macro(Extent, int); 00104 00106 00108 vtkSetVector3Macro(OldSpacing, float); 00109 vtkGetVector3Macro(OldSpacing, float); 00111 00113 00115 vtkSetVector3Macro(OldOrigin, float); 00116 vtkGetVector3Macro(OldOrigin, float); 00118 00121 void AllocateExtents(); 00122 00129 void UpdateData(); 00130 00135 void PropagateUpdateExtent(); 00136 00142 void TriggerAsynchronousUpdate(); 00143 00144 protected: 00145 vtkImageStencilData(); 00146 ~vtkImageStencilData(); 00147 00150 int SpacingOrOriginHasChanged(); 00151 00153 00155 float OldSpacing[3]; 00156 float OldOrigin[3]; 00158 00160 00161 float Spacing[3]; 00162 float Origin[3]; 00164 00166 00167 int NumberOfExtentEntries; 00168 int *ExtentListLengths; 00169 int **ExtentLists; 00171 private: 00172 vtkImageStencilData(const vtkImageStencilData&); // Not implemented. 00173 void operator=(const vtkImageStencilData&); // Not implemented. 00174 }; 00175 00176 #endif 00177 00178 00179