Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

TreeIntVectSet Class Reference

IntVectSet implementation based on tree representation. More...

#include <TreeIntVectSet.H>

Collaboration diagram for TreeIntVectSet:

Collaboration graph
List of all members.

Public Member Functions

 TreeIntVectSet ()
 TreeIntVectSet (const Box &)
 TreeIntVectSet (const TreeIntVectSet &a_sivs)
 ~TreeIntVectSet ()
void define (const Box &)
void define (const TreeIntVectSet &a_sivs)
TreeIntVectSetoperator= (const TreeIntVectSet &a_sivs)
TreeIntVectSetoperator|= (const TreeIntVectSet &a_sivs)
TreeIntVectSetoperator|= (const IntVect &a_iv)
TreeIntVectSetoperator|= (const Box &a_box)
TreeIntVectSetoperator &= (const TreeIntVectSet &s_sivs)
TreeIntVectSetoperator &= (const Box &a_box)
TreeIntVectSetoperator &= (const ProblemDomain &a_domain)
TreeIntVectSetoperator-= (const TreeIntVectSet &a_sivs)
TreeIntVectSetoperator-= (const IntVect &a_iv)
TreeIntVectSetoperator-= (const Box &a_box)
bool operator== (const TreeIntVectSet &lhs) const
 returns true if
bool operator< (const TreeIntVectSet &a_sivs) const
Vector< BoxcreateBoxes () const
 Returns Vector<Box> representation of this IntVectSet.
void createBoxes (Vector< Box > &boxes, int &size) const
 Returns Vector<Box> representation of this IntVectSet.
bool contains (const IntVect &iv) const
bool contains (const Box &box) const
TreeIntVectSet chop (int idir, int chop_pnt)
void grow (int igrow)
void grow (int idir, int igrow)
void refine (int iref=2)
 fast if iref is power of 2
void coarsen (int iref=2)
 fast if iref is power of 2
void shift (const IntVect &iv)
 slow operation
void clear ()
void nestingRegion (int a_radius, const Box &a_domain, int granularity)
void nestingRegion (int a_radius, const ProblemDomain &a_domain, int granularity)
const BoxminBox () const
bool isEmpty () const
int numPts () const
void compact () const
void recalcMinBox () const
Linearization routines
int linearSize () const
void linearIn (const void *const inBuf)
void linearOut (void *const a_outBuf) const


class TreeIntVectSetIterator
struct Flag
class IntVectSet
void dumpTree (const TreeIntVectSet *set)


struct  TreeNode

Detailed Description

IntVectSet implementation based on tree representation.

For explanations of these functions please look at IntVectSet class when the documentation doesn't appear here.

See also:

 Further details of how non-recursive TreeNode design works:

 (for a 2D tree)

          + -- 0

            (a)+ - 0
               1   +
                   1  <------you are here

               + - + - 0
                   0   1
                   0   1
                   0   0

 for the node indicated, the 'index' vector  would contain

 index=[ 0      1    3  ...............]
 parents=[&m_tree &a   ..................]

or directly refered to as m_tree.nodes[1].nodes[3]

 the tree indicates a covering of an index space in either
 1 or 0.   1 is stored in the tree by pointing at the static
 'full' data member, 0 is stored as a 0.

 every 'nodes' member of a TreeNode object can be either

  0, &full, or a pointer .

  The interpretation of the tree depends on what m_spanBox is.
    nodes[i] indicates whether the i'th quadrant of the parent
    Box is full, empty, or needs to be parsed deeper.


Constructor & Destructor Documentation

TreeIntVectSet::TreeIntVectSet  )  [inline]

TreeIntVectSet::TreeIntVectSet const Box  )  [inline]

TreeIntVectSet::TreeIntVectSet const TreeIntVectSet a_sivs  )  [inline]

TreeIntVectSet::~TreeIntVectSet  )  [inline]

Member Function Documentation

TreeIntVectSet TreeIntVectSet::chop int  idir,
int  chop_pnt

somewhat expensive, but shouldn't be ;-)

See also:

void TreeIntVectSet::clear  ) 

void TreeIntVectSet::coarsen int  iref = 2  ) 

fast if iref is power of 2

fast if iref is power of 2

void TreeIntVectSet::compact  )  const

bool TreeIntVectSet::contains const Box box  )  const

bool TreeIntVectSet::contains const IntVect iv  )  const

void TreeIntVectSet::createBoxes Vector< Box > &  boxes,
int &  size

Returns Vector<Box> representation of this IntVectSet.

Returns Vector<Box> representation of this IntVectSet.

Vector<Box> TreeIntVectSet::createBoxes  )  const

Returns Vector<Box> representation of this IntVectSet.

Returns Vector<Box> representation of this IntVectSet.

void TreeIntVectSet::define const TreeIntVectSet a_sivs  ) 

void TreeIntVectSet::define const Box  ) 

void TreeIntVectSet::grow int  idir,
int  igrow


void TreeIntVectSet::grow int  igrow  ) 



bool TreeIntVectSet::isEmpty  )  const

void TreeIntVectSet::linearIn const void *const   inBuf  ) 

void TreeIntVectSet::linearOut void *const   a_outBuf  )  const

int TreeIntVectSet::linearSize  )  const

const Box & TreeIntVectSet::minBox  )  const [inline]

void TreeIntVectSet::nestingRegion int  a_radius,
const ProblemDomain a_domain,
int  granularity

void TreeIntVectSet::nestingRegion int  a_radius,
const Box a_domain,
int  granularity

int TreeIntVectSet::numPts  )  const

TreeIntVectSet& TreeIntVectSet::operator &= const ProblemDomain a_domain  ) 


TreeIntVectSet& TreeIntVectSet::operator &= const Box a_box  ) 


TreeIntVectSet& TreeIntVectSet::operator &= const TreeIntVectSet s_sivs  ) 


TreeIntVectSet& TreeIntVectSet::operator-= const Box a_box  ) 


TreeIntVectSet & TreeIntVectSet::operator-= const IntVect a_iv  )  [inline]


TreeIntVectSet& TreeIntVectSet::operator-= const TreeIntVectSet a_sivs  ) 


bool TreeIntVectSet::operator< const TreeIntVectSet a_sivs  )  const

Primary sorting criterion: numPts(). Secondary sorting criterion: lexigraphical ordering of the IntVects, taken in the order traversed by TreeIntVectSetIterator. In a total tie, returns false.

TreeIntVectSet& TreeIntVectSet::operator= const TreeIntVectSet a_sivs  ) 

bool TreeIntVectSet::operator== const TreeIntVectSet lhs  )  const

returns true if

TreeIntVectSet& TreeIntVectSet::operator|= const Box a_box  ) 

TreeIntVectSet & TreeIntVectSet::operator|= const IntVect a_iv  )  [inline]

TreeIntVectSet& TreeIntVectSet::operator|= const TreeIntVectSet a_sivs  ) 


void TreeIntVectSet::recalcMinBox  )  const

void TreeIntVectSet::refine int  iref = 2  ) 

fast if iref is power of 2

fast if iref is power of 2

void TreeIntVectSet::shift const IntVect iv  ) 

slow operation

Friends And Related Function Documentation

void dumpTree const TreeIntVectSet set  )  [friend]

friend struct Flag [friend]

friend class IntVectSet [friend]

friend class TreeIntVectSetIterator [friend]

The documentation for this class was generated from the following file:
Generated on Wed Oct 5 14:02:31 2005 for Chombo&AMRSelfGravity by  doxygen 1.4.1