#include <source/hierarchy/boxes/BoxList.h>
Inheritance diagram for SAMRAI::hier::BoxList< DIM >:
Public Types | |
typedef tbox::List< Box< DIM > >::Iterator | Iterator |
Public Member Functions | |
BoxList () | |
BoxList (const Box< DIM > &box) | |
BoxList (const BoxList< DIM > &list) | |
BoxList (const BoxArray< DIM > &array) | |
BoxList< DIM > & | operator= (const BoxList< DIM > &list) |
~BoxList () | |
int | getNumberOfBoxes () const |
void | simplifyBoxes () |
void | unionBoxes (const Box< DIM > &box) |
void | unionBoxes (const BoxList< DIM > &boxes) |
void | removeIntersections (const Box< DIM > &takeaway) |
void | removeIntersections (const BoxList< DIM > &takeaway) |
void | removeIntersections (const Box< DIM > &box, const Box< DIM > &takeaway) |
void | intersectBoxes (const Box< DIM > &box) |
void | intersectBoxes (const BoxList< DIM > &boxes) |
void | coalesceBoxes () |
void | sortDescendingBoxSizes () |
int | getTotalSizeOfBoxes () const |
bool | contains (const Index< DIM > &p) const |
void | grow (const IntVector< DIM > &ghosts) |
void | shift (const IntVector< DIM > &offset) |
void | refine (const IntVector< DIM > &ratio) |
void | coarsen (const IntVector< DIM > &ratio) |
bool | boxesIntersect () const |
Box< DIM > | getBoundingBox () const |
void | print (ostream &os=tbox::plog) const |
|
The iterator for class BoxList<DIM>. This is a convenient alias to the list iterator tbox::List< Box<DIM> >::Iterator. Reimplemented from SAMRAI::tbox::List< Box< DIM > >. |
|
Create an empty box list with no boxes. |
|
Create a box list with one box in it. |
|
Create a box list and copy the boxes from the argument list. |
|
Create a box list and copy the boxes from the argument array. |
|
The destructor releases all list storage. |
|
Copy boxes from the argument list. |
|
Return integer number of boxes in the box list. Note that this function merely calls the getNumberItems() function in the tbox::List base class. This function is provided for convenience and consistency with the tbox::BoxArray class. |
|
Place the boxes on the list into a canonical ordering. The canonical ordering for boxes is defined such that boxes that lie next to each other in higher dimensions are coalesced together before boxes that lie next to each other in lower dimensions. This ordering provides a standard representation that can be used to compare box lists. The canonical ordering also does not allow any overlap between the boxes on the list. This routine is potentially expensive, since the running time is |
|
Add the box to the list of boxes. Note that this routine does not simplify the box list. Thus, the new box may overlap with boxes that already reside on the list. |
|
Add the boxes to the list of boxes. Note that this routine does not simplify the box list. Thus, the new boxes may overlap with boxes that already reside on the list. |
|
Remove from the current boxlist the portions that intersect the box takeaway. This operation can be thought of as a set difference defined over the abstract AMR box index space. Performing the set difference will require |
|
Remove from the current boxlist the portions that intersect the boxes in the BoxList takeaway. |
|
A special version for the case where the BoxList is empty initially, this routine builds the list of boxes that get formed when intersecting box with takeaway. If the boxes do not intersect, box is added to the boxlist. This routine is primarily suited for applications which are looking only for the intersection of two boxes. |
|
Intersect the current boxlist against the specified box. Performing the intersection will require |
|
Intersect the current boxlist against the specified boxlist. The intersection calculation will require |
|
Combine any boxes in the list which may be coalesced. Two boxes may be coalesced if their union is a box (recall that boxes are not closed under index set unions). Empty boxes on the list are removed during this process. Note that this is potentially an expensive calculation (e.g., it will require |
|
Sort the boxes in the list from largest to smallest in size. Recall that the size of a box is the number of cell indices it contains. This routine uses a heap sort algorithm which requires |
|
Count up the total number of indices in all the boxes in the list. |
|
Check whether an index lies within the bounds of the collection of boxes. |
|
Grow all boxes in the box list by the specified ghost cell width. |
|
Shift all boxes in the box list by the specified offset. |
|
Refine the index space of each box in the box list by the specified vector refinement ratio. |
|
Coarsen the index space of each box in the box list by the specified vector coarsening ratio. |
|
Return true if there exists non-empty intersection among boxes in list; otherwise, return false. |
|
Return the bounding box for all boxes in the box list. |
|
Print all class member data for this bounding box list object to specified output stream. |