Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

TreeIntVectSet Class Reference

IntVectSet implementation based on tree representation. More...

#include <TreeIntVectSet.H>

Collaboration diagram for TreeIntVectSet:

Collaboration graph
[legend]
List of all members.

Public Methods

 TreeIntVectSet ()
 TreeIntVectSet (const Box &)
 TreeIntVectSet (const TreeIntVectSet &a_sivs)
 ~TreeIntVectSet ()
void define (const Box &)
void define (const TreeIntVectSet &a_sivs)
TreeIntVectSet & operator= (const TreeIntVectSet &a_sivs)
TreeIntVectSet & operator|= (const TreeIntVectSet &a_sivs)
 or

TreeIntVectSet & operator|= (const IntVect &a_iv)
TreeIntVectSet & operator|= (const Box &a_box)
TreeIntVectSet & operator &= (const TreeIntVectSet &s_sivs)
 and

TreeIntVectSet & operator &= (const Box &a_box)
 and

TreeIntVectSet & operator &= (const ProblemDomain &a_domain)
 and

TreeIntVectSet & operator-= (const TreeIntVectSet &a_sivs)
 not

TreeIntVectSet & operator-= (const IntVect &a_iv)
 not

TreeIntVectSet & operator-= (const Box &a_box)
 not

bool operator== (const TreeIntVectSet &lhs) const
 returns true if

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)
 
See also:
IntVectSet::grow


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

Friends

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

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:
IntVectSet

 Further details of how non-recursive TreeNode design works:

 (for a 2D tree)

   (m_tree)
          + -- 0

            (a)+ - 0
                   1
               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:
IntVectSet::chop

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
const
 

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
 

expensive

void TreeIntVectSet::grow int    igrow
 

See also:
IntVectSet::grow

expensive

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
 

and

TreeIntVectSet& TreeIntVectSet::operator &= const Box   a_box
 

and

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

and

TreeIntVectSet& TreeIntVectSet::operator-= const Box   a_box
 

not

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

not

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

not

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
 

or

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 Jan 19 17:56:40 2005 for Chombo&INSwithParticles by doxygen1.2.16