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

TreeIntVectSet Class Reference

#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)
TreeIntVectSet & operator &= (const ProblemDomain &a_domain)
TreeIntVectSet & operator-= (const TreeIntVectSet &a_sivs)
 not

TreeIntVectSet & operator-= (const IntVect &a_iv)
TreeIntVectSet & operator-= (const Box &a_box)
Vector< BoxcreateBoxes () const
void createBoxes (Vector< Box > &boxes, int &size) const
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)
void coarsen (int iref=2)
void shift (const IntVect &iv)
void clear ()
void nestingRegion (int a_radius, const Box &a_domain)
void nestingRegion (int a_radius, const ProblemDomain &a_domain)
const BoxminBox () const
bool isEmpty () const
int numPts () const
void compact () const
void recalcMinBox () const
int linearSize () const
void linearIn (const void *const inBuf)
void linearOut (void *const a_outBuf) const

Private Methods

void growTree ()

Static Private Methods

void quadrantBox (const Box &inputBox, int quadrant, Box &outputQuadrant)
void clearTree (TreeNode &tree)
void expandNode (TreeNode &node)
int oppositeQuadrant (int index)
bool nextIntVect (const Box &box, IntVect &iv)
void nextNode (int &currentDepth)
void cloneNode (const TreeNode &src, TreeNode &dest)

Private Attributes

TreeNode m_tree
Box m_minBox
Box m_spanBox
int m_depth

Static Private Attributes

Pool treeNodePool
Vector< int > index
Vector< int > bufferOffset
Vector< TreeNode * > parents
Vector< Boxboxes
TreeNode full

Friends

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

Detailed Description

Set calculus class based on trees.


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 ;-)

void TreeIntVectSet::clear  
 

void TreeIntVectSet::clearTree TreeNode   tree [static, private]
 

void TreeIntVectSet::cloneNode const TreeNode   src,
TreeNode   dest
[static, private]
 

void TreeIntVectSet::coarsen int    iref = 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
 

Vector<Box> TreeIntVectSet::createBoxes   const
 

Returns Vector<Box> representation of this IntVectSet.

void TreeIntVectSet::define const TreeIntVectSet &    a_sivs
 

void TreeIntVectSet::define const Box  
 

void TreeIntVectSet::expandNode TreeNode   node [static, private]
 

void TreeIntVectSet::grow int    idir,
int    igrow
 

expensive

void TreeIntVectSet::grow int    igrow
 

expensive

void TreeIntVectSet::growTree   [private]
 

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
 

void TreeIntVectSet::nestingRegion int    a_radius,
const Box   a_domain
 

bool TreeIntVectSet::nextIntVect const Box   box,
IntVect   iv
[static, private]
 

void TreeIntVectSet::nextNode int &    currentDepth [inline, static, private]
 

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
 

and

TreeIntVectSet& TreeIntVectSet::operator-= const Box   a_box
 

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

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

not

TreeIntVectSet& TreeIntVectSet::operator= const TreeIntVectSet &    a_sivs
 

TreeIntVectSet& TreeIntVectSet::operator|= const Box   a_box
 

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

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

or

int TreeIntVectSet::oppositeQuadrant int    index [static, private]
 

void TreeIntVectSet::quadrantBox const Box   inputBox,
int    quadrant,
Box   outputQuadrant
[static, private]
 

void TreeIntVectSet::recalcMinBox   const
 

void TreeIntVectSet::refine int    iref = 2
 

fast if iref is power of 2

void TreeIntVectSet::shift const IntVect   iv
 

very very fast


Friends And Related Function Documentation

void dumpTree const TreeIntVectSet *    set [friend]
 

friend struct Flag [friend]
 

friend class IntVectSet [friend]
 

friend class TreeIntVectSetIterator [friend]
 


Member Data Documentation

Vector<Box> TreeIntVectSet::boxes [static, private]
 

Vector<int> TreeIntVectSet::bufferOffset [static, private]
 

TreeNode TreeIntVectSet::full [static, private]
 

Vector<int> TreeIntVectSet::index [static, private]
 

int TreeIntVectSet::m_depth [private]
 

Box TreeIntVectSet::m_minBox [private]
 

Box TreeIntVectSet::m_spanBox [private]
 

TreeNode TreeIntVectSet::m_tree [private]
 

Vector<TreeNode*> TreeIntVectSet::parents [static, private]
 

Pool TreeIntVectSet::treeNodePool [static, private]
 


The documentation for this class was generated from the following file:
Generated on Tue Jul 2 10:44:17 2002 for Chombo by doxygen1.2.16