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

# 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 =========================================================================*/
    00040 #ifndef __vtkImageStencilData_h
    00041 #define __vtkImageStencilData_h
    00042
    00043
    00044 #include "vtkDataObject.h"
    00045
    00046 class VTK_IMAGING_EXPORT vtkImageStencilData : public vtkDataObject
    00047 {
    00048 public:
    00049   static vtkImageStencilData *New();
    00050   vtkTypeRevisionMacro(vtkImageStencilData, vtkDataObject);
    00051   void PrintSelf(ostream& os, vtkIndent indent);
    00052
    00053
    00054 #ifndef VTK_REMOVE_LEGACY_CODE
    00055
    00056   virtual vtkDataObject* MakeObject();
    00057 #endif
    00058
    00059   void Initialize();
    00060   void DeepCopy(vtkDataObject *o);
    00061   void ShallowCopy(vtkDataObject *f);
    00062   void InternalImageStencilDataCopy(vtkImageStencilData *s);
    00063
    00066   int GetDataObjectType() { return VTK_DATA_OBJECT; }
    00067
    00069   int GetExtentType() { return VTK_3D_EXTENT; };
    00070
    00072
    00080   int GetNextExtent(int &r1, int &r2, int xMin, int xMax,
    00081                     int yIdx, int zIdx, int &iter);
    00083
    00089   void InsertNextExtent(int r1, int r2, int yIdx, int zIdx);
    00090
    00092
    00095   vtkSetVector3Macro(Spacing, float);
    00096   vtkGetVector3Macro(Spacing, float);
    00098
    00100
    00103   vtkSetVector3Macro(Origin, float);
    00104   vtkGetVector3Macro(Origin, float);
    00106
    00108
    00111   vtkSetVector6Macro(Extent, int);
    00112   vtkGetVector6Macro(Extent, int);
    00114
    00116
    00118   vtkSetVector3Macro(OldSpacing, float);
    00119   vtkGetVector3Macro(OldSpacing, float);
    00121
    00123
    00125   vtkSetVector3Macro(OldOrigin, float);
    00126   vtkGetVector3Macro(OldOrigin, float);
    00128
    00131   void AllocateExtents();
    00132
    00139   void UpdateData();
    00140
    00145   void PropagateUpdateExtent();
    00146
    00152   void TriggerAsynchronousUpdate();
    00153
    00154 protected:
    00155   vtkImageStencilData();
    00156   ~vtkImageStencilData();
    00157
    00160   int SpacingOrOriginHasChanged();
    00161
    00163
    00165   float OldSpacing[3];
    00166   float OldOrigin[3];
    00168
    00170
    00171   float Spacing[3];
    00172   float Origin[3];
    00174
    00176
    00177   int NumberOfExtentEntries;
    00178   int *ExtentListLengths;
    00179   int **ExtentLists;
    00181 private:
    00182   vtkImageStencilData(const vtkImageStencilData&);  // Not implemented.
    00183   void operator=(const vtkImageStencilData&);  // Not implemented.
    00184 };
    00185
    00186 #endif
    00187
    00188
    00189