45 #ifndef vtkExplicitStructuredGrid_h
46 #define vtkExplicitStructuredGrid_h
50 #include "vtkCommonDataModelModule.h"
55 VTK_ABI_NAMESPACE_BEGIN
119 void SetDimensions(
int i,
int j,
int k);
120 void SetDimensions(
int dim[3]);
129 void GetCellDims(
int cellDims[3]);
144 void SetExtent(
int x0,
int x1,
int y0,
int y1,
int z0,
int z1);
145 void SetExtent(VTK_FUTURE_CONST
int extent[6]);
146 vtkGetVector6Macro(Extent,
int);
200 vtkIdType cellId,
vtkIdType neighbors[6], VTK_FUTURE_CONST
int wholeExtent[6] =
nullptr);
210 void ComputeCellStructuredCoords(
211 vtkIdType cellId,
int& i,
int& j,
int& k,
bool adjustForExtent =
true);
221 vtkIdType ComputeCellId(
int i,
int j,
int k,
bool adjustForExtent =
true);
228 void ComputeFacesConnectivityFlagsArray();
234 vtkSetStringMacro(FacesConnectivityFlagsArrayName);
235 vtkGetStringMacro(FacesConnectivityFlagsArrayName);
259 unsigned char IsCellVisible(
vtkIdType cellId);
266 unsigned char IsCellGhost(
vtkIdType cellId);
279 void Crop(
const int updateExtent[6])
override;
312 void CheckAndReorderFaces();
344 void InternalCheckAndReorderFaces(
bool swap);
350 int FindConnectedFaces(
int foundFaces[3]);
356 static void CheckConnectedFaces(
int& nFoundFaces,
int foundFaces[3]);
361 static void ComputeSwapFlag(
int foundFaces[3],
int swap[3]);
366 static void ComputeMirrorFlag(
int foundFaces[3],
int mirror[3]);
371 void ReorderCellsPoints(
const int* ptsMap,
const int transformFlag[3]);
397 vtkIdType cellId,
int& i,
int& j,
int& k,
bool adjustForExtent)
418 int ijk[] = { i, j, k };
430 VTK_ABI_NAMESPACE_END
vtkIdType GetCellSize(vtkIdType) override
This method always returns 1, as all cells are point in a pure vtkPointSet.
virtual void GenerateGhostArray(int zeroExt[6])
Normally called by pipeline executives or algorithms only.
static void ComputeCellStructuredCoordsForExtent(vtkIdType cellIdx, const int ext[6], int ijk[3], int dataDescription=vtkStructuredData::VTK_STRUCTURED_EMPTY)
Given the global grid extent and the linear index of a cell within the grid extent, this method computes the corresponding structured coordinates of the given cell.
int GetMinSpatialDimension() override
Standard vtkDataSet API methods.
VTKIOHDF_EXPORT std::vector< hsize_t > GetDimensions(hid_t fileID, const char *datasetName)
Returns the dimensions of a HDF dataset of a file.
static void ComputeCellStructuredCoords(vtkIdType cellId, const int dim[3], int ijk[3], int dataDescription=vtkStructuredData::VTK_STRUCTURED_EMPTY)
Given a cellId and grid dimensions 'dim', get the structured coordinates (i-j-k). ...
static vtkIdType ComputeCellIdForExtent(const int extent[6], const int ijk[3], int dataDescription=vtkStructuredData::VTK_STRUCTURED_EMPTY)
Given a location in structured coordinates (i-j-k), and the extent of the structured dataset...
int GetDataObjectType() VTK_FUTURE_CONST override
Return what type of dataset this is.
virtual void ComputeScalarRange()
Compute the range of the scalars and cache it into ScalarRange only if the cache became invalid (Scal...
abstract class to specify dataset behavior
vtkSmartPointer< vtkCellArray > Cells
an abstract base class for classes that build topological links from points to cells ...
void GetCellPoints(vtkIdType, vtkIdList *idList) override
Topological inquiry to get points defining cell.
static void GetDimensionsFromExtent(const int ext[6], int dims[3], int dataDescription=vtkStructuredData::VTK_STRUCTURED_EMPTY)
Computes the structured grid dimensions based on the given extent.
static vtkPointSet * GetData(vtkInformation *info)
Retrieve an instance of this class from an information object.
concrete class for storing a set of points
vtkIdType GetNumberOfCells() override
This method always returns 0, as there are no cells in a vtkPointSet.
vtkIdType ComputeCellId(int i, int j, int k, bool adjustForExtent=true)
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.
int GetCellType(vtkIdType) override
This method always returns VTK_EMPTY_CELL, as there is no cell in a vtkPointSet.
static vtkIdType ComputeCellId(const int dim[3], const int ijk[3], int dataDescription=vtkStructuredData::VTK_STRUCTURED_EMPTY)
Given a location in structured coordinates (i-j-k), and the dimensions of the structured dataset...
void GetCellDims(int cellDims[3])
Computes the cell dimensions according to internal point dimensions.
Detect and break reference loops.
provides thread-safe access to cells
void GetDimensions(int dim[3])
Set/Get the dimensions of this structured dataset in term of number of points along each direction...
int GetMaxSpatialDimension() override
Standard vtkDataSet API methods.
abstract class to specify cell behavior
void DeepCopy(vtkDataObject *src) override
Shallow and Deep copy.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for type information and printing.
a simple class to control print indentation
int GetExtentType() VTK_FUTURE_CONST override
The extent type is a 3D extent.
void ComputeCellStructuredCoords(vtkIdType cellId, int &i, int &j, int &k, bool adjustForExtent=true)
Given a cellId, get the structured coordinates (i-j-k).
static vtkPointSet * New()
Standard instantiation method.
char * FacesConnectivityFlagsArrayName
list of point or cell ids
bool HasAnyGhostCells()
Returns 1 if there are any ghost cells 0 otherwise.
void Initialize() override
Reset to an empty state and free any memory.
int GetDataDimension()
Return the dimensionality of the data.
vtkSmartPointer< vtkAbstractCellLinks > Links
virtual void GetCellNeighbors(vtkIdType cellId, vtkIdList *ptIds, vtkIdList *cellIds)
Topological inquiry to get all cells using list of points exclusive of cell specified (e...
int GetMaxCellSize() override
Standard vtkDataSet API methods.
A cell specified by degrees of freedom held in arrays.
object to represent cell connectivity
structured grid with explicit topology and geometry
static void GetCellDimensionsFromExtent(const int ext[6], int celldims[3], int dataDescription=vtkStructuredData::VTK_STRUCTURED_EMPTY)
Returns the cell dimensions, i.e., the number of cells along the i,j,k for the grid with the given gr...
void GetPointCells(vtkIdType, vtkIdList *idList) override
Topological inquiry to get cells using point.
virtual void Crop(const int updateExtent[6])
This method crops the data object (if necessary) so that the extent matches the update extent...
unsigned long GetActualMemorySize() override
Return the actual size of the data in kibibytes (1024 bytes).
void ShallowCopy(vtkDataObject *src) override
Shallow and Deep copy.
vtkCell * GetCell(vtkIdType) override
This method always return a vtkEmptyCell, as there is no cell in a vtkPointSet.
void CopyStructure(vtkDataSet *pd) override
Copy the geometric structure of an input point set object.
general representation of visualization data
void ReportReferences(vtkGarbageCollector *) override
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.