30 #ifndef __vtkImageData_h
31 #define __vtkImageData_h
73 double x[3], vtkCell *cell,
vtkIdType cellId,
double tol2,
74 int& subId,
double pcoords[3],
double *weights);
77 vtkIdType cellId,
double tol2,
int& subId,
78 double pcoords[3],
double *weights);
80 double tol2,
int& subId,
double pcoords[3],
85 this->GetDimensions());}
97 virtual void SetDimensions(
int i,
int j,
int k);
102 virtual void SetDimensions(
const int dims[3]);
108 virtual int *GetDimensions();
109 virtual void GetDimensions(
int dims[3]);
118 virtual int ComputeStructuredCoordinates(
119 double x[3],
int ijk[3],
double pcoords[3]);
131 virtual void GetVoxelGradient(
141 virtual void GetPointGradient(
146 virtual int GetDataDimension();
164 virtual void SetAxisUpdateExtent(
int axis,
int min,
int max);
165 virtual void GetAxisUpdateExtent(
int axis,
int &min,
int &max);
171 virtual void UpdateInformation();
182 virtual void SetExtent(
int extent[6]);
183 virtual void SetExtent(
int x1,
int x2,
int y1,
int y2,
int z1,
int z2);
184 vtkGetVector6Macro(Extent,
int);
191 virtual unsigned long GetEstimatedMemorySize();
196 virtual double GetScalarTypeMin();
197 virtual double GetScalarTypeMax();
201 virtual int GetScalarSize();
209 virtual void GetIncrements(
vtkIdType inc[3]);
222 virtual void GetContinuousIncrements(
228 virtual void *GetScalarPointerForExtent(
int extent[6]);
229 virtual void *GetScalarPointer(
int coordinates[3]);
230 virtual void *GetScalarPointer(
int x,
int y,
int z);
231 virtual void *GetScalarPointer();
236 virtual float GetScalarComponentAsFloat(
int x,
int y,
int z,
int component);
237 virtual void SetScalarComponentFromFloat(
238 int x,
int y,
int z,
int component,
float v);
239 virtual double GetScalarComponentAsDouble(
int x,
int y,
int z,
int component);
240 virtual void SetScalarComponentFromDouble(
241 int x,
int y,
int z,
int component,
double v);
245 virtual void AllocateScalars();
252 virtual void CopyAndCastFrom(
vtkImageData *inData,
int extent[6]);
254 int y0,
int y1,
int z0,
int z1)
255 {
int e[6]; e[0]=x0; e[1]=x1; e[2]=y0; e[3]=y1; e[4]=z0; e[5]=z1;
256 this->CopyAndCastFrom(inData, e);}
274 vtkSetVector3Macro(Spacing,
double);
275 vtkGetVector3Macro(Spacing,
double);
285 vtkSetVector3Macro(Origin,
double);
286 vtkGetVector3Macro(Origin,
double);
312 void SetScalarType(
int);
315 {
return vtkImageScalarTypeNameMacro ( this->GetScalarType() ); };
321 void SetNumberOfScalarComponents(
int n );
322 int GetNumberOfScalarComponents();
326 virtual void CopyTypeSpecificInformation(
vtkDataObject *image );
335 virtual void CopyInformationFromPipeline(
vtkInformation* request);
341 virtual void PrepareForNewData();
358 void *GetArrayPointerForExtent(
vtkDataArray* array,
int extent[6]);
359 void *GetArrayPointer(
vtkDataArray* array,
int coordinates[3]);
370 void ComputeInternalExtent(
int *intExt,
int *tgtExt,
int *bnds);
398 void ComputeIncrements();
399 void ComputeIncrements(
vtkIdType inc[3]);
400 void CopyOriginAndSpacingFromPipeline();
404 void SetDataDescription(
int desc);
412 friend class vtkUniformGrid;
437 const double *p = this->
GetPoint(
id);
438 x[0] = p[0]; x[1] = p[1]; x[2] = p[2];
444 const int *extent = this->
Extent;
446 dims[0] = extent[1] - extent[0] + 1;
447 dims[1] = extent[3] - extent[2] + 1;
448 dims[2] = extent[5] - extent[4] + 1;
450 return dims[0]*dims[1]*dims[2];
virtual int GetExtentType()
void SetScalarTypeToUnsignedChar()
virtual int GetMaxCellSize()
void SetScalarTypeToUnsignedLong()
virtual vtkCell * FindAndGetCell(double x[3], vtkCell *cell, vtkIdType cellId, double tol2, int &subId, double pcoords[3], double *weights)
void SetScalarTypeToSignedChar()
virtual vtkIdType GetNumberOfCells()=0
unsigned long GetActualMemorySize()
static vtkIdType ComputeCellIdForExtent(int extent[6], int ijk[3])
void SetScalarTypeToChar()
virtual vtkIdType FindCell(double x[3], vtkCell *cell, vtkIdType cellId, double tol2, int &subId, double pcoords[3], double *weights)=0
virtual void GetPointCells(vtkIdType ptId, vtkIdList *cellIds)
virtual vtkIdType GetNumberOfPoints()=0
#define VTK_UNSIGNED_SHORT
abstract class to specify dataset behavior
a cell that represents a 3D point
record modification and/or execution time
static int GetDataDimension(int dataDescription)
void SetScalarTypeToInt()
virtual void ComputeBounds()
void SetScalarTypeToDouble()
virtual vtkIdType FindPoint(double x, double y, double z)
virtual vtkIdType ComputeCellId(int ijk[3])
static vtkDataSet * GetData(vtkInformation *info)
provides thread-safe access to cells
virtual vtkIdType ComputePointId(int ijk[3])
cell represents a 1D line
void PrintSelf(ostream &os, vtkIndent indent)
virtual int GetDataObjectType()
virtual void CopyAndCastFrom(vtkImageData *inData, int x0, int x1, int y0, int y1, int z0, int z1)
a cell that represents a 3D orthogonal parallelepiped
void SetScalarTypeToFloat()
a simple class to control print indentation
static void GetCellPoints(vtkIdType cellId, vtkIdList *ptIds, int dataDescription, int dim[3])
topologically and geometrically regular array of data
list of point or cell ids
abstract superclass for arrays of numeric data
virtual void GetCellPoints(vtkIdType cellId, vtkIdList *ptIds)
static vtkIdType ComputePointIdForExtent(int extent[6], int ijk[3])
void DeepCopy(vtkDataObject *src)
static void GetPointCells(vtkIdType ptId, vtkIdList *cellIds, int dim[3])
const char * GetScalarTypeAsString()
#define VTK_UNSIGNED_CHAR
virtual double * GetPoint(vtkIdType ptId)
void SetScalarTypeToUnsignedInt()
virtual void CopyStructure(vtkDataSet *ds)=0
virtual double * GetPoint(vtkIdType ptId)=0
#define VTK_UNSIGNED_LONG
helper class to get VTK data object types as string and instantiate them
void SetScalarTypeToUnsignedShort()
vtkIdType FindPoint(double x, double y, double z)
virtual vtkIdType GetNumberOfPoints()
void SetScalarTypeToShort()
virtual vtkCell * GetCell(vtkIdType cellId)=0
virtual void GetCellBounds(vtkIdType cellId, double bounds[6])
virtual int GetDataDimension()
virtual int GetCellType(vtkIdType cellId)=0
void ShallowCopy(vtkDataObject *src)
void SetScalarTypeToLong()
vtkTimeStamp ExtentComputeTime