VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkStructuredGridConnectivity Class Reference

vtkStructuredGridConnectivity is a concrete instance of vtkObject that implements functionality for computing the neighboring topology within a single partitioned structured grid dataset. More...

#include <vtkStructuredGridConnectivity.h>

Inheritance diagram for vtkStructuredGridConnectivity:
[legend]
Collaboration diagram for vtkStructuredGridConnectivity:
[legend]

Public Types

typedef vtkAbstractGridConnectivity Superclass
 
- Public Types inherited from vtkAbstractGridConnectivity
typedef vtkObject Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class. More...
 
vtkStructuredGridConnectivityNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses. More...
 
void SetNumberOfGrids (const unsigned int N) override
 Set/Get the total number of domains distributed among processors. More...
 
virtual void RegisterGrid (const int gridID, int extents[6], vtkUnsignedCharArray *nodesGhostArray, vtkUnsignedCharArray *cellGhostArray, vtkPointData *pointData, vtkCellData *cellData, vtkPoints *gridNodes)
 Registers the current grid corresponding to the grid ID by its global extent w.r.t. More...
 
void GetGridExtent (const int gridID, int extent[6])
 Returns the grid extent of the grid corresponding to the given grid ID. More...
 
void SetGhostedGridExtent (const int gridID, int ext[6])
 Sets the ghosted grid extent for the grid corresponding to the given grid ID to the given extent. More...
 
void GetGhostedGridExtent (const int gridID, int ext[6])
 Returns the ghosted grid extent for the block corresponding the. More...
 
void ComputeNeighbors () override
 Computes neighboring information. More...
 
int GetNumberOfNeighbors (const int gridID)
 Returns the number of neighbors for the grid corresponding to the given grid ID. More...
 
vtkStructuredNeighbor GetGridNeighbor (const int gridID, const int nei)
 Returns the neighbor corresponding to the index nei for the grid with the given (global) grid ID. More...
 
vtkIdListGetNeighbors (const int gridID, int *extents)
 Returns the list of neighboring blocks for the given grid and the corresponding overlapping extents are filled in the 1-D flat array strided by 6. More...
 
void FillGhostArrays (const int gridID, vtkUnsignedCharArray *nodesArray, vtkUnsignedCharArray *cellsArray) override
 Filles the mesh property arrays, nodes and cells, for the grid corresponding to the given grid ID. More...
 
void CreateGhostLayers (const int N=1) override
 Creates ghost layers. More...
 
virtual void SetWholeExtent (int, int, int, int, int, int)
 Set/Get the whole extent of the grid. More...
 
virtual void SetWholeExtent (int[6])
 Set/Get the whole extent of the grid. More...
 
virtual intGetWholeExtent ()
 Set/Get the whole extent of the grid. More...
 
virtual void GetWholeExtent (int &, int &, int &, int &, int &, int &)
 Set/Get the whole extent of the grid. More...
 
virtual void GetWholeExtent (int[6])
 Set/Get the whole extent of the grid. More...
 
virtual int GetDataDimension ()
 Returns the data dimension based on the whole extent. More...
 
- Public Member Functions inherited from vtkAbstractGridConnectivity
vtkAbstractGridConnectivityNewInstance () const
 
unsigned int GetNumberOfGrids ()
 Returns the total number of grids. More...
 
vtkUnsignedCharArrayGetGhostedPointGhostArray (const int gridID)
 Returns the ghosted points ghost array for the grid associated with the given grid ID. More...
 
vtkUnsignedCharArrayGetGhostedCellGhostArray (const int gridID)
 Returns the ghosted cells ghost array for the grid associated with the given grid ID. More...
 
vtkPointDataGetGhostedGridPointData (const int gridID)
 Returns the ghosted grid point data for the grid associated with the given grid ID. More...
 
vtkCellDataGetGhostedGridCellData (const int gridID)
 Returns the ghosted grid cell data for the grid associated with the given grid ID. More...
 
vtkPointsGetGhostedPoints (const int gridID)
 Returns the ghosted grid points for the grid associated with the given grid ID. More...
 
virtual void SetNumberOfGhostLayers (unsigned int)
 Set/Get the number of ghost layers. More...
 
virtual unsigned int GetNumberOfGhostLayers ()
 Set/Get the number of ghost layers. More...
 
- Public Member Functions inherited from vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
 
virtual void DebugOn ()
 Turn debugging output on. More...
 
virtual void DebugOff ()
 Turn debugging output off. More...
 
bool GetDebug ()
 Get the value of the debug flag. More...
 
void SetDebug (bool debugFlag)
 Set the value of the debug flag. More...
 
virtual void Modified ()
 Update the modification time for this object. More...
 
virtual vtkMTimeType GetMTime ()
 Return this object's modified time. More...
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
int HasObserver (unsigned long event)
 
int HasObserver (const char *event)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
vtkCommandGetCommand (unsigned long tag)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObserver (vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObservers (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObservers (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
int HasObserver (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
int HasObserver (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Allow user to set the AbortFlagOn() with the return value of the callback method. More...
 
int InvokeEvent (unsigned long event, void *callData)
 This method invokes an event and return whether the event was aborted or not. More...
 
int InvokeEvent (const char *event, void *callData)
 This method invokes an event and return whether the event was aborted or not. More...
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 Return the class name as a string. More...
 
virtual void Delete ()
 Delete a VTK object. More...
 
virtual void FastDelete ()
 Delete a reference to this object. More...
 
void InitializeObjectBase ()
 
void Print (ostream &os)
 Print an object to an ostream. More...
 
virtual void Register (vtkObjectBase *o)
 Increase the reference count (mark as used by another object). More...
 
virtual void UnRegister (vtkObjectBase *o)
 Decrease the reference count (release by another object). More...
 
int GetReferenceCount ()
 Return the current reference count of this object. More...
 
void SetReferenceCount (int)
 Sets the reference count. More...
 
void PrintRevisions (ostream &)
 Legacy. More...
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses. More...
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses. More...
 

Static Public Member Functions

static vtkStructuredGridConnectivityNew ()
 
static int IsTypeOf (const char *type)
 
static vtkStructuredGridConnectivitySafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkAbstractGridConnectivity
static int IsTypeOf (const char *type)
 
static vtkAbstractGridConnectivitySafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 
static void BreakOnError ()
 This method is called when vtkErrorMacro executes. More...
 
static void SetGlobalWarningDisplay (int val)
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static void GlobalWarningDisplayOn ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static void GlobalWarningDisplayOff ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static int GetGlobalWarningDisplay ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
- Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool IsTypeOf (const char *name)
 Return 1 if this class type is the same type of (or a subclass of) the named class. More...
 
static vtkObjectBaseNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkStructuredGridConnectivity ()
 
 ~vtkStructuredGridConnectivity () override
 
bool InBounds (const int idx, const int Lo, const int Hi)
 Returns true iff Lo <= idx <= Hi, otherwise false. More...
 
bool StrictlyInsideBounds (const int idx, const int Lo, const int Hi)
 Returns true iff Lo < idx < Hi, otherwise false. More...
 
bool IsSubset (int A[2], int B[2])
 Returns true iff A is a subset of B, otherwise false. More...
 
int Cardinality (int S[2])
 Returns the cardinality of a range S. More...
 
void FillNodesGhostArray (const int gridID, const int dataDescription, int GridExtent[6], int RealExtent[6], vtkUnsignedCharArray *nodeArray)
 Fills the the ghost array for the nodes. More...
 
void FillCellsGhostArray (const int dataDescription, const int numNodesPerCell, int dims[3], int CellExtent[6], vtkUnsignedCharArray *nodesArray, vtkUnsignedCharArray *cellsArray)
 Fills the ghost array for the grid cells. More...
 
void SearchNeighbors (const int gridID, const int i, const int j, const int k, vtkIdList *neiList)
 Given a point (i,j,k) belonging to the grid corresponding to the given gridID, this method searches for the grids that this point is neighboring with. More...
 
void MarkNodeProperty (const int gridID, const int i, const int j, const int k, int ext[6], int RealExtent[6], unsigned char &pfield)
 Marks the node properties with the node with the given global i,j,k grid coordinates w.r.t. More...
 
void MarkCellProperty (unsigned char &pfield, unsigned char *nodeGhostFields, const int numNodes)
 Marks the cell property for the cell composed by the nodes with the given ghost fields. More...
 
void GetRealExtent (const int gridID, int GridExtent[6], int RealExtent[6])
 Given a grid extent, this method computes the RealExtent. More...
 
bool IsGhostNode (int GridExtent[6], int RealExtent[6], const int i, const int j, const int k)
 Checks if the node corresponding to the given global i,j,k coordinates is a ghost node or not. More...
 
bool IsNodeOnBoundaryOfExtent (const int i, const int j, const int k, int ext[6])
 Checks if the node corresponding to the given global i,j,k coordinates is on the boundary of the given extent. More...
 
bool IsNodeOnSharedBoundary (const int gridID, int RealExtent[6], const int i, const int j, const int k)
 Checks if the node corresponding to the given global i,j,k coordinates is on the shared boundary, i.e., a partition interface. More...
 
bool IsNodeOnBoundary (const int i, const int j, const int k)
 Checks if the node corresponding to the given global i,j,k coordinates touches the real boundaries of the domain given the whole extent. More...
 
bool IsNodeInterior (const int i, const int j, const int k, int GridExtent[6])
 Checks if the node, corresponding to the given global i,j,k coordinates is within the interior of the given global grid extent. More...
 
bool IsNodeWithinExtent (const int i, const int j, const int k, int GridExtent[6])
 Checks if the node corresponding to the given global i,j,k coordinates is within the given extent, inclusive of the extent bounds. More...
 
void SetNeighbors (const int i, const int j, int i2jOrientation[3], int j2iOrientation[3], int overlapExtent[6])
 Creates a neighbor from i-to-j and from j-to-i. More...
 
void DetermineNeighborOrientation (const int idx, int A[2], int B[2], int overlap[2], int orient[3])
 Given two overlapping extents A,B and the corresponding overlap extent this method computes A's relative neighboring orientation w.r.t to its neighbor, B. More...
 
void DetectNeighbors (const int i, const int j, int ex1[6], int ex2[6], int orientation[3], int ndim)
 Detects if the two extents, ex1 and ex2, corresponding to the grids with grid IDs i,j respectively, are neighbors, i.e, they either share a corner, an edge or a plane in 3-D. More...
 
int IntervalOverlap (int A[2], int B[2], int overlap[2])
 Checks if the intervals A,B overlap. More...
 
int DoPartialOverlap (int s[2], int S[2], int overlap[2])
 Checks if the internals s,S partially overlap where |s| < |S|. More...
 
int PartialOverlap (int A[2], const int CofA, int B[2], const int CofB, int overlap[2])
 Checks if the intervals A,B partially overlap. More...
 
void EstablishNeighbors (const int i, const int j)
 Establishes the neighboring information between the two grids corresponding to grid ids "i" and "j" with i < j. More...
 
void AcquireDataDescription ()
 Based on the user-supplied WholeExtent, this method determines the topology of the structured domain, e.g., VTK_XYZ_GRID, VTK_XY_PLANE, etc. More...
 
bool HasBlockConnection (const int gridID, const int blockDirection)
 Checks if the block corresponding to the given grid ID has a block adjacent to it in the given block direction. More...
 
void RemoveBlockConnection (const int gridID, const int blockDirection)
 Removes a block connection along the given direction for the block corresponding to the given gridID. More...
 
void AddBlockConnection (const int gridID, const int blockDirection)
 Adds a block connection along the given direction for the block corresponding to the given gridID. More...
 
void ClearBlockConnections (const int gridID)
 Clears all block connections for the block corresponding to the given grid ID. More...
 
int GetNumberOfConnectingBlockFaces (const int gridID)
 Returns the number of faces of the block corresponding to the given grid ID that are adjacent to at least one other block. More...
 
void SetBlockTopology (const int gridID)
 Sets the block topology connections for the grid corresponding to gridID. More...
 
void GetIJKBlockOrientation (const int i, const int j, const int k, int ext[6], int orientation[3])
 Given i-j-k coordinates and the grid defined by tis extent, ext, this method determines IJK orientation with respect to the block boundaries, i.e., the 6 block faces. More...
 
int Get1DOrientation (const int idx, const int ExtentLo, const int ExtentHi, const int OnLo, const int OnHi, const int NotOnBoundary)
 A helper method that computes the 1-D i-j-k orientation to facilitate the implementation of GetNodeBlockOrientation. More...
 
void CreateGhostedExtent (const int gridID, const int N)
 Creates the ghosted extent of the grid corresponding to the given gridID. More...
 
void GetGhostedExtent (int *ghostedExtent, int GridExtent[6], const int minIdx, const int maxIdx, const int N)
 Gets the ghosted extent from the given grid extent along the dimension given by minIdx and maxIdx. More...
 
void CreateGhostedMaskArrays (const int gridID)
 This method creates the ghosted mask arrays, i.e., the NodeGhostArrays and the CellGhostArrays for the grid corresponding to the given gridID. More...
 
void InitializeGhostData (const int gridID)
 This method initializes the ghost data according to the computed ghosted grid extent for the grid with the given grid ID. More...
 
void AllocatePointData (vtkPointData *RPD, const int N, vtkPointData *PD)
 Adds/creates all the arrays in the reference grid point data, RPD, to the user-supplied point data instance, PD, where the number of points is given by N. More...
 
void AllocateCellData (vtkCellData *RCD, const int N, vtkCellData *CD)
 Adds/creates all the arrays in the reference grid cell data, RCD, to the user-supplied cell data instance, CD, where the number of cells is given by N. More...
 
void TransferRegisteredDataToGhostedData (const int gridID)
 This method transfers the registered grid data to the corresponding ghosted grid data. More...
 
void ComputeNeighborSendAndRcvExtent (const int gridID, const int N)
 This method computes, the send and rcv extents for each neighbor of each grid. More...
 
virtual void TransferGhostDataFromNeighbors (const int gridID)
 This method transfers the fields (point data and cell data) to the ghost extents from the neighboring grids of the grid corresponding to the given gridID. More...
 
void TransferLocalNeighborData (const int gridID, const vtkStructuredNeighbor &Neighor)
 This method transfers the fields. More...
 
void CopyCoordinates (vtkPoints *source, vtkIdType sourceIdx, vtkPoints *target, vtkIdType targetIdx)
 Copies the coordinates from the source points to the target points. More...
 
void CopyFieldData (vtkFieldData *source, vtkIdType sourceIdx, vtkFieldData *target, vtkIdType targetIdx)
 Loops through all arrays in the source and for each array, it copies the tuples from sourceIdx to the target at targetIdx. More...
 
int GetNeighborIndex (const int gridIdx, const int NeighborGridIdx)
 Given a global grid ID and the neighbor grid ID, this method returns the neighbor index w.r.t. More...
 
void PrintExtent (int extent[6])
 Prints the extent, used for debugging. More...
 
int GetNumberOfNodesPerCell (const int dim)
 Returns the number of nodes per cell according to the given dimension. More...
 
- Protected Member Functions inherited from vtkAbstractGridConnectivity
 vtkAbstractGridConnectivity ()
 
 ~vtkAbstractGridConnectivity () override
 
void RegisterGridGhostArrays (const int gridID, vtkUnsignedCharArray *nodesArray, vtkUnsignedCharArray *cellsArray)
 Registers the ghostarrays for the given grid. More...
 
void RegisterFieldData (const int gridID, vtkPointData *PointData, vtkCellData *CellData)
 Registers the grid's field data, i.e., the node and cell data. More...
 
void RegisterGridNodes (const int gridID, vtkPoints *nodes)
 Registers the grid nodes for the grid associated with the given gridID. More...
 
void AllocateUserRegisterDataStructures ()
 Allocate/De-allocate the data-structures where the user-supplied grids will be registered. More...
 
void DeAllocateUserRegisterDataStructures ()
 Allocate/De-allocate the data-structures where the user-supplied grids will be registered. More...
 
void AllocateInternalDataStructures ()
 Allocated/De-allocate the data-structures where the ghosted grid data will be stored. More...
 
void DeAllocateInternalDataStructures ()
 Allocated/De-allocate the data-structures where the ghosted grid data will be stored. More...
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
 ~vtkObject () override
 
void RegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
 These methods allow a command to exclusively grab all events. More...
 
void InternalReleaseFocus ()
 These methods allow a command to exclusively grab all events. More...
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void CollectRevisions (ostream &)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Protected Attributes

int DataDimension
 
int DataDescription
 
int WholeExtent [6]
 
std::vector< intGridExtents
 
std::vector< intGhostedExtents
 
std::vector< unsigned char > BlockTopology
 
std::vector< std::vector< vtkStructuredNeighbor > > Neighbors
 
std::map< std::pair< int, int >, intNeighborPair2NeighborListIndex
 
- Protected Attributes inherited from vtkAbstractGridConnectivity
unsigned int NumberOfGrids
 
unsigned int NumberOfGhostLayers
 
std::vector< vtkUnsignedCharArray * > GridPointGhostArrays
 
std::vector< vtkUnsignedCharArray * > GridCellGhostArrays
 
std::vector< vtkPointData * > GridPointData
 
std::vector< vtkCellData * > GridCellData
 
std::vector< vtkPoints * > GridPoints
 
bool AllocatedGhostDataStructures
 
std::vector< vtkPointData * > GhostedGridPointData
 
std::vector< vtkCellData * > GhostedGridCellData
 
std::vector< vtkUnsignedCharArray * > GhostedPointGhostArray
 
std::vector< vtkUnsignedCharArray * > GhostedCellGhostArray
 
std::vector< vtkPoints * > GhostedGridPoints
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Detailed Description

vtkStructuredGridConnectivity is a concrete instance of vtkObject that implements functionality for computing the neighboring topology within a single partitioned structured grid dataset.

This class implementation does not have any support for distributed data. For the parallel implementation see vtkPStructuredGridConnectivity.

See also
vtkGhostArray vtkPStructuredGridConnectivity
Tests:
vtkStructuredGridConnectivity (Tests)

Definition at line 60 of file vtkStructuredGridConnectivity.h.

Member Typedef Documentation

Definition at line 65 of file vtkStructuredGridConnectivity.h.

Constructor & Destructor Documentation

vtkStructuredGridConnectivity::vtkStructuredGridConnectivity ( )
protected
vtkStructuredGridConnectivity::~vtkStructuredGridConnectivity ( )
overrideprotected

Member Function Documentation

static vtkStructuredGridConnectivity* vtkStructuredGridConnectivity::New ( )
static
static int vtkStructuredGridConnectivity::IsTypeOf ( const char *  type)
static
virtual int vtkStructuredGridConnectivity::IsA ( const char *  name)
virtual

Return 1 if this class is the same type of (or a subclass of) the named class.

Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkAbstractGridConnectivity.

Reimplemented in vtkPStructuredGridConnectivity.

static vtkStructuredGridConnectivity* vtkStructuredGridConnectivity::SafeDownCast ( vtkObjectBase o)
static
virtual vtkObjectBase* vtkStructuredGridConnectivity::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented from vtkAbstractGridConnectivity.

Reimplemented in vtkPStructuredGridConnectivity.

vtkStructuredGridConnectivity* vtkStructuredGridConnectivity::NewInstance ( ) const
void vtkStructuredGridConnectivity::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
overridevirtual

Methods invoked by print to print information about the object including superclasses.

Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkAbstractGridConnectivity.

Reimplemented in vtkPStructuredGridConnectivity.

virtual void vtkStructuredGridConnectivity::SetWholeExtent ( int  ,
int  ,
int  ,
int  ,
int  ,
int   
)
virtual

Set/Get the whole extent of the grid.

virtual void vtkStructuredGridConnectivity::SetWholeExtent ( int  [6])
virtual

Set/Get the whole extent of the grid.

virtual int* vtkStructuredGridConnectivity::GetWholeExtent ( )
virtual

Set/Get the whole extent of the grid.

virtual void vtkStructuredGridConnectivity::GetWholeExtent ( int ,
int ,
int ,
int ,
int ,
int  
)
virtual

Set/Get the whole extent of the grid.

virtual void vtkStructuredGridConnectivity::GetWholeExtent ( int  [6])
virtual

Set/Get the whole extent of the grid.

virtual int vtkStructuredGridConnectivity::GetDataDimension ( )
virtual

Returns the data dimension based on the whole extent.

void vtkStructuredGridConnectivity::SetNumberOfGrids ( const unsigned int  N)
inlineoverridevirtual

Set/Get the total number of domains distributed among processors.

Implements vtkAbstractGridConnectivity.

Reimplemented in vtkPStructuredGridConnectivity.

Definition at line 1042 of file vtkStructuredGridConnectivity.h.

virtual void vtkStructuredGridConnectivity::RegisterGrid ( const int  gridID,
int  extents[6],
vtkUnsignedCharArray nodesGhostArray,
vtkUnsignedCharArray cellGhostArray,
vtkPointData pointData,
vtkCellData cellData,
vtkPoints gridNodes 
)
virtual

Registers the current grid corresponding to the grid ID by its global extent w.r.t.

the whole extent.

Reimplemented in vtkPStructuredGridConnectivity.

void vtkStructuredGridConnectivity::GetGridExtent ( const int  gridID,
int  extent[6] 
)
inline

Returns the grid extent of the grid corresponding to the given grid ID.

Definition at line 695 of file vtkStructuredGridConnectivity.h.

void vtkStructuredGridConnectivity::SetGhostedGridExtent ( const int  gridID,
int  ext[6] 
)
inline

Sets the ghosted grid extent for the grid corresponding to the given grid ID to the given extent.

Definition at line 680 of file vtkStructuredGridConnectivity.h.

void vtkStructuredGridConnectivity::GetGhostedGridExtent ( const int  gridID,
int  ext[6] 
)
inline

Returns the ghosted grid extent for the block corresponding the.

Definition at line 707 of file vtkStructuredGridConnectivity.h.

void vtkStructuredGridConnectivity::ComputeNeighbors ( )
overridevirtual

Computes neighboring information.

Implements vtkAbstractGridConnectivity.

Reimplemented in vtkPStructuredGridConnectivity.

int vtkStructuredGridConnectivity::GetNumberOfNeighbors ( const int  gridID)
inline

Returns the number of neighbors for the grid corresponding to the given grid ID.

Definition at line 124 of file vtkStructuredGridConnectivity.h.

vtkStructuredNeighbor vtkStructuredGridConnectivity::GetGridNeighbor ( const int  gridID,
const int  nei 
)

Returns the neighbor corresponding to the index nei for the grid with the given (global) grid ID.

vtkIdList* vtkStructuredGridConnectivity::GetNeighbors ( const int  gridID,
int extents 
)

Returns the list of neighboring blocks for the given grid and the corresponding overlapping extents are filled in the 1-D flat array strided by 6.

NOTE: the flat array extents must be pre-allocated.

void vtkStructuredGridConnectivity::FillGhostArrays ( const int  gridID,
vtkUnsignedCharArray nodesArray,
vtkUnsignedCharArray cellsArray 
)
overridevirtual

Filles the mesh property arrays, nodes and cells, for the grid corresponding to the given grid ID.

NOTE: this method assumes that ComputeNeighbors() has been called.

Implements vtkAbstractGridConnectivity.

void vtkStructuredGridConnectivity::CreateGhostLayers ( const int  N = 1)
overridevirtual

Creates ghost layers.

Implements vtkAbstractGridConnectivity.

Reimplemented in vtkPStructuredGridConnectivity.

bool vtkStructuredGridConnectivity::InBounds ( const int  idx,
const int  Lo,
const int  Hi 
)
inlineprotected

Returns true iff Lo <= idx <= Hi, otherwise false.

Definition at line 164 of file vtkStructuredGridConnectivity.h.

bool vtkStructuredGridConnectivity::StrictlyInsideBounds ( const int  idx,
const int  Lo,
const int  Hi 
)
inlineprotected

Returns true iff Lo < idx < Hi, otherwise false.

Definition at line 170 of file vtkStructuredGridConnectivity.h.

bool vtkStructuredGridConnectivity::IsSubset ( int  A[2],
int  B[2] 
)
inlineprotected

Returns true iff A is a subset of B, otherwise false.

Definition at line 176 of file vtkStructuredGridConnectivity.h.

int vtkStructuredGridConnectivity::Cardinality ( int  S[2])
inlineprotected

Returns the cardinality of a range S.

Definition at line 183 of file vtkStructuredGridConnectivity.h.

int vtkStructuredGridConnectivity::GetNumberOfNodesPerCell ( const int  dim)
inlineprotected

Returns the number of nodes per cell according to the given dimension.

Definition at line 189 of file vtkStructuredGridConnectivity.h.

void vtkStructuredGridConnectivity::FillNodesGhostArray ( const int  gridID,
const int  dataDescription,
int  GridExtent[6],
int  RealExtent[6],
vtkUnsignedCharArray nodeArray 
)
protected

Fills the the ghost array for the nodes.

void vtkStructuredGridConnectivity::FillCellsGhostArray ( const int  dataDescription,
const int  numNodesPerCell,
int  dims[3],
int  CellExtent[6],
vtkUnsignedCharArray nodesArray,
vtkUnsignedCharArray cellsArray 
)
protected

Fills the ghost array for the grid cells.

void vtkStructuredGridConnectivity::SearchNeighbors ( const int  gridID,
const int  i,
const int  j,
const int  k,
vtkIdList neiList 
)
protected

Given a point (i,j,k) belonging to the grid corresponding to the given gridID, this method searches for the grids that this point is neighboring with.

void vtkStructuredGridConnectivity::MarkNodeProperty ( const int  gridID,
const int  i,
const int  j,
const int  k,
int  ext[6],
int  RealExtent[6],
unsigned char &  pfield 
)
protected

Marks the node properties with the node with the given global i,j,k grid coordinates w.r.t.

to the grid defined by the given extent ext.

void vtkStructuredGridConnectivity::MarkCellProperty ( unsigned char &  pfield,
unsigned char *  nodeGhostFields,
const int  numNodes 
)
protected

Marks the cell property for the cell composed by the nodes with the given ghost fields.

void vtkStructuredGridConnectivity::GetRealExtent ( const int  gridID,
int  GridExtent[6],
int  RealExtent[6] 
)
protected

Given a grid extent, this method computes the RealExtent.

bool vtkStructuredGridConnectivity::IsGhostNode ( int  GridExtent[6],
int  RealExtent[6],
const int  i,
const int  j,
const int  k 
)
protected

Checks if the node corresponding to the given global i,j,k coordinates is a ghost node or not.

bool vtkStructuredGridConnectivity::IsNodeOnBoundaryOfExtent ( const int  i,
const int  j,
const int  k,
int  ext[6] 
)
inlineprotected

Checks if the node corresponding to the given global i,j,k coordinates is on the boundary of the given extent.

Definition at line 730 of file vtkStructuredGridConnectivity.h.

bool vtkStructuredGridConnectivity::IsNodeOnSharedBoundary ( const int  gridID,
int  RealExtent[6],
const int  i,
const int  j,
const int  k 
)
protected

Checks if the node corresponding to the given global i,j,k coordinates is on the shared boundary, i.e., a partition interface.

NOTE: A node on a shared boundary, may also be on a real boundary.

bool vtkStructuredGridConnectivity::IsNodeOnBoundary ( const int  i,
const int  j,
const int  k 
)
protected

Checks if the node corresponding to the given global i,j,k coordinates touches the real boundaries of the domain given the whole extent.

bool vtkStructuredGridConnectivity::IsNodeInterior ( const int  i,
const int  j,
const int  k,
int  GridExtent[6] 
)
inlineprotected

Checks if the node, corresponding to the given global i,j,k coordinates is within the interior of the given global grid extent.

Definition at line 798 of file vtkStructuredGridConnectivity.h.

bool vtkStructuredGridConnectivity::IsNodeWithinExtent ( const int  i,
const int  j,
const int  k,
int  GridExtent[6] 
)
inlineprotected

Checks if the node corresponding to the given global i,j,k coordinates is within the given extent, inclusive of the extent bounds.

Definition at line 299 of file vtkStructuredGridConnectivity.h.

void vtkStructuredGridConnectivity::SetNeighbors ( const int  i,
const int  j,
int  i2jOrientation[3],
int  j2iOrientation[3],
int  overlapExtent[6] 
)
protected

Creates a neighbor from i-to-j and from j-to-i.

void vtkStructuredGridConnectivity::DetermineNeighborOrientation ( const int  idx,
int  A[2],
int  B[2],
int  overlap[2],
int  orient[3] 
)
inlineprotected

Given two overlapping extents A,B and the corresponding overlap extent this method computes A's relative neighboring orientation w.r.t to its neighbor, B.

The resulting orientation is stored in an integer 3-tuple that holds the orientation of A relative to B alone each axis, i, j, k. See vtkStructuredNeighbor::NeighborOrientation for a list of valid orientation values.

Definition at line 863 of file vtkStructuredGridConnectivity.h.

void vtkStructuredGridConnectivity::DetectNeighbors ( const int  i,
const int  j,
int  ex1[6],
int  ex2[6],
int  orientation[3],
int  ndim 
)
protected

Detects if the two extents, ex1 and ex2, corresponding to the grids with grid IDs i,j respectively, are neighbors, i.e, they either share a corner, an edge or a plane in 3-D.

int vtkStructuredGridConnectivity::IntervalOverlap ( int  A[2],
int  B[2],
int  overlap[2] 
)
protected

Checks if the intervals A,B overlap.

The intersection of A,B is returned in the overlap array and a return code is used to indicate the type of overlap. The return values are defined as follows: VTK_NO_OVERLAP 0 VTK_NODE_OVERLAP 1 VTK_EDGE_OVERLAP 2 VTK_PARTIAL_OVERLAP 3

int vtkStructuredGridConnectivity::DoPartialOverlap ( int  s[2],
int  S[2],
int  overlap[2] 
)
protected

Checks if the internals s,S partially overlap where |s| < |S|.

The intersection of s,S is stored in the supplied overlap array and a return code is used to indicate the type of overlap. The return values are defined as follows: VTK_NO_OVERLAP 0 VTK_NODE_OVERLAP 1 VTK_PARTIAL_OVERLAP 3

int vtkStructuredGridConnectivity::PartialOverlap ( int  A[2],
const int  CofA,
int  B[2],
const int  CofB,
int  overlap[2] 
)
protected

Checks if the intervals A,B partially overlap.

The region of partial overlap is returned in the provided overlap array and a return code is used to indicate whether there is partial overlap or not. The return values are defined as follows: VTK_NO_OVERLAP 0 VTK_NODE_OVERLAP 1 VTK_PARTIAL_OVERLAP 3

void vtkStructuredGridConnectivity::EstablishNeighbors ( const int  i,
const int  j 
)
protected

Establishes the neighboring information between the two grids corresponding to grid ids "i" and "j" with i < j.

void vtkStructuredGridConnectivity::AcquireDataDescription ( )
protected

Based on the user-supplied WholeExtent, this method determines the topology of the structured domain, e.g., VTK_XYZ_GRID, VTK_XY_PLANE, etc.

bool vtkStructuredGridConnectivity::HasBlockConnection ( const int  gridID,
const int  blockDirection 
)
inlineprotected

Checks if the block corresponding to the given grid ID has a block adjacent to it in the given block direction.

NOTE: The block direction is essentially one of the 6 faces of the block defined as follows:

  • FRONT = 0 (+k diretion)
  • BACK = 1 (-k direction)
  • RIGHT = 2 (+i direction)
  • LEFT = 3 (-i direction)
  • TOP = 4 (+j direction)
  • BOTTOM = 5 (-j direction)

Definition at line 957 of file vtkStructuredGridConnectivity.h.

void vtkStructuredGridConnectivity::RemoveBlockConnection ( const int  gridID,
const int  blockDirection 
)
inlineprotected

Removes a block connection along the given direction for the block corresponding to the given gridID.

NOTE: The block direction is essentially one of the 6 faces of the block defined as follows:

  • FRONT = 0 (+k diretion)
  • BACK = 1 (-k direction)
  • RIGHT = 2 (+i direction)
  • LEFT = 3 (-i direction)
  • TOP = 4 (+j direction)
  • BOTTOM = 5 (-j direction)

Definition at line 976 of file vtkStructuredGridConnectivity.h.

void vtkStructuredGridConnectivity::AddBlockConnection ( const int  gridID,
const int  blockDirection 
)
inlineprotected

Adds a block connection along the given direction for the block corresponding to the given gridID.

NOTE: The block direction is essentially one of the 6 faces of the block defined as follows:

  • FRONT = 0 (+k diretion)
  • BACK = 1 (-k direction)
  • RIGHT = 2 (+i direction)
  • LEFT = 3 (-i direction)
  • TOP = 4 (+j direction)
  • BOTTOM = 5 (-j direction)

Definition at line 991 of file vtkStructuredGridConnectivity.h.

void vtkStructuredGridConnectivity::ClearBlockConnections ( const int  gridID)
inlineprotected

Clears all block connections for the block corresponding to the given grid ID.

Definition at line 1005 of file vtkStructuredGridConnectivity.h.

int vtkStructuredGridConnectivity::GetNumberOfConnectingBlockFaces ( const int  gridID)
inlineprotected

Returns the number of faces of the block corresponding to the given grid ID that are adjacent to at least one other block.

Note, this is not the total number of neighbors for the block. This method simply checks how many out of the 6 block faces have connections. Thus, the return value has an upper-bound of 6.

Definition at line 1020 of file vtkStructuredGridConnectivity.h.

void vtkStructuredGridConnectivity::SetBlockTopology ( const int  gridID)
protected

Sets the block topology connections for the grid corresponding to gridID.

void vtkStructuredGridConnectivity::GetIJKBlockOrientation ( const int  i,
const int  j,
const int  k,
int  ext[6],
int  orientation[3] 
)
protected

Given i-j-k coordinates and the grid defined by tis extent, ext, this method determines IJK orientation with respect to the block boundaries, i.e., the 6 block faces.

If the node is not on a boundary, then orientation[i] = BlockFace::NOT_ON_BLOCK_FACE for all i in [0,2].

int vtkStructuredGridConnectivity::Get1DOrientation ( const int  idx,
const int  ExtentLo,
const int  ExtentHi,
const int  OnLo,
const int  OnHi,
const int  NotOnBoundary 
)
inlineprotected

A helper method that computes the 1-D i-j-k orientation to facilitate the implementation of GetNodeBlockOrientation.

Definition at line 941 of file vtkStructuredGridConnectivity.h.

void vtkStructuredGridConnectivity::CreateGhostedExtent ( const int  gridID,
const int  N 
)
protected

Creates the ghosted extent of the grid corresponding to the given gridID.

void vtkStructuredGridConnectivity::GetGhostedExtent ( int ghostedExtent,
int  GridExtent[6],
const int  minIdx,
const int  maxIdx,
const int  N 
)
inlineprotected

Gets the ghosted extent from the given grid extent along the dimension given by minIdx and maxIdx.

This method is a helper method for the implementation of CreateGhostedExtent.

Definition at line 660 of file vtkStructuredGridConnectivity.h.

void vtkStructuredGridConnectivity::CreateGhostedMaskArrays ( const int  gridID)
protected

This method creates the ghosted mask arrays, i.e., the NodeGhostArrays and the CellGhostArrays for the grid corresponding to the given gridID.

void vtkStructuredGridConnectivity::InitializeGhostData ( const int  gridID)
protected

This method initializes the ghost data according to the computed ghosted grid extent for the grid with the given grid ID.

Specifically, PointData, CellData and grid coordinates are allocated for the ghosted grid accordingly.

void vtkStructuredGridConnectivity::AllocatePointData ( vtkPointData RPD,
const int  N,
vtkPointData PD 
)
protected

Adds/creates all the arrays in the reference grid point data, RPD, to the user-supplied point data instance, PD, where the number of points is given by N.

void vtkStructuredGridConnectivity::AllocateCellData ( vtkCellData RCD,
const int  N,
vtkCellData CD 
)
protected

Adds/creates all the arrays in the reference grid cell data, RCD, to the user-supplied cell data instance, CD, where the number of cells is given by N.

void vtkStructuredGridConnectivity::TransferRegisteredDataToGhostedData ( const int  gridID)
protected

This method transfers the registered grid data to the corresponding ghosted grid data.

void vtkStructuredGridConnectivity::ComputeNeighborSendAndRcvExtent ( const int  gridID,
const int  N 
)
protected

This method computes, the send and rcv extents for each neighbor of each grid.

virtual void vtkStructuredGridConnectivity::TransferGhostDataFromNeighbors ( const int  gridID)
protectedvirtual

This method transfers the fields (point data and cell data) to the ghost extents from the neighboring grids of the grid corresponding to the given gridID.

Reimplemented in vtkPStructuredGridConnectivity.

void vtkStructuredGridConnectivity::TransferLocalNeighborData ( const int  gridID,
const vtkStructuredNeighbor Neighor 
)
protected

This method transfers the fields.

void vtkStructuredGridConnectivity::CopyCoordinates ( vtkPoints source,
vtkIdType  sourceIdx,
vtkPoints target,
vtkIdType  targetIdx 
)
protected

Copies the coordinates from the source points to the target points.

void vtkStructuredGridConnectivity::CopyFieldData ( vtkFieldData source,
vtkIdType  sourceIdx,
vtkFieldData target,
vtkIdType  targetIdx 
)
protected

Loops through all arrays in the source and for each array, it copies the tuples from sourceIdx to the target at targetIdx.

This method assumes that the source and target have a one-to-one array correspondance, that is array i in the source corresponds to array i in the target.

int vtkStructuredGridConnectivity::GetNeighborIndex ( const int  gridIdx,
const int  NeighborGridIdx 
)
inlineprotected

Given a global grid ID and the neighbor grid ID, this method returns the neighbor index w.r.t.

the Neighbors list of the grid with grid ID gridIdx.

Definition at line 641 of file vtkStructuredGridConnectivity.h.

void vtkStructuredGridConnectivity::PrintExtent ( int  extent[6])
protected

Prints the extent, used for debugging.

Member Data Documentation

int vtkStructuredGridConnectivity::DataDimension
protected

Definition at line 621 of file vtkStructuredGridConnectivity.h.

int vtkStructuredGridConnectivity::DataDescription
protected

Definition at line 622 of file vtkStructuredGridConnectivity.h.

int vtkStructuredGridConnectivity::WholeExtent[6]
protected

Definition at line 623 of file vtkStructuredGridConnectivity.h.

std::vector< int > vtkStructuredGridConnectivity::GridExtents
protected

Definition at line 625 of file vtkStructuredGridConnectivity.h.

std::vector< int > vtkStructuredGridConnectivity::GhostedExtents
protected

Definition at line 626 of file vtkStructuredGridConnectivity.h.

std::vector< unsigned char > vtkStructuredGridConnectivity::BlockTopology
protected

Definition at line 627 of file vtkStructuredGridConnectivity.h.

std::vector< std::vector<vtkStructuredNeighbor> > vtkStructuredGridConnectivity::Neighbors
protected

Definition at line 628 of file vtkStructuredGridConnectivity.h.

std::map< std::pair< int,int >, int > vtkStructuredGridConnectivity::NeighborPair2NeighborListIndex
protected

Definition at line 629 of file vtkStructuredGridConnectivity.h.


The documentation for this class was generated from the following file: