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);
667 const IntVect& operator()()
const ;
672 return this->operator()();
766 #include "NamespaceFooter.H" std::ostream & pout()
Use this in place of std::cout for program output.
bool operator==(const IntVectSet &a_ivs) const
Returns true if this IntVectSet has the same IntVects as a_ivs.
IntVectSet & coarsen(int iref=2)
Coarsen all the IntVects in this IntVectSet.
const IntVect & iv() const
same as operator()
Definition: IntVectSet.H:670
void and_intvectset(const IntVectSet &ivs)
same as operator&= except it doesn't return *this
Definition: IntVectSet.H:285
IntVectSet & operator &=(const IntVectSet &ivs)
Modifies this IntVectSet to its intersection with another IntVectSet.
IntVectSet & refine(int iref=2)
Refine all the IntVects in this IntVecSet.
An irregular domain on an integer lattice.
Definition: IntVectSet.H:44
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:130
friend void dumpmemoryatexit()
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
void recalcMinBox() const
Forces recalculation of the minimum enclosing box of this IntVectSet.
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.
int linearSize() const
Returns the number of bytes in a linear representation of *this.
void minus_box(const Box &b)
same as operator-= except it doesn't return *this
Definition: IntVectSet.H:231
int numPts() const
Returns the number of IntVects in this IntVectSet.
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
bool ok() const
returns true if this iterator is still in its IntVectSet
Definition: IntVectSet.H:711
bool m_isdense
Definition: IntVectSet.H:611
bool contains_box(const Box &b) const
same as contains(b)
Definition: IntVectSet.H:521
void printBoxes(std::ostream &a_ostream) const
Writes a Vector<Box> representation to an output stream.
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
Vector< Box > boxes() const
Returns a Vector<Box> representation of this IntVectSet.
const IntVect & operator()() const
returns the IntVect that this iterator is at
Definition: IntVectSet.H:705
bool isDense() const
Returns true if this IntVectSet is currently being represented in a dense fashion.
Definition: IntVectSet.H:759
static void clearStaticMemory()
Iterate over all the 'true' members of a DenseIntVectSet set.
Definition: DenseIntVectSet.H:273
void define_intvectset(const IntVectSet &ivs)
copy define: same as define(IntVectSet)
Definition: IntVectSet.H:70
Definition: TreeIntVectSet.H:325
void compact() const
Optimize memory usage of this IntVectSet.
friend std::ostream & operator<<(std::ostream &os, const IntVectSet &ivs)
Writes a text representation of an IntVectSet to an output stream.
static int s_maxDense
Definition: IntVectSet.H:607
bool operator<(const IntVectSet &a_ivs) const
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
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
void p() const
Writes a Vector<Box> representation to the parallel stdout.
Definition: IntVectSet.H:589
static void setMaxDense(const int &a_maxDense)
IntVectSet copy() const
return a copy of this IntVectSet
Definition: IntVectSet.H:76
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.
friend class IVSIterator
Definition: IntVectSet.H:47
IntVectSet operator-(const IntVectSet &ivs) const
Returns the complement of the IntVectSet ivs within this IntVectSet.
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:465
bool contains_intvectset(const IntVectSet &ivs) const
same as contains(ivs)
Definition: IntVectSet.H:507
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
friend IntVectSet operator &(const IntVectSet &ivs1, const IntVectSet &ivs2)
Returns a new IntVectSet that is the intersection of two IntVectSets.
TreeIntVectSetIterator m_tree
Definition: IntVectSet.H:700
void makeEmptyBits()
Modifies this IntVectSet to empty but leaves dense domain box unchanged.
void define_box(const Box &b)
Box define: same as define(Box)
Definition: IntVectSet.H:118
void linearOut(void *const a_outBuf) const
Write a linear representation of *this to a_outBuf.
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
Iterator for an IntVectSet.
Definition: IntVectSet.H:640
const Box & minBox() const
Returns the minimum enclosing box of this IntVectSet.
bool contains(const IntVect &iv) const
Returns true if this IntVectSet contains iv.
IVSIterator()
Definition: IntVectSet.H:648
bool isEmpty() const
Returns true if no IntVects are in this IntVectSet.
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