49 #ifndef vtkExplicitStructuredGrid_h 50 #define vtkExplicitStructuredGrid_h 52 #include "vtkCommonDataModelModule.h" 120 void SetDimensions(
int i,
int j,
int k);
121 void SetDimensions(
int dim[3]);
122 void GetDimensions(
int dim[3]);
130 void GetCellDims(
int cellDims[3]);
145 void SetExtent(
int x0,
int x1,
int y0,
int y1,
int z0,
int z1);
146 void SetExtent(
int extent[6]);
147 vtkGetVector6Macro(Extent,
int);
190 void ComputeCellStructuredCoords(
191 vtkIdType cellId,
int& i,
int& j,
int& k,
bool adjustForExtent =
true);
201 vtkIdType ComputeCellId(
int i,
int j,
int k,
bool adjustForExtent =
true);
206 void ComputeFacesConnectivityFlagsArray();
212 vtkSetStringMacro(FacesConnectivityFlagsArrayName);
213 vtkGetStringMacro(FacesConnectivityFlagsArrayName);
237 unsigned char IsCellVisible(
vtkIdType cellId);
244 unsigned char IsCellGhost(
vtkIdType cellId);
257 void Crop(
const int* updateExtent)
override;
290 void CheckAndReorderFaces();
325 void InternalCheckAndReorderFaces(
bool swap);
331 int FindConnectedFaces(
int foundFaces[3]);
337 static void CheckConnectedFaces(
int& nFoundFaces,
int foundFaces[3]);
342 static void ComputeSwapFlag(
int foundFaces[3],
int swap[3]);
347 static void ComputeMirrorFlag(
int foundFaces[3],
int mirror[3]);
352 void ReorderCellsPoints(
const int* ptsMap,
const int transformFlag[3]);
382 vtkIdType cellId,
int& i,
int& j,
int& k,
bool adjustForExtent)
403 int ijk[] = { i, j, k };
static void ComputeCellStructuredCoordsForExtent(const vtkIdType cellIdx, const int ext[6], int ijk[3], int dataDescription=VTK_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.
static void GetCellDimensionsFromExtent(const int ext[6], int celldims[3], int dataDescription=VTK_EMPTY)
Returns the cell dimensions, i.e., the number of cells along the i,j,k for the grid with the given gr...
virtual void GenerateGhostArray(int zeroExt[6])
Normally called by pipeline executives or algorithms only.
virtual vtkIdType GetNumberOfCells()=0
Determine the number of cells composing the dataset.
virtual void GetPointCells(vtkIdType ptId, vtkIdList *cellIds)=0
Topological inquiry to get cells using point.
static vtkDataObject * New()
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
an abstract base class for classes that build topological links from points to cells ...
vtkAbstractCellLinks * Links
static void ComputeCellStructuredCoords(const vtkIdType cellId, const int dim[3], int ijk[3], int dataDescription=VTK_EMPTY)
Given a cellId and grid dimensions 'dim', get the structured coordinates (i-j-k). ...
vtkNew< vtkHexahedron > Hexahedron
static void GetDimensionsFromExtent(const int ext[6], int dims[3], int dataDescription=VTK_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.
abstract class for specifying dataset behavior
an empty cell used as a place-holder during processing
vtkIdType ComputeCellId(int i, int j, int k, bool adjustForExtent=true)
Given a location in structured coordinates (i-j-k), return the cell id.
int GetExtentType() override
The extent type is a 3D extent.
virtual bool HasAnyBlankCells()
Returns 1 if there are any blanking cells 0 otherwise.
void GetCellDims(int cellDims[3])
Computes the cell dimensions according to internal point dimensions.
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...
virtual void Crop(const int *updateExtent)
This method crops the data object (if necessary) so that the extent matches the update extent...
abstract class to specify cell behavior
int GetDataObjectType() override
Return what type of dataset this is.
void DeepCopy(vtkDataObject *src) override
Shallow and Deep copy.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methdos for type information and printing.
a simple class to control print indentation
void ComputeCellStructuredCoords(vtkIdType cellId, int &i, int &j, int &k, bool adjustForExtent=true)
Given a cellId, get the structured coordinates (i-j-k).
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.
virtual void GetCellPoints(vtkIdType cellId, vtkIdList *ptIds)=0
Topological inquiry to get points defining cell.
int GetDataDimension()
Return the dimensionality of the data.
#define VTK_EXPLICIT_STRUCTURED_GRID
a cell that represents a linear 3D hexahedron
vtkNew< vtkEmptyCell > EmptyCell
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.
object to represent cell connectivity
structured grid with explicit topology and geometry
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...
static vtkIdType ComputeCellId(const int dim[3], const int ijk[3], int dataDescription=VTK_EMPTY)
Given a location in structured coordinates (i-j-k), and the dimensions of the structured dataset...
unsigned long GetActualMemorySize() override
Return the actual size of the data in kibibytes (1024 bytes).
void ShallowCopy(vtkDataObject *src) override
Shallow and Deep copy.
void CopyStructure(vtkDataSet *pd) override
Copy the geometric structure of an input point set object.
general representation of visualization data
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 GetCellType(vtkIdType cellId)=0
Get type of cell with cellId such that: 0 <= cellId < NumberOfCells.