37 #ifndef vtkImageData_h
38 #define vtkImageData_h
40 #include "vtkCommonDataModelModule.h"
95 double pcoords[3],
double* weights)
override;
97 double tol2,
int& subId,
double pcoords[3],
double* weights)
override;
99 double pcoords[3],
double* weights)
override;
106 this->GetDimensions(dimensions);
112 this->GetDimensions(dimensions);
139 unsigned char IsPointVisible(
vtkIdType ptId);
146 unsigned char IsCellVisible(
vtkIdType cellId);
165 void GetCellDims(
int cellDims[3]);
170 virtual void SetDimensions(
int i,
int j,
int k);
175 virtual void SetDimensions(
const int dims[3]);
191 virtual
void GetDimensions(
int dims[3]);
192 #if VTK_ID_TYPE_IMPL != VTK_INT
193 virtual void GetDimensions(
vtkIdType dims[3]);
202 virtual int ComputeStructuredCoordinates(
const double x[3],
int ijk[3],
double pcoords[3]);
221 virtual void GetPointGradient(
int i,
int j,
int k,
vtkDataArray* s,
double g[3]);
226 virtual int GetDataDimension();
248 virtual void SetAxisUpdateExtent(
249 int axis,
int min,
int max,
const int* updateExtent,
int* axisUpdateExtent);
250 virtual void GetAxisUpdateExtent(
int axis,
int& min,
int&
max,
const int* updateExtent);
265 virtual void SetExtent(
int extent[6]);
266 virtual void SetExtent(
int x1,
int x2,
int y1,
int y2,
int z1,
int z2);
267 vtkGetVector6Macro(Extent,
int);
276 virtual double GetScalarTypeMin();
278 virtual double GetScalarTypeMax();
286 virtual int GetScalarSize();
303 virtual
void GetIncrements(
vtkIdType inc[3]);
305 virtual
void GetIncrements(
324 virtual
void GetContinuousIncrements(
326 virtual
void GetContinuousIncrements(
334 virtual
void* GetScalarPointerForExtent(
int extent[6]);
335 virtual
void* GetScalarPointer(
int coordinates[3]);
336 virtual
void* GetScalarPointer(
int x,
int y,
int z);
337 virtual
void* GetScalarPointer();
344 virtual
vtkIdType GetScalarIndexForExtent(
int extent[6]);
345 virtual
vtkIdType GetScalarIndex(
int coordinates[3]);
346 virtual
vtkIdType GetScalarIndex(
int x,
int y,
int z);
353 virtual
float GetScalarComponentAsFloat(
int x,
int y,
int z,
int component);
354 virtual
void SetScalarComponentFromFloat(
int x,
int y,
int z,
int component,
float v);
355 virtual
double GetScalarComponentAsDouble(
int x,
int y,
int z,
int component);
356 virtual
void SetScalarComponentFromDouble(
int x,
int y,
int z,
int component,
double v);
364 virtual
void AllocateScalars(
int dataType,
int numComponents);
381 virtual
void CopyAndCastFrom(
vtkImageData* inData,
int extent[6]);
382 virtual
void CopyAndCastFrom(
vtkImageData* inData,
int x0,
int x1,
int y0,
int y1,
int z0,
int z1)
391 this->CopyAndCastFrom(inData, e);
400 void Crop(
const int* updateExtent)
override;
417 vtkGetVector3Macro(Spacing,
double);
418 virtual void SetSpacing(
double i,
double j,
double k);
419 virtual void SetSpacing(
const double ijk[3]);
431 vtkGetVector3Macro(Origin,
double);
432 virtual void SetOrigin(
double i,
double j,
double k);
433 virtual void SetOrigin(
const double ijk[3]);
443 virtual void SetDirectionMatrix(
const double elements[9]);
444 virtual void SetDirectionMatrix(
double e00,
double e01,
double e02,
double e10,
double e11,
445 double e12,
double e20,
double e21,
double e22);
460 virtual void TransformContinuousIndexToPhysicalPoint(
double i,
double j,
double k,
double xyz[3]);
461 virtual void TransformContinuousIndexToPhysicalPoint(
const double ijk[3],
double xyz[3]);
462 virtual void TransformIndexToPhysicalPoint(
int i,
int j,
int k,
double xyz[3]);
463 virtual void TransformIndexToPhysicalPoint(
const int ijk[3],
double xyz[3]);
464 static void TransformContinuousIndexToPhysicalPoint(
double i,
double j,
double k,
465 double const origin[3],
double const spacing[3],
double const direction[9],
double xyz[3]);
480 virtual void TransformPhysicalPointToContinuousIndex(
double x,
double y,
double z,
double ijk[3]);
481 virtual void TransformPhysicalPointToContinuousIndex(
const double xyz[3],
double ijk[3]);
484 static void ComputeIndexToPhysicalMatrix(
485 double const origin[3],
double const spacing[3],
double const direction[9],
double result[16]);
491 virtual void TransformPhysicalNormalToContinuousIndex(
const double xyz[3],
double ijk[3]);
498 virtual void TransformPhysicalPlaneToContinuousIndex(
double const pplane[4],
double iplane[4]);
511 static void SetNumberOfScalarComponents(
int n,
vtkInformation* meta_data);
512 static int GetNumberOfScalarComponents(
vtkInformation* meta_data);
513 static bool HasNumberOfScalarComponents(
vtkInformation* meta_data);
514 int GetNumberOfScalarComponents();
557 void* GetArrayPointer(
vtkDataArray* array,
int coordinates[3]);
583 void ComputeInternalExtent(
int* intExt,
int* tgtExt,
int* bnds);
618 void ComputeIncrements();
621 void ComputeIncrements(
int numberOfComponents);
625 void ComputeIncrements(
vtkIdType inc[3]);
628 void ComputeIncrements(
int numberOfComponents,
vtkIdType inc[3]);
632 void ComputeTransforms();
635 vtkCell* GetCellTemplateForDataDescription();
637 bool GetIJKMinForCellId(
vtkIdType cellId,
int ijkMin[3]);
638 bool GetIJKMaxForIJKMin(
int ijkMin[3],
int ijkMax[3]);
639 void AddPointsToCellTemplate(
vtkCell* cell,
int ijkMin[3],
int ijkMax[3]);
643 void SetDataDescription(
int desc);
697 dims[0] = extent[1] - extent[0] + 1;
698 dims[1] = extent[3] - extent[2] + 1;
699 dims[2] = extent[5] - extent[4] + 1;
701 return dims[0] * dims[1] * dims[2];
int GetExtentType() override
The extent type is a 3D extent.
vtkMatrix3x3 * DirectionMatrix
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.
represent and manipulate 4x4 transformation matrices
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.
virtual vtkIdType GetNumberOfPoints()=0
Determine the number of points composing the dataset.
abstract class to specify dataset behavior
a cell that represents a 3D point
virtual vtkIdType GetCellSize(vtkIdType cellId)
Get the size of cell with cellId such that: 0 <= cellId < NumberOfCells.
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
vtkMatrix4x4 * PhysicalToIndexMatrix
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.
int GetMaxCellSize() override
Standard vtkDataSet API methods.
void GetCellPoints(vtkIdType cellId, vtkIdList *ptIds) override
Standard vtkDataSet API methods.
virtual vtkIdType FindPoint(double x, double y, double z)
Standard vtkDataSet API methods.
vtkMatrix4x4 * IndexToPhysicalMatrix
virtual vtkIdType ComputeCellId(int ijk[3])
Given a location in structured coordinates (i-j-k), return the cell id.
virtual bool HasAnyBlankCells()
Returns 1 if there are any blanking cells 0 otherwise.
static vtkDataSet * GetData(vtkInformation *info)
Retrieve an instance of this class from an information object.
provides thread-safe access to cells
vtkIdType GetNumberOfPoints() override
Standard vtkDataSet API methods.
virtual vtkIdType ComputePointId(int ijk[3])
Given a location in structured coordinates (i-j-k), return the point id.
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
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 void GetCellPoints(vtkIdType cellId, vtkIdList *ptIds, int dataDescription, int dim[3])
Get the points defining a cell.
virtual bool HasAnyBlankPoints()
Returns 1 if there are any blanking points 0 otherwise.
topologically and geometrically regular array of data
list of point or cell ids
virtual void GetCellPoints(vtkIdType cellId, vtkIdList *ptIds)=0
Topological inquiry to get points defining cell.
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.
void DeepCopy(vtkDataObject *src) override
Shallow and Deep copy.
virtual void GetCellNeighbors(vtkIdType cellId, vtkIdList *ptIds, vtkIdList *cellIds)
Topological inquiry to get all cells using list of points exclusive of cell specified (e...
#define VTK_SIZEHINT(...)
static void GetPointCells(vtkIdType ptId, vtkIdList *cellIds, int dim[3])
Get the cells using a point.
void Initialize() override
Restore data object to initial state.
const char * GetScalarTypeAsString()
static vtkIdType ComputeCellIdForExtent(const int extent[6], const int ijk[3], int dataDescription=VTK_EMPTY)
Given a location in structured coordinates (i-j-k), and the extent of the structured dataset...
void GetPointCells(vtkIdType ptId, vtkIdList *cellIds) override
Standard vtkDataSet API methods.
static vtkIdType ComputePointIdForExtent(const int extent[6], const int ijk[3], int dataDescription=VTK_EMPTY)
Given a location in structured coordinates (i-j-k), and the extent of the structured dataset...
virtual void CopyStructure(vtkDataSet *ds)=0
Copy the geometric and topological structure of an object.
void ShallowCopy(vtkDataObject *src) override
Shallow and Deep copy.
virtual double * GetPoint(vtkIdType ptId)=0
Get point coordinates with ptId such that: 0 <= ptId < NumberOfPoints.
represent and manipulate 3x3 transformation matrices
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 vtkCell * GetCell(vtkIdType cellId)=0
Get cell with cellId such that: 0 <= cellId < NumberOfCells.
virtual void GetCellBounds(vtkIdType cellId, double bounds[6])
Get the bounds of the cell with cellId such that: 0 <= cellId < NumberOfCells.
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.
vtkTimeStamp ExtentComputeTime