00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
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&);
00163
void operator=(
const vtkImageStencilData&);
00164 };
00165
00166
#endif
00167
00168
00169