#include <DenseIntVectSet.H>
Collaboration diagram for DenseIntVectSet:
Performance-oriented class that reproduces most of the functionality of IntVectSet. The one function that is not supported is union (|= ). This object stores a dense representation of an IntVectSet over the box of definition
Storage is performed with a BitSet. This stores 0 or 1 on a per-bit basis for each location in the IntVectSet.
For an explanation of undocumented functions look at IntVectSet
Public Member Functions | |
DenseIntVectSet () | |
DenseIntVectSet (const Box &a_domain, bool init=true) | |
DenseIntVectSet & | operator-= (const Box &box) |
DenseIntVectSet & | operator-= (const IntVect &intvect) |
DenseIntVectSet & | operator-= (const DenseIntVectSet &ivs) |
DenseIntVectSet & | operator &= (const Box &box) |
DenseIntVectSet & | operator &= (const ProblemDomain &domain) |
DenseIntVectSet & | operator|= (const IntVect &intvect) |
DenseIntVectSet & | operator|= (const Box &b) |
DenseIntVectSet & | operator|= (const DenseIntVectSet &b) |
DenseIntVectSet & | operator &= (const DenseIntVectSet &ivs) |
void | shift (const IntVect &iv) |
Shift every cell in the set by the input. Fast. | |
bool | operator[] (const IntVect &index) const |
O(1) time inquiry of containment. | |
bool | contains (const Box &box) const |
O(1) time inquiry of containment. | |
void | coarsen (int iref) |
void | refine (int iref) |
void | grow (int igrow) |
void | grow (int idir, int igrow) |
DenseIntVectSet | chop (int dir, int chop_pnt) |
const Box & | box () const |
void | nestingRegion (int a_radius, const Box &a_domain) |
void | nestingRegion (int a_radius, const ProblemDomain &a_domain) |
bool | isEmpty () const |
cheaper than numPts()==0 by wide margin | |
bool | isFull () const |
cheaper than numPts()==box().numPts(), by significant margin | |
int | numPts () const |
bool | operator== (const DenseIntVectSet &a_lhs) const |
Vector< Box > | createBoxes () const |
void | compact () const |
void | recalcMinBox () const |
const Box & | mBox () const |
Linearization routines | |
int | linearSize () const |
void | linearIn (const void *const inBuf) |
void | linearOut (void *const a_outBuf) const |
Private Member Functions | |
void | grow (const IntVect &iv) |
DenseIntVectSet & | intersect (const DenseIntVectSet &rhs) |
Private Attributes | |
Box | m_domain |
BitSet | m_bits |
Box | m_minBox |
Friends | |
class | DenseIntVectSetIterator |
|
|
|
you can either have the domain begin all true, or all false |
|
make this set the complement of itself and the input |
|
make this set the complement of itself and the input |
|
make this set the complement of itself and the input |
|
make this set the intersection of itself and the input |
|
make this set the intersection of itself and the input |
|
make this set the union of itself and the input. intvect MUST be within the domain of of the DenseIntVectSet or this will throw an error |
|
make this set the union of itself and the input. b MUST be within the domain of of the DenseIntVectSet or this will throw an error |
|
make this set the union of itself and the input. resulting DenseIntVectSet has domain of the minBox holding both oeprator and operand |
|
make this set the intersection of itself and the input |
|
Shift every cell in the set by the input. Fast. Shift every cell in the set by the input. |
|
O(1) time inquiry of containment.
|
|
O(1) time inquiry of containment. returns 'true' if the entire set of points specified by the box 'b' is a member of the IntvectSet |
|
coarsen the set by the input |
|
refine the set by the input |
|
grow the set by the input |
|
grow the set by the input |
|
Chop the DenseIntVectSet at the chop_pnt in the dir direction Returns one DenseIntVectSet and modifies the object DenseIntVectSet. The union of the two is the original IntVectSet. The modified DenseIntVectSet is the low end, the returned DenseIntvectSet is the high end.
|
|
|
|
|
|
|
|
cheaper than numPts()==0 by wide margin return true if the set has no points |
|
cheaper than numPts()==box().numPts(), by significant margin return true if the set consists of a set of a full box |
|
return the number of points in the set |
|
|
|
turn DenseIntVectSet into a Vector of Boxes |
|
set object to its minimum representation. changes data, but is a logically const operation |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|