|
| enum | { ASCENDING,
DESCENDING
} |
| |
| BoxArray< DIM > | d_boxes |
| |
| boxElt * | d_sorted_lists [2 *DIM] |
| |
| boxElt * | d_shortest_list |
| |
| int | d_shortest_list_length |
| |
| | BoxTop (const BoxArray< DIM > &in_boxes, const tbox::Array< tbox::List< IntVector< DIM > > > &in_shifts) |
| | Constructor for BoxTop. More...
|
| |
| | BoxTop (const BoxArray< DIM > &in_boxes) |
| | Constructor for BoxTop. More...
|
| |
| | ~BoxTop () |
| |
| void | findOverlappingBoxes (BoxArray< DIM > &overlaps, const Box< DIM > &box) |
| | Compute the set of boxes that overlap with the specified box. More...
|
| |
| void | findOverlappingBoxIndices (tbox::Array< int > &indices, const Box< DIM > &box) |
| | Compute the indices of the boxes that overlap the specified box. More...
|
| |
| void | findOverlappingBoxesAndIndices (BoxArray< DIM > &overlaps, tbox::Array< int > &indices, const Box< DIM > &box) |
| | Compute the set of boxes, and their indices, that overlap with the specified box. More...
|
| |
| void | removeIntersections (BoxList< DIM > &list) |
| | Remove from list the portions that intersect the boxes in the BoxArray that was passed to the constructor. More...
|
| |
| void | print (std::ostream &os=tbox::plog) |
| | Undocumented function, used during development and testing. More...
|
| |
| | BoxTop (const BoxTop< DIM > &bs) |
| | the copy constructor is not implemented. More...
|
| |
| BoxTop< DIM > & | operator= (const BoxTop< DIM > &boxtop) |
| | the assignment operator is not implemented. More...
|
| |
| | BoxTop (const BoxList< DIM > &list) |
| | This undefined constructor prevents the creation of a "hidden" object. More...
|
| |
| void | setup () |
| |
| void | findNaborsPrivate (const Box< DIM > &box) |
| |
| void | sort (boxElt *&array, int len, int ordering) |
| |
| int | binSearch (boxElt *tmp, int tmp_len, int coord, int ordering) |
| |
| void | buildShortestList (BoxArray< DIM > &overlaps, bool build_overlaps, tbox::Array< int > &indices, bool build_indices, const Box< DIM > &box) |
| |
| void | printEltArray (boxElt *&data, int len, std::ostream &os) |
| |
| static int | boxEltCompareA (const void *v, const void *w) |
| |
| static int | boxEltCompareD (const void *v, const void *w) |
| |
template<int DIM>
class SAMRAI::hier::BoxTop< DIM >
Class BoxTop is a utility class that provides functionality that can be used to reduce the runtime complexity of certain box calculus operations.
A BoxTop object is constructed by passing the ctor a BoxArray; this array is used internally to setup private data structures that will be used in subsequent methods, described below. If the BoxArray contains n boxes, then the setup phase (which is invoked by the constructor) has a runtime complexity of O(n log(n)).
Following construction, two types of operations are supported. First, the three related functions findOverlappingBoxes, findOverlappingBoxIndices, and findOverlappingBoxesAndIndices take a box as input, and compute the subset of the boxes, and/or the indices of the boxes, that overlap with the box.
Second, the removeIntersections call takes a list of boxes as input, and removes those portions that intersect with the boxes in the BoxArray that was passed to the constructor.
- See also
- hier::Box
-
hier::BoxArray