#include <source/patchdata/boxgeometry/SideGeometry.h>
Inheritance diagram for SAMRAI::pdat::SideGeometry< DIM >:
Public Member Functions | |
SideGeometry (const hier::Box< DIM > &box, const hier::IntVector< DIM > &ghosts, const hier::IntVector< DIM > &directions) | |
virtual | ~SideGeometry () |
virtual tbox::Pointer< hier::BoxOverlap< DIM > > | calculateOverlap (const hier::BoxGeometry< DIM > &dst_geometry, const hier::BoxGeometry< DIM > &src_geometry, const hier::Box< DIM > &src_mask, const bool overwrite_interior, const hier::IntVector< DIM > &src_offset, const bool retry) const |
const hier::Box< DIM > & | getBox () const |
const hier::IntVector< DIM > & | getGhosts () const |
const hier::IntVector< DIM > & | getDirectionVector () const |
Static Public Member Functions | |
static hier::Box< DIM > | toSideBox (const hier::Box< DIM > &box, const int axis) |
Recall that side data is defined so that the sides associated with a given coordinate direction are those whose normal vector lies in that direction. Also, side data and face data storage are similar. However, the ordering of the indices is what differentiates the side data classes from the face data classes.
Note that the intersection between two side-centered boxes can be complicated since side geometries contain indices on the sides of the boxes. Thus, there may be overlap between two boxes, even though the boxes do not intersect in the AMR index space.
Note that it is possible to manage side data objects where the data is allocated for sides associated with a single coordinate direction only. All side geometry operations involving more than one side geometry object are only defined for the case where all objects have the same data allocation. If this is not the case, an assertion will result.
|
Construct a side geometry object given the box, ghost cell width, and information about which coordinate directions are allocated. |
|
The virtual destructor does nothing interesting. |
|
Compute the overlap in index space between the source side box geometry object and the destination box geometry. Refer to the box geometry class for a detailed description of calculateOverlap(). |
|
Return the box extents for this side centered box geometry object. |
|
Return the ghost cell width for this side centered box geometry object. |
|
Return constant reference to vector describing which coordinate directions managed by this side geometry object. A vector entry of zero indicates that this object will not perform operations involving the corresponding coordinate direction. A non-zero value indicates otherwise. |
|
Convert an AMR abstract box into a side geometry box. The box indices are cyclically shifted such that the side direction is first. The side direction runs from the corresponding lower index to the upper index plus one. All other indices run as in the original box. The axes are given by X=0, Y=1, and Z=2. |