SAMRAI::hier::BoxOverlap< DIM > Class Template Reference

#include <source/hierarchy/variables/BoxOverlap.h>

Inheritance diagram for SAMRAI::hier::BoxOverlap< DIM >:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 BoxOverlap ()
virtual ~BoxOverlap ()
virtual bool isOverlapEmpty () const=0
virtual const IntVector< DIM > & getSourceOffset () const=0
virtual void print (std::ostream &os) const

Detailed Description

template<int DIM>
class SAMRAI::hier::BoxOverlap< DIM >

Class BoxOverlap<DIM> is an abstract base class used to represent the intersections between two AMR boxes. The exact form of the overlap is determined by the particular geometry implemented by the subclass. For example, the rules for intersecting face centered boxes is very different from that for cell centered boxes.

The BoxOverlap<DIM> class provides two functions. First, it serves as a base class that can answer the question whether an intersection is empty, and is therefore useful for determining communication dependencies. Second, it is a storage location for the exact form of the intersection of the data residing on two boxes, which can be quite complicated (for example, for face centered boxes). In the second case, access to the intersection data is via narrowing the interface via type-safe type casting and using the subclass member functions.

See also:
hier::BoxGeometry


Constructor & Destructor Documentation

template<int DIM>
SAMRAI::hier::BoxOverlap< DIM >::BoxOverlap (  )  [inline]

The default constructor for BoxOverlap<DIM> does nothing interesting.

template<int DIM>
SAMRAI::hier::BoxOverlap< DIM >::~BoxOverlap (  )  [virtual]

The virtual destructor does nothing interesting.


Member Function Documentation

template<int DIM>
virtual bool SAMRAI::hier::BoxOverlap< DIM >::isOverlapEmpty (  )  const [pure virtual]

Return true if intersecting boxes have no communication dependencies. Note that two boxes may communicate even if they do not intersect in the underlying AMR index space (e.g., if data values exist at the outside portions of the cells).

Implemented in SAMRAI::pdat::CellOverlap< DIM >, SAMRAI::pdat::EdgeOverlap< DIM >, SAMRAI::pdat::FaceOverlap< DIM >, SAMRAI::pdat::NodeOverlap< DIM >, and SAMRAI::pdat::SideOverlap< DIM >.

template<int DIM>
virtual const IntVector<DIM>& SAMRAI::hier::BoxOverlap< DIM >::getSourceOffset (  )  const [pure virtual]

Return the offset between the destination and source index spaces. The destination index space is the source index space shifted by this amount.

Implemented in SAMRAI::pdat::CellOverlap< DIM >, SAMRAI::pdat::EdgeOverlap< DIM >, SAMRAI::pdat::FaceOverlap< DIM >, SAMRAI::pdat::NodeOverlap< DIM >, and SAMRAI::pdat::SideOverlap< DIM >.

template<int DIM>
void SAMRAI::hier::BoxOverlap< DIM >::print ( std::ostream &  os  )  const [virtual]

Output the box overlap.

Reimplemented in SAMRAI::pdat::CellOverlap< DIM >.


The documentation for this class was generated from the following files:
Generated on Thu Jun 18 11:28:30 2009 for SAMRAI by  doxygen 1.5.1