VTK  9.3.20240420
Public Types | Public Member Functions | Public Attributes | List of all members
vtkStructuredAMRNeighbor Class Reference

An internal, light-weight object used to store neighbor information for AMR grids. More...

#include <vtkStructuredAMRNeighbor.h>

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

Public Types

enum  NeighborRelationship {
  PARENT , PARTIALLY_OVERLAPPING_PARENT , CHILD , PARTIALLY_OVERLAPPING_CHILD ,
  SAME_LEVEL_SIBLING , COARSE_TO_FINE_SIBLING , FINE_TO_COARSE_SIBLING , UNDEFINED
}
 
- Public Types inherited from vtkStructuredNeighbor
enum  NeighborOrientation {
  SUBSET_LO = -2 , LO = -1 , ONE_TO_ONE = 0 , HI = 1 ,
  SUBSET_HI = 2 , SUBSET_BOTH = 3 , SUPERSET = 4 , UNDEFINED = 5
}
 

Public Member Functions

 vtkStructuredAMRNeighbor ()
 Default constructor.
 
 vtkStructuredAMRNeighbor (int gridLevel, int neiID, int neighborLevel, int gridOverlap[6], int neiOverlap[6], int orient[3], int relationShip)
 Custom constructor.
 
 vtkStructuredAMRNeighbor (const vtkStructuredAMRNeighbor &N)
 Copy constructor.
 
 ~vtkStructuredAMRNeighbor () override=default
 Destructor.
 
vtkStructuredAMRNeighboroperator= (const vtkStructuredAMRNeighbor &N)
 Overload assignment operator.
 
void GetReceiveExtentOnGrid (int ng, int gridExtent[6], int ext[6])
 Returns the receive extent w.r.t.
 
std::string GetRelationShipString ()
 Returns the neighbor relationship as a string (useful for debugging).
 
void ComputeSendAndReceiveExtent (int gridRealExtent[6], int gridGhostedExtent[6], int neiRealExtent[6], int WholeExtent[6], int N) override
 Computes the SendExtent and RcvExtent for this neighbor.
 
- Public Member Functions inherited from vtkStructuredNeighbor
 vtkStructuredNeighbor ()
 Default Constructor.
 
 vtkStructuredNeighbor (int NeiID, int overlap[6])
 Custom constructor.
 
 vtkStructuredNeighbor (int NeiID, int overlap[6], int orient[3])
 Custom constructor.
 
 vtkStructuredNeighbor (const vtkStructuredNeighbor &N)
 Copy constructor.
 
virtual ~vtkStructuredNeighbor ()
 Default destructor.
 
vtkStructuredNeighboroperator= (const vtkStructuredNeighbor &N)
 Overload assignment operator.
 

Public Attributes

int GridOverlapExtent [6]
 
int GridLevel
 
int NeighborLevel
 
int RelationShip
 
- Public Attributes inherited from vtkStructuredNeighbor
int NeighborID
 
int OverlapExtent [6]
 
int SendExtent [6]
 
int RcvExtent [6]
 
int Orientation [3]
 

Detailed Description

An internal, light-weight object used to store neighbor information for AMR grids.

See also
vtkStructuredNeighbor vtkStructuredAMRGridConnectivity
Tests:
vtkStructuredAMRNeighbor (Tests)

Definition at line 22 of file vtkStructuredAMRNeighbor.h.

Member Enumeration Documentation

◆ NeighborRelationship

Enumerator
PARENT 
PARTIALLY_OVERLAPPING_PARENT 
CHILD 
PARTIALLY_OVERLAPPING_CHILD 
SAME_LEVEL_SIBLING 
COARSE_TO_FINE_SIBLING 
FINE_TO_COARSE_SIBLING 
UNDEFINED 

Definition at line 26 of file vtkStructuredAMRNeighbor.h.

Constructor & Destructor Documentation

◆ vtkStructuredAMRNeighbor() [1/3]

vtkStructuredAMRNeighbor::vtkStructuredAMRNeighbor ( )

Default constructor.

◆ vtkStructuredAMRNeighbor() [2/3]

vtkStructuredAMRNeighbor::vtkStructuredAMRNeighbor ( int  gridLevel,
int  neiID,
int  neighborLevel,
int  gridOverlap[6],
int  neiOverlap[6],
int  orient[3],
int  relationShip 
)

Custom constructor.

Creates an AMR neighbor for a grid (block) at level GridLevel with the neighboring block at NeiID, NeighborLevel. The two neighbors overlap at the pre-computed overlap extent which is given w.r.t to the current grid (i.e., not the neighboring grid).

◆ vtkStructuredAMRNeighbor() [3/3]

vtkStructuredAMRNeighbor::vtkStructuredAMRNeighbor ( const vtkStructuredAMRNeighbor N)
inline

Copy constructor.

Definition at line 62 of file vtkStructuredAMRNeighbor.h.

◆ ~vtkStructuredAMRNeighbor()

vtkStructuredAMRNeighbor::~vtkStructuredAMRNeighbor ( )
overridedefault

Destructor.

Member Function Documentation

◆ operator=()

vtkStructuredAMRNeighbor & vtkStructuredAMRNeighbor::operator= ( const vtkStructuredAMRNeighbor N)

Overload assignment operator.

◆ GetReceiveExtentOnGrid()

void vtkStructuredAMRNeighbor::GetReceiveExtentOnGrid ( int  ng,
int  gridExtent[6],
int  ext[6] 
)

Returns the receive extent w.r.t.

the grid's level, i.e., not the neighbor's level.

◆ GetRelationShipString()

std::string vtkStructuredAMRNeighbor::GetRelationShipString ( )

Returns the neighbor relationship as a string (useful for debugging).

◆ ComputeSendAndReceiveExtent()

void vtkStructuredAMRNeighbor::ComputeSendAndReceiveExtent ( int  gridRealExtent[6],
int  gridGhostedExtent[6],
int  neiRealExtent[6],
int  WholeExtent[6],
int  N 
)
overridevirtual

Computes the SendExtent and RcvExtent for this neighbor.

The method assumes that the overlap extent and orientation are already computed. Using this information, the method grows the overlap extent to form the Send and Rcv extents for this neighbor instance.

Reimplemented from vtkStructuredNeighbor.

Member Data Documentation

◆ GridOverlapExtent

int vtkStructuredAMRNeighbor::GridOverlapExtent[6]

Definition at line 40 of file vtkStructuredAMRNeighbor.h.

◆ GridLevel

int vtkStructuredAMRNeighbor::GridLevel

Definition at line 41 of file vtkStructuredAMRNeighbor.h.

◆ NeighborLevel

int vtkStructuredAMRNeighbor::NeighborLevel

Definition at line 42 of file vtkStructuredAMRNeighbor.h.

◆ RelationShip

int vtkStructuredAMRNeighbor::RelationShip

Definition at line 43 of file vtkStructuredAMRNeighbor.h.


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