31 #ifndef vtkImageData_h
32 #define vtkImageData_h
34 #include "vtkCommonDataModelModule.h"
69 vtkIdType GetNumberOfPoints() VTK_OVERRIDE;
74 void GetCellBounds(
vtkIdType cellId,
double bounds[6]) VTK_OVERRIDE;
75 virtual
vtkIdType FindPoint(
double x,
double y,
double z)
82 int& subId,
double pcoords[3],
double *weights) VTK_OVERRIDE;
85 vtkIdType cellId,
double tol2,
int& subId,
86 double pcoords[3],
double *weights) VTK_OVERRIDE;
88 double tol2,
int& subId,
double pcoords[3],
89 double *weights) VTK_OVERRIDE;
93 this->GetDimensions());}
97 int GetMaxCellSize() VTK_OVERRIDE {
return 8;};
108 virtual
void SetDimensions(
int i,
int j,
int k);
113 virtual
void SetDimensions(const
int dims[3]);
121 virtual
int *GetDimensions();
129 virtual
void GetDimensions(
int dims[3]);
137 virtual
int ComputeStructuredCoordinates(
138 const
double x[3],
int ijk[3],
double pcoords[3]);
140 static
int ComputeStructuredCoordinates( const
double x[3],
int ijk[3],
double pcoords[3],
143 const
double* origin,
144 const
double* bounds);
154 virtual
void GetVoxelGradient(
163 virtual
void GetPointGradient(
169 virtual
int GetDataDimension();
187 virtual void SetAxisUpdateExtent(
int axis,
int min,
int max,
188 const int* updateExtent,
189 int* axisUpdateExtent);
190 virtual void GetAxisUpdateExtent(
int axis,
int &min,
int &
max,
const int* updateExtent);
205 virtual void SetExtent(
int extent[6]);
206 virtual void SetExtent(
int x1,
int x2,
int y1,
int y2,
int z1,
int z2);
207 vtkGetVector6Macro(Extent,
int);
216 virtual double GetScalarTypeMin();
218 virtual double GetScalarTypeMax();
226 virtual int GetScalarSize();
238 virtual void GetIncrements(
vtkIdType inc[3]);
259 virtual void GetContinuousIncrements(
261 virtual void GetContinuousIncrements(
vtkDataArray *scalars,
269 virtual void *GetScalarPointerForExtent(
int extent[6]);
270 virtual void *GetScalarPointer(
int coordinates[3]);
271 virtual void *GetScalarPointer(
int x,
int y,
int z);
272 virtual void *GetScalarPointer();
279 virtual float GetScalarComponentAsFloat(
int x,
int y,
int z,
int component);
280 virtual void SetScalarComponentFromFloat(
281 int x,
int y,
int z,
int component,
float v);
282 virtual double GetScalarComponentAsDouble(
int x,
int y,
int z,
int component);
283 virtual void SetScalarComponentFromDouble(
284 int x,
int y,
int z,
int component,
double v);
292 virtual void AllocateScalars(
int dataType,
int numComponents);
311 int y0,
int y1,
int z0,
int z1)
312 {
int e[6]; e[0]=x0; e[1]=x1; e[2]=y0; e[3]=y1; e[4]=z0; e[5]=z1;
313 this->CopyAndCastFrom(inData, e);}
321 void Crop(
const int* updateExtent) VTK_OVERRIDE;
338 vtkSetVector3Macro(Spacing,
double);
339 vtkGetVector3Macro(Spacing,
double);
351 vtkSetVector3Macro(Origin,
double);
352 vtkGetVector3Macro(Origin,
double);
359 const
char* GetScalarTypeAsString()
360 {
return vtkImageScalarTypeNameMacro ( this->GetScalarType() ); };
367 static void SetNumberOfScalarComponents(
int n,
vtkInformation* meta_data);
368 static int GetNumberOfScalarComponents(
vtkInformation* meta_data);
369 static bool HasNumberOfScalarComponents(
vtkInformation* meta_data);
370 int GetNumberOfScalarComponents();
413 void *GetArrayPointer(
vtkDataArray* array,
int coordinates[3]);
428 void ComputeInternalExtent(
int *intExt,
int *tgtExt,
int *bnds);
459 void ComputeIncrements();
462 void ComputeIncrements(
int numberOfComponents);
466 void ComputeIncrements(
vtkIdType inc[3]);
469 void ComputeIncrements(
int numberOfComponents,
vtkIdType inc[3]);
475 void SetDataDescription(
int desc);
476 int GetDataDescription() {
return this->DataDescription; }
496 void operator=(const
vtkImageData&) VTK_DELETE_FUNCTION;
530 dims[0] = extent[1] - extent[0] + 1;
531 dims[1] = extent[3] - extent[2] + 1;
532 dims[2] = extent[5] - extent[4] + 1;
534 return dims[0]*dims[1]*dims[2];
virtual vtkCell * FindAndGetCell(double x[3], vtkCell *cell, vtkIdType cellId, double tol2, int &subId, double pcoords[3], double *weights)
Locate the cell that contains a point and return the cell.
virtual vtkIdType GetNumberOfCells()=0
Determine the number of cells composing the dataset.
int GetDataObjectType() override
Return what type of dataset this is.
static vtkDataObject * New()
virtual vtkIdType FindCell(double x[3], vtkCell *cell, vtkIdType cellId, double tol2, int &subId, double pcoords[3], double *weights)=0
Locate cell based on global coordinate x and tolerance squared.
abstract class to specify dataset behavior
a cell that represents a 3D point
record modification and/or execution time
static int GetDataDimension(int dataDescription)
Return the topological dimension of the data (e.g., 0, 1, 2, or 3D).
a cell that represents an orthogonal quadrilateral
void DeepCopy(vtkPistonReference *self, vtkPistonReference *other)
virtual void ComputeBounds()
Compute the data bounding box from data points.
virtual void PrepareForNewData()
make the output data ready for new data to be inserted.
void GetCellPoints(vtkIdType cellId, vtkIdList *ptIds) override
Standard vtkDataSet API methods.
virtual vtkIdType ComputeCellId(int ijk[3])
Given a location in structured coordinates (i-j-k), return the cell id.
static vtkDataSet * GetData(vtkInformation *info)
Retrieve an instance of this class from an information object.
provides thread-safe access to cells
void GetPoint(const int i, const int j, const int k, double pnt[3])
vtkIdType GetNumberOfPoints() override
Standard vtkDataSet API methods.
virtual void Crop(const int *updateExtent)
This method crops the data object (if necessary) so that the extent matches the update extent...
double * GetPoint(vtkIdType ptId) override
Standard vtkDataSet API methods.
cell represents a 1D line
abstract class to specify cell behavior
virtual void CopyAndCastFrom(vtkImageData *inData, int x0, int x1, int y0, int y1, int z0, int z1)
This method is passed a input and output region, and executes the filter algorithm to fill the output...
a cell that represents a 3D orthogonal parallelepiped
unsigned long GetActualMemorySize() override
Return the actual size of the data in kibibytes (1024 bytes).
a simple class to control print indentation
static vtkIdType ComputeCellIdForExtent(int extent[6], int ijk[3], int dataDescription=VTK_EMPTY)
Given a location in structured coordinates (i-j-k), and the extent of the structured dataset...
static void GetCellPoints(vtkIdType cellId, vtkIdList *ptIds, int dataDescription, int dim[3])
Get the points defining a cell.
topologically and geometrically regular array of data
list of point or cell ids
abstract superclass for arrays of numeric data
virtual void CopyInformationFromPipeline(vtkInformation *vtkNotUsed(info))
Copy from the pipeline information to the data object's own information.
static void GetPointCells(vtkIdType ptId, vtkIdList *cellIds, int dim[3])
Get the cells using a point.
static vtkIdType ComputePointIdForExtent(int extent[6], int ijk[3], int dataDescription=VTK_EMPTY)
Given a location in structured coordinates (i-j-k), and the extent of the structured dataset...
void Initialize() override
Restore data object to initial state.
void GetPointCells(vtkIdType ptId, vtkIdList *cellIds) override
Standard vtkDataSet API methods.
virtual void CopyStructure(vtkDataSet *ds)=0
Copy the geometric and topological structure of an object.
virtual double * GetPoint(vtkIdType ptId)=0
Get point coordinates with ptId such that: 0 <= ptId < NumberOfPoints.
general representation of visualization data
virtual void CopyInformationToPipeline(vtkInformation *vtkNotUsed(info))
Copy information from this data object to the pipeline information.
vtkIdType FindPoint(double x, double y, double z)
Locate the closest point to the global coordinate x.
virtual int GetDataDimension()
Return the dimensionality of the data.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual int GetCellType(vtkIdType cellId)=0
Get type of cell with cellId such that: 0 <= cellId < NumberOfCells.