25 #ifndef vtkImageData_h 26 #define vtkImageData_h 28 #include "vtkCommonDataModelModule.h" 82 double pcoords[3],
double* weights)
override;
84 double tol2,
int& subId,
double pcoords[3],
double* weights)
override;
86 double pcoords[3],
double* weights)
override;
108 virtual void SetDimensions(
int i,
int j,
int k);
113 virtual void SetDimensions(
const int dims[3]);
129 virtual
void GetDimensions(
int dims[3]);
130 #if VTK_ID_TYPE_IMPL != VTK_INT 131 virtual void GetDimensions(
vtkIdType dims[3]);
140 virtual int ComputeStructuredCoordinates(
const double x[3],
int ijk[3],
double pcoords[3]);
159 virtual void GetPointGradient(
int i,
int j,
int k,
vtkDataArray* s,
double g[3]);
164 virtual int GetDataDimension();
186 virtual void SetAxisUpdateExtent(
187 int axis,
int min,
int max,
const int* updateExtent,
int* axisUpdateExtent);
188 virtual void GetAxisUpdateExtent(
int axis,
int& min,
int&
max,
const int* updateExtent);
203 virtual void SetExtent(
int extent[6]);
204 virtual void SetExtent(
int x1,
int x2,
int y1,
int y2,
int z1,
int z2);
205 vtkGetVector6Macro(Extent,
int);
214 virtual double GetScalarTypeMin();
216 virtual double GetScalarTypeMax();
224 virtual int GetScalarSize();
236 virtual
void GetIncrements(
vtkIdType inc[3]);
238 virtual
void GetIncrements(
257 virtual
void GetContinuousIncrements(
259 virtual
void GetContinuousIncrements(
267 virtual
void* GetScalarPointerForExtent(
int extent[6]);
268 virtual
void* GetScalarPointer(
int coordinates[3]);
269 virtual
void* GetScalarPointer(
int x,
int y,
int z);
270 virtual
void* GetScalarPointer();
277 virtual
float GetScalarComponentAsFloat(
int x,
int y,
int z,
int component);
278 virtual
void SetScalarComponentFromFloat(
int x,
int y,
int z,
int component,
float v);
279 virtual
double GetScalarComponentAsDouble(
int x,
int y,
int z,
int component);
280 virtual
void SetScalarComponentFromDouble(
int x,
int y,
int z,
int component,
double v);
288 virtual
void AllocateScalars(
int dataType,
int numComponents);
306 virtual
void CopyAndCastFrom(
vtkImageData* inData,
int x0,
int x1,
int y0,
int y1,
int z0,
int z1)
315 this->CopyAndCastFrom(inData, e);
324 void Crop(
const int* updateExtent)
override;
341 vtkGetVector3Macro(Spacing,
double);
342 virtual void SetSpacing(
double i,
double j,
double k);
343 virtual void SetSpacing(
const double ijk[3]);
355 vtkGetVector3Macro(Origin,
double);
356 virtual void SetOrigin(
double i,
double j,
double k);
357 virtual void SetOrigin(
const double ijk[3]);
367 virtual void SetDirectionMatrix(
const double elements[9]);
368 virtual void SetDirectionMatrix(
double e00,
double e01,
double e02,
double e10,
double e11,
369 double e12,
double e20,
double e21,
double e22);
384 virtual void TransformContinuousIndexToPhysicalPoint(
double i,
double j,
double k,
double xyz[3]);
385 virtual void TransformContinuousIndexToPhysicalPoint(
const double ijk[3],
double xyz[3]);
386 virtual void TransformIndexToPhysicalPoint(
int i,
int j,
int k,
double xyz[3]);
387 virtual void TransformIndexToPhysicalPoint(
const int ijk[3],
double xyz[3]);
388 static void TransformContinuousIndexToPhysicalPoint(
double i,
double j,
double k,
389 double const origin[3],
double const spacing[3],
double const direction[9],
double xyz[3]);
404 virtual void TransformPhysicalPointToContinuousIndex(
double x,
double y,
double z,
double ijk[3]);
405 virtual void TransformPhysicalPointToContinuousIndex(
const double xyz[3],
double ijk[3]);
408 static void ComputeIndexToPhysicalMatrix(
409 double const origin[3],
double const spacing[3],
double const direction[9],
double result[16]);
415 virtual void TransformPhysicalNormalToContinuousIndex(
const double xyz[3],
double ijk[3]);
421 virtual void TransformPhysicalPlaneToContinuousIndex(
double const pplane[4],
double iplane[4]);
434 static void SetNumberOfScalarComponents(
int n,
vtkInformation* meta_data);
435 static int GetNumberOfScalarComponents(
vtkInformation* meta_data);
436 static bool HasNumberOfScalarComponents(
vtkInformation* meta_data);
437 int GetNumberOfScalarComponents();
480 void* GetArrayPointer(
vtkDataArray* array,
int coordinates[3]);
495 void ComputeInternalExtent(
int* intExt,
int* tgtExt,
int* bnds);
530 void ComputeIncrements();
533 void ComputeIncrements(
int numberOfComponents);
537 void ComputeIncrements(
vtkIdType inc[3]);
540 void ComputeIncrements(
int numberOfComponents,
vtkIdType inc[3]);
544 void ComputeTransforms();
547 vtkCell* GetCellTemplateForDataDescription();
549 bool GetIJKMinForCellId(
vtkIdType cellId,
int ijkMin[3]);
550 bool GetIJKMaxForIJKMin(
int ijkMin[3],
int ijkMax[3]);
551 void AddPointsToCellTemplate(
vtkCell* cell,
int ijkMin[3],
int ijkMax[3]);
555 void SetDataDescription(
int desc);
613 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
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.
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.
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.
void DeepCopy(vtkDataObject *src) override
Shallow and Deep copy.
#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