29 #ifndef __vtkImageStencilData_h
30 #define __vtkImageStencilData_h
33 #include "vtkImagingCoreModule.h"
41 void PrintSelf(ostream& os, vtkIndent indent);
64 int GetNextExtent(
int &r1,
int &r2,
int xMin,
int xMax,
65 int yIdx,
int zIdx,
int &iter);
72 int IsInside(
int xIdx,
int yIdx,
int zIdx );
79 void InsertNextExtent(
int r1,
int r2,
int yIdx,
int zIdx);
87 void InsertAndMergeExtent(
int r1,
int r2,
int yIdx,
int zIdx);
90 void RemoveExtent(
int r1,
int r2,
int yIdx,
int zIdx);
96 vtkSetVector3Macro(Spacing,
double);
97 vtkGetVector3Macro(Spacing,
double);
104 vtkSetVector3Macro(Origin,
double);
105 vtkGetVector3Macro(Origin,
double);
112 void SetExtent(
int extent[6]);
113 void SetExtent(
int x1,
int x2,
int y1,
int y2,
int z1,
int z2);
114 vtkGetVector6Macro(Extent,
int);
119 void AllocateExtents();
149 virtual int Clip(
int extent[6] );
156 void CopyOriginAndSpacingFromPipeline(vtkInformation* meta_data);
162 void CollapseAdditionalIntersections(
int r2,
int idx,
int *clist,
184 friend class vtkImageStencilIteratorFriendship;
206 void PrepareForNewData(
const int allocateExtent[2] = 0);
212 void InsertLine(
const double p1[2],
const double p2[2],
213 bool inflect1,
bool inflect2);
220 int xj = 0,
int yj = 1);
232 void PrepareExtent(
int ymin,
int ymax);
236 void InsertPoint(
int y,
double x);
static vtkDataObject * GetData(vtkInformation *info)
static vtkDataObject * New()
virtual void Initialize()
int NumberOfExtentEntries
void SetTolerance(double tol)
efficient description of an image stencil
virtual void CopyInformationFromPipeline(vtkInformation *vtkNotUsed(info))
void PrintSelf(ostream &os, vtkIndent indent)
general representation of visualization data
virtual void DeepCopy(vtkDataObject *src)
virtual void ShallowCopy(vtkDataObject *src)