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

DenseIntVectSet Class Reference

Dense representation implementation of IntVectSet class. More...

#include <DenseIntVectSet.H>

Collaboration diagram for DenseIntVectSet:

Collaboration graph
[legend]
List of all members.

Public Methods

 DenseIntVectSet ()
 DenseIntVectSet (const Box &a_domain, bool init=true)
DenseIntVectSet & operator-= (const Box &box)
DenseIntVectSet & operator-= (const IntVect &intvect)
DenseIntVectSet & operator-= (const DenseIntVectSet &ivs)
DenseIntVectSet & operator &= (const Box &box)
DenseIntVectSet & operator &= (const ProblemDomain &domain)
DenseIntVectSet & operator|= (const IntVect &intvect)
DenseIntVectSet & operator|= (const Box &b)
DenseIntVectSet & operator|= (const DenseIntVectSet &b)
DenseIntVectSet & operator &= (const DenseIntVectSet &ivs)
void shift (const IntVect &iv)
 Shift every cell in the set by the input. Fast.

bool operator[] (const IntVect &index) const
 O(1) time inquiry of containment.

bool contains (const Box &box) const
 O(1) time inquiry of containment.

void coarsen (int iref)
void refine (int iref)
void grow (int igrow)
void grow (int idir, int igrow)
DenseIntVectSet chop (int dir, int chop_pnt)
const Boxbox () const
void nestingRegion (int a_radius, const Box &a_domain)
void nestingRegion (int a_radius, const ProblemDomain &a_domain)
bool isEmpty () const
 cheaper than numPts()==0 by wide margin

bool isFull () const
 cheaper than numPts()==box().numPts(), by significant margin

int numPts () const
bool operator== (const DenseIntVectSet &a_lhs) const
Vector< BoxcreateBoxes () const
void compact () const
void recalcMinBox () const
const BoxmBox () const
Linearization routines
int linearSize () const
void linearIn (const void *const inBuf)
void linearOut (void *const a_outBuf) const

Friends

class DenseIntVectSetIterator

Detailed Description

Dense representation implementation of IntVectSet class.

Performance-oriented class that reproduces most of the functionality of IntVectSet. The one function that is not supported is union (|= ). This object stores a dense representation of an IntVectSet over the box of definition

Storage is performed with a BitSet. This stores 0 or 1 on a per-bit basis for each location in the IntVectSet.

For an explanation of undocumented functions look at IntVectSet

See also:
IntVectSet


Constructor & Destructor Documentation

DenseIntVectSet::DenseIntVectSet   [inline]
 

DenseIntVectSet::DenseIntVectSet const Box   a_domain,
bool    init = true
 

you can either have the domain begin all true, or all false


Member Function Documentation

const Box & DenseIntVectSet::box   const [inline]
 

DenseIntVectSet DenseIntVectSet::chop int    dir,
int    chop_pnt
 

Chop the DenseIntVectSet at the chop_pnt in the dir direction Returns one DenseIntVectSet and modifies the object DenseIntVectSet. The union of the two is the original IntVectSet. The modified DenseIntVectSet is the low end, the returned DenseIntvectSet is the high end.

See also:
IntVectSet::chop

void DenseIntVectSet::coarsen int    iref
 

coarsen the set by the input

void DenseIntVectSet::compact   const
 

set object to its minimum representation. changes data, but is a logically const operation

bool DenseIntVectSet::contains const Box   box const
 

O(1) time inquiry of containment.

returns 'true' if the entire set of points specified by the box 'b' is a member of the IntvectSet

Vector<Box> DenseIntVectSet::createBoxes   const
 

turn DenseIntVectSet into a Vector of Boxes

void DenseIntVectSet::grow int    idir,
int    igrow
 

grow the set by the input

void DenseIntVectSet::grow int    igrow
 

grow the set by the input

bool DenseIntVectSet::isEmpty   const
 

cheaper than numPts()==0 by wide margin

return true if the set has no points

bool DenseIntVectSet::isFull   const
 

cheaper than numPts()==box().numPts(), by significant margin

return true if the set consists of a set of a full box

void DenseIntVectSet::linearIn const void *const    inBuf
 

void DenseIntVectSet::linearOut void *const    a_outBuf const
 

int DenseIntVectSet::linearSize   const
 

const Box& DenseIntVectSet::mBox   const [inline]
 

void DenseIntVectSet::nestingRegion int    a_radius,
const ProblemDomain   a_domain
 

void DenseIntVectSet::nestingRegion int    a_radius,
const Box   a_domain
 

See also:
IntVectSet::nestingRegion

int DenseIntVectSet::numPts   const
 

return the number of points in the set

DenseIntVectSet& DenseIntVectSet::operator &= const DenseIntVectSet &    ivs
 

make this set the intersection of itself and the input

DenseIntVectSet& DenseIntVectSet::operator &= const ProblemDomain   domain
 

make this set the intersection of itself and the input

DenseIntVectSet& DenseIntVectSet::operator &= const Box   box
 

make this set the intersection of itself and the input

DenseIntVectSet& DenseIntVectSet::operator-= const DenseIntVectSet &    ivs
 

make this set the complement of itself and the input

DenseIntVectSet & DenseIntVectSet::operator-= const IntVect   intvect [inline]
 

make this set the complement of itself and the input

DenseIntVectSet& DenseIntVectSet::operator-= const Box   box
 

make this set the complement of itself and the input

bool DenseIntVectSet::operator== const DenseIntVectSet &    a_lhs const
 

bool DenseIntVectSet::operator[] const IntVect   index const
 

O(1) time inquiry of containment.

DenseIntVectSet& DenseIntVectSet::operator|= const DenseIntVectSet &    b
 

make this set the union of itself and the input. resulting DenseIntVectSet has domain of the minBox holding both oeprator and operand

DenseIntVectSet& DenseIntVectSet::operator|= const Box   b
 

make this set the union of itself and the input. b MUST be within the domain of of the DenseIntVectSet or this will throw an error

DenseIntVectSet& DenseIntVectSet::operator|= const IntVect   intvect
 

make this set the union of itself and the input. intvect MUST be within the domain of of the DenseIntVectSet or this will throw an error

void DenseIntVectSet::recalcMinBox   const
 

void DenseIntVectSet::refine int    iref
 

refine the set by the input

void DenseIntVectSet::shift const IntVect   iv [inline]
 

Shift every cell in the set by the input. Fast.

Shift every cell in the set by the input.


Friends And Related Function Documentation

friend class DenseIntVectSetIterator [friend]
 


The documentation for this class was generated from the following file:
Generated on Wed Jan 19 17:55:53 2005 for Chombo&INSwithParticles by doxygen1.2.16