AMROC Main     Blockstructured Adaptive Mesh Refinement in object-oriented C++


Main Page   Class Hierarchy   Compound List   File List  

sfcIndex Class Reference

Implementation of space-filling curve. More...

#include <sfcIndex.h>

Inheritance diagram for sfcIndex:

Inheritance graph
[legend]
Collaboration diagram for sfcIndex:

Collaboration graph
[legend]
List of all members.

Public Methods

 sfcIndex ()
 sfcIndex (const int dim, const int levs, const int base=(2))
 sfcIndex (sfcIndex const &other)
sfcIndex const & operator= (sfcIndex const &other)
 Overload various operators for sfcIndex.

int operator== (sfcIndex const &other) const
int operator!= (sfcIndex const &other) const
int operator> (sfcIndex const &other) const
int operator< (sfcIndex const &other) const
int operator>= (sfcIndex const &other) const
int operator<= (sfcIndex const &other) const
int sfcGetDigit (const int level) const
 Return the sfcIndexUnit (sfcdigitw bits) corresponding to level "level" of the sfc. More...

void sfcSetDigit (const int level, const int digit)
 Sets the sfcIndexUnit (sfcdigitw bits) corresponding to level "level" of the sfc using "digit.

void sfcUnsetDigit (const int level)
 Resets the sfcIndexUnit (sfcdigitw bits) corresponding to level "level" of the sfc.

void sfcMaxDigit (const int level)
 Set to all 1's the sfcIndexUnit (sfcdigitw bits) corresponding to level "level" of the sfc.

void sfcSwapDigitWd (const int level, const int pos1, const int pos2)
 Swaps sfcbasew bits at positions pos1 and pos2 in the sfcIndexUnit corresponding to level "level". More...

void sfcToggleDigitWd (const int level, const int pos)
 Toggles sfcbasew bits at pos in the sfcIndexUnit corresponding to level "level".

int sfcGetIndex () const
 Returns the (int) integer value of the index.

int sfcGetIndex (const int lev) const
 Returns the (int) integer value of the index at level lev; i.e. More...

int sfcGetIndex (const int lev, const int nlev) const
 Returns the (int) integer value of the index from level lev-nlev+1 to level lev.

void sfcSetIndex (const int index)
 Sets the (int) integer value of the sfcIndex to "index".

void sfcSetIndex (const int index, const int lev)
 Sets the (int) integer value of the sfcIndex at level lev (i.e. More...

void sfcSetIndex (const int index, const int lev, const int nlev)
 Sets the (int) integer value of the sfcIndex from lev to lev+nlev-1 to "index".

void sfcMaxIndex (const int lev)
void sfcCreateLocNum (const int *coords)
 Create location numbers from given coordinates.

void sfcGetCoords (int *coords) const
 Returns an array of coordinates from the locations number.

void sfcGetDigitArray (int *digits) const
 Returns the sfcdigitw bits corresponding to each sfcIndexUnit as an array of int.

int sfcGetBaseW (void) const
 Query interface.

int sfcGetDigitW (void) const

Protected Attributes

short int sfcbase
short int sfcdim
short int sfclevs

Friends

ostream & operator<< (ostream &, sfcIndex const &)

Detailed Description

Implementation of space-filling curve.

Class sfcIndex defines an index generated by the chosen SFC mapping i.e. specified space dimensions, base used and mapping function. sfcIndex is an ordering vector of sfcIndexUnits; each sfcIndexUnits defined as Dim Base-b digts, and defining the index at each level of the sfc. The most-significant sfcIndexUnits corresponds to level 1 Class sfcIndex is derived from BitVec.

Author:
Manish Parashar

Definition at line 28 of file sfcIndex.h.


Member Function Documentation

int sfcIndex::sfcGetDigit const int    level const
 

Return the sfcIndexUnit (sfcdigitw bits) corresponding to level "level" of the sfc.

Remember that the most-significant sfcIndexUnit corresponds to level 1.

Definition at line 172 of file sfcIndex.C.

References BitVec::IsolateBit().

Referenced by PeanoHilbert::Map(), sfcGetDigitArray(), and sfcGetIndex().

int sfcIndex::sfcGetIndex const int    lev const
 

Returns the (int) integer value of the index at level lev; i.e.

only the first lev digits of the sfcIndex.

Definition at line 384 of file sfcIndex.C.

References BitVec::IsolateBit(), and sfcGetDigit().

void sfcIndex::sfcSetIndex const int    index,
const int    lev
 

Sets the (int) integer value of the sfcIndex at level lev (i.e.

MSB lev*sfcdigitw bits) to "index".

Definition at line 493 of file sfcIndex.C.

References sfcSetDigit().

void sfcIndex::sfcSwapDigitWd const int    level,
const int    pos1,
const int    pos2
 

Swaps sfcbasew bits at positions pos1 and pos2 in the sfcIndexUnit corresponding to level "level".

sfcIndexUnit bits are numbered from 0 with the MSB being 0.

Definition at line 273 of file sfcIndex.C.

References BitVec::SwapBit().


The documentation for this class was generated from the following files:


Quickstart     Users Guide     Programmers Reference     Installation      Examples     Download



AMROC Main      Home      Contact
last update: 06/01/04