11 #ifndef _INTVECTSET_H_
12 #define _INTVECTSET_H_
23 #include "NamespaceHeader.H"
343 grow(
int idir,
int igrow);
556 linearIn(
const void*
const a_inBuf);
788 #include "NamespaceFooter.H"
std::ostream & pout()
Use this in place of std::cout for program output.
IntVectSet & coarsen(int iref=2)
Coarsen all the IntVects in this IntVectSet.
bool ok() const
Definition: TreeIntVectSet.H:394
const IntVect & iv() const
same as operator()
Definition: IntVectSet.H:670
void define(const IntVectSet &ivs)
void and_intvectset(const IntVectSet &ivs)
same as operator&= except it doesn't return *this
Definition: IntVectSet.H:285
IntVectSet & refine(int iref=2)
Refine all the IntVects in this IntVecSet.
An irregular domain on an integer lattice.
Definition: IntVectSet.H:44
void end()
Definition: DenseIntVectSet.H:420
IntVectSet copy() const
return a copy of this IntVectSet
Definition: IntVectSet.H:76
void p() const
Writes a Vector<Box> representation to the parallel stdout.
Definition: IntVectSet.H:589
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:141
friend void dumpmemoryatexit()
IntVectSet operator-(const IntVectSet &ivs) const
Returns the complement of the IntVectSet ivs within this IntVectSet.
IntVectSet()
default constructor: defines an empty IntVectSet.
Definition: IntVectSet.H:739
void growHi()
Analogous to surroundingNodes() for a Box.
void define_boxCorners(const Box &b)
Define this IntVectSet to have all the corners of the input box.
~IVSIterator()
Definition: IntVectSet.H:657
friend IntVectSet operator|(const IntVectSet &ivs1, const IntVectSet &ivs2)
Returns a new IntVectSet that is the union of two IntVectSets.
Dense representation implementation of IntVectSet class.
Definition: DenseIntVectSet.H:37
IntVectSet coarsen(const IntVectSet &ivs, int iref=2)
Coarsen all the IntVects in an IntVectSet.
bool ok() const
returns true if this iterator is still in its IntVectSet
Definition: IntVectSet.H:711
IntVectSet chop(int dir, int chop_pnt)
Chop the IntVectSet at the chop_pnt index in the dir direction.
IntVectSet & operator|=(const IntVectSet &ivs)
unions another IntVectSet ivs into this IntVectSet
void minus(const IntVectSet &ivs)
same as operator-= except it doesn't return *this
Definition: IntVectSet.H:217
void makeEmpty()
Modifies this IntVectSet to be empty.
void grow(int igrow)
Add IntVects to this IntVectSet in all directions.
IntVectSet & operator-=(const IntVectSet &ivs)
Remove the IntVects in the IntVectSet ivs from this IntVectSet.
void minus_box(const Box &b)
same as operator-= except it doesn't return *this
Definition: IntVectSet.H:231
IntVectSet implementation based on tree representation.
Definition: TreeIntVectSet.H:93
void define_intvect(const IntVect &iv)
IntVect define: same as define(IntVect)
Definition: IntVectSet.H:103
void reset()
same as begin()
Definition: IntVectSet.H:722
int numPts() const
Returns the number of IntVects in this IntVectSet.
bool m_isdense
Definition: IntVectSet.H:611
const Box & minBox() const
Returns the minimum enclosing box of this IntVectSet.
Definition: EBInterface.H:45
void define()
default define: modifies this IntVectSet to be empty.
void linearIn(const void *const a_inBuf)
Modify *this using the data in the linear representation in a_inBuf.
DenseIntVectSet m_dense
Definition: IntVectSet.H:613
static long int count
Definition: IntVectSet.H:603
void incr()
same as operator++
Definition: IntVectSet.H:682
void and_box(const Box &b)
same as operator&= except it doesn't return *this
Definition: IntVectSet.H:295
void operator++()
move iterator to the next IntVect in its IntVectSet
Definition: IntVectSet.H:717
IntVectSet & operator&=(const IntVectSet &ivs)
Modifies this IntVectSet to its intersection with another IntVectSet.
friend IntVectSet operator&(const IntVectSet &ivs1, const IntVectSet &ivs2)
Returns a new IntVectSet that is the intersection of two IntVectSets.
static void clearStaticMemory()
Iterate over all the 'true' members of a DenseIntVectSet set.
Definition: DenseIntVectSet.H:272
void define_intvectset(const IntVectSet &ivs)
copy define: same as define(IntVectSet)
Definition: IntVectSet.H:70
Definition: TreeIntVectSet.H:335
bool ok() const
Definition: DenseIntVectSet.H:395
friend std::ostream & operator<<(std::ostream &os, const IntVectSet &ivs)
Writes a text representation of an IntVectSet to an output stream.
bool isEmpty() const
Returns true if no IntVects are in this IntVectSet.
bool isDense() const
Returns true if this IntVectSet is currently being represented in a dense fashion.
Definition: IntVectSet.H:759
static int s_maxDense
Definition: IntVectSet.H:607
void begin()
Definition: DenseIntVectSet.H:409
void minus_intvect(const IntVect &iv)
same as operator-= except it doesn't return *this
Definition: IntVectSet.H:245
void and_domain(const ProblemDomain &d)
same as operator&= except it doesn't return *this
Definition: IntVectSet.H:305
bool operator<(const IntVectSet &a_ivs) const
void or_intvect(const IntVect &ivs)
same as operator|= except it doesn't return *this
Definition: IntVectSet.H:149
void or_intvectset(const IntVectSet &ivs)
same as operator|= except it doesn't return *this
Definition: IntVectSet.H:139
static void setMaxDense(const int &a_maxDense)
void linearOut(void *const a_outBuf) const
Write a linear representation of *this to a_outBuf.
static long int peakcount
Definition: IntVectSet.H:604
void begin()
initialize this iterator to the first IntVect in its IntVectSet
Definition: IntVectSet.H:727
void nestingRegion(int radius, const Box &domain, int granularity=1)
Make this IntVectSet be properly nested.
const IntVect & operator()() const
returns the IntVect that this iterator is at
Definition: IntVectSet.H:705
int linearSize() const
Returns the number of bytes in a linear representation of *this.
bool contains_box(const Box &b) const
same as contains(b)
Definition: IntVectSet.H:521
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:465
void grow_dir(int idir, int igrow)
same as grow(idir,igrow) except doesn't return *this
Definition: IntVectSet.H:345
void or_box(const Box &b)
same as operator|= except it doesn't return *this
Definition: IntVectSet.H:159
TreeIntVectSetIterator m_tree
Definition: IntVectSet.H:700
void compact() const
Optimize memory usage of this IntVectSet.
void makeEmptyBits()
Modifies this IntVectSet to empty but leaves dense domain box unchanged.
IntVectSet refine(const IntVectSet &ivs, int iref=2)
Refine all the IntVects in an IntVectSet.
void define_box(const Box &b)
Box define: same as define(Box)
Definition: IntVectSet.H:118
An integer Vector in SpaceDim-dimensional space.
Definition: CHArray.H:42
bool m_isdense
Definition: IntVectSet.H:698
void nestingRegion_prob(int radius, const ProblemDomain &probdomain)
same as nestingRegion() except it doesn't return *this
Definition: IntVectSet.H:435
void end()
move this iterator to after the last IntVect in the set
Definition: IntVectSet.H:733
bool contains(const IntVect &iv) const
Returns true if this IntVectSet contains iv.
Vector< Box > boxes() const
Returns a Vector<Box> representation of this IntVectSet.
Iterator for an IntVectSet.
Definition: IntVectSet.H:640
bool operator==(const IntVectSet &a_ivs) const
Returns true if this IntVectSet has the same IntVects as a_ivs.
void end()
Definition: TreeIntVectSet.H:400
IVSIterator()
Definition: IntVectSet.H:648
void shift(const IntVect &iv)
Increment all the IntVects in this IntVectSet by the IntVect iv.
DenseIntVectSetIterator m_dense
Definition: IntVectSet.H:699
TreeIntVectSet m_ivs
Definition: IntVectSet.H:612
void printBoxes(std::ostream &a_ostream) const
Writes a Vector<Box> representation to an output stream.
void recalcMinBox() const
Forces recalculation of the minimum enclosing box of this IntVectSet.
bool contains_intvectset(const IntVectSet &ivs) const
same as contains(ivs)
Definition: IntVectSet.H:507