A class for managing a List of Boxes that share a common IndexType. This class implements operations for sets of Boxes. This is a concrete class, not a polymorphic one.
More...
|
| BoxList () |
| Construct an empty BoxList with IndexType::TheCellType(). More...
|
|
| BoxList (const Box &bx) |
| Make a boxList consisting of a single Box. More...
|
|
| BoxList (IndexType _btype) |
| Construct an empty BoxList with IndexType _btype. More...
|
|
| BoxList (const BoxArray &ba) |
| Construct a BoxList from a BoxArray. More...
|
|
| BoxList (Vector< Box > &&bxs) |
| Construct a boxlist from a rvalue Vector<Box>. More...
|
|
| BoxList (const Box &bx, const IntVect &tilesize) |
| Make a boxList consisting of non-overlapping tile box from a single Box. More...
|
|
| BoxList (const Box &bx, int nboxes) |
| Make a BoxList consisting of nboxes Boxes from a single Box. More...
|
|
| BoxList (const Box &bx, int nboxes, Direction dir) |
| Make a BoxList consisting of nboxes Boxes chopped in dir-direction from a single Box. More...
|
|
| ~BoxList ()=default |
|
| BoxList (const BoxList &rhs)=default |
|
| BoxList (BoxList &&rhs)=default |
|
BoxList & | operator= (const BoxList &rhs)=default |
|
BoxList & | operator= (BoxList &&rhs)=default |
|
void | reserve (std::size_t n) |
|
void | push_back (const Box &bn) |
| Append a Box to this BoxList. More...
|
|
Box & | front () noexcept |
|
const Box & | front () const noexcept |
|
void | join (const BoxList &blist) |
| Join the BoxList to ourselves. More...
|
|
void | join (const Vector< Box > &barr) |
| Join the Array of Boxes to ourselves. More...
|
|
void | catenate (BoxList &blist) |
| Catenate the BoxList to ourselves. Removes entries from blist. More...
|
|
void | clear () |
| Remove all Boxes from this BoxList. More...
|
|
Long | size () const noexcept |
| The number of Boxes in this BoxList. More...
|
|
std::size_t | capacity () const noexcept |
|
iterator | begin () noexcept |
|
const_iterator | begin () const noexcept |
|
const_iterator | cbegin () const noexcept |
|
iterator | end () noexcept |
|
const_iterator | end () const noexcept |
|
const_iterator | cend () const noexcept |
|
bool | ok () const noexcept |
| True if this BoxList is valid; i.e. all the Boxes are valid and they all have the same IndexType. Also returns true if the BoxList is empty. More...
|
|
bool | operator== (const BoxList &rhs) const |
| Is this BoxList equal to rhs? More...
|
|
bool | operator!= (const BoxList &rhs) const |
| Is this BoxList notequal to rhs? More...
|
|
bool | isEmpty () const noexcept |
| Is this BoxList empty? More...
|
|
bool | isNotEmpty () const noexcept |
| Is this BoxList not empty? More...
|
|
bool | isDisjoint () const |
| True if the set of intersecting Boxes is empty. More...
|
|
bool | contains (const BoxList &bl) const |
| True if all Boxes in bl are contained in this BoxList. More...
|
|
BoxList & | intersect (const Box &b) |
| Modify this BoxList to contain only its intersection with Box b. More...
|
|
BoxList & | intersect (const BoxList &bl) |
| Modify this BoxList to contain only its intersection with BoxList bl. More...
|
|
BoxList & | removeEmpty () |
| Remove empty Boxes from this BoxList. More...
|
|
BoxList & | complementIn (const Box &b, const BoxList &bl) |
|
BoxList & | complementIn (const Box &b, BoxList &&bl) |
|
BoxList & | complementIn (const Box &b, const BoxArray &ba) |
|
BoxList & | parallelComplementIn (const Box &b, const BoxList &bl) |
|
BoxList & | parallelComplementIn (const Box &b, BoxList &&bl) |
|
BoxList & | parallelComplementIn (const Box &b, const BoxArray &ba) |
|
BoxList & | refine (int ratio) |
| Refine each Box in the BoxList by the ratio. More...
|
|
BoxList & | refine (const IntVect &ratio) |
| Refine each Box in the BoxList by the ratio. More...
|
|
BoxList & | coarsen (int ratio) |
| Coarsen each Box in the BoxList by the ratio. More...
|
|
BoxList & | coarsen (const IntVect &ratio) |
| Coarsen each Box in the BoxList by the ratio. More...
|
|
BoxList & | accrete (int sz) |
| Grow each Box in the BoxList by size sz. More...
|
|
BoxList & | accrete (const IntVect &sz) |
|
BoxList & | shift (int dir, int nzones) |
| Applies Box::shift(int,int) to each Box in the BoxList. More...
|
|
BoxList & | shiftHalf (int dir, int num_halfs) |
| Applies Box::shiftHalf(int,int) to each Box in the BoxList. More...
|
|
BoxList & | shiftHalf (const IntVect &iv) |
| Applies Box::shiftHalf(IntVect) to each Box in BoxList. More...
|
|
int | simplify (bool best=false) |
| Merge adjacent Boxes in this BoxList. Return the number of Boxes merged. If "best" is specified we do a single bruteforce pass over the list checking each Box against all Boxes after it in the list to see if they can be merged. If "best" is not specified we limit how fair afield we look for possible matches. The "best" algorithm is O(N-squared) while the other algorithm is O(N). More...
|
|
int | ordered_simplify () |
| Assuming the boxes are nicely ordered. More...
|
|
BoxList & | maxSize (int chunk) |
| Forces each Box in the BoxList to have sides of length <= chunk. More...
|
|
BoxList & | maxSize (const IntVect &chunk) |
| Forces each Box in the BoxList to have dimth side of length <= chunk[dim]. More...
|
|
Box | minimalBox () const |
| Returns smallest Box that contains all Boxes in this BoxList. More...
|
|
IndexType | ixType () const noexcept |
| Returns the IndexType of Boxes in this BoxList. More...
|
|
void | set (IndexType ixtyp) noexcept |
| Set the type of the BoxList. It's an error if the BoxList isn't empty. More...
|
|
BoxList & | surroundingNodes () noexcept |
| Applies surroundingNodes(Box) to each Box in BoxArray. See the documentation of Box for details. More...
|
|
BoxList & | surroundingNodes (int dir) noexcept |
| Applies surroundingNodes(Box,int) to each Box in BoxList. See the documentation of Box for details. More...
|
|
BoxList & | enclosedCells () noexcept |
| Applies Box::enclosedCells() to each Box in the BoxList. More...
|
|
BoxList & | enclosedCells (int dir) noexcept |
| Applies Box::enclosedCells(int) to each Box in the BoxList. More...
|
|
BoxList & | convert (IndexType typ) noexcept |
| Applies Box::convert(IndexType) to each Box in the BoxList. More...
|
|
Vector< Box > & | data () noexcept |
| Returns a reference to the Vector<Box>. More...
|
|
const Vector< Box > & | data () const noexcept |
| Returns a constant reference to the Vector<Box>. More...
|
|
void | swap (BoxList &rhs) noexcept |
|
void | Bcast () |
|
A class for managing a List of Boxes that share a common IndexType. This class implements operations for sets of Boxes. This is a concrete class, not a polymorphic one.