#include <BaseFab.H>
Inheritance diagram for BaseFab< T >:
Public Methods | |
BaseFab () | |
{\bf constructors, destructor and defines} | |
BaseFab (const Box &bx, int n) | |
virtual | ~BaseFab () |
void | resize (const Box &b, int N=1) |
virtual void | define (const Box &box, int comps) |
void | clear () |
int | nComp () const |
{\bf accessors} | |
const Box & | box () const |
const int * | size () const |
const IntVect & | smallEnd () const |
const IntVect & | bigEnd () const |
Interval | interval () const |
T & | operator() (const IntVect &p, int N) |
T & | operator() (const IntVect &p) |
const T & | operator() (const IntVect &p, int N) const |
const T & | operator() (const IntVect &p) const |
void | getVal (T *data, const IntVect &pos, int N, int numcomp) const |
void | getVal (T *data, const IntVect &pos) const |
const int * | loVect () const |
{\bf Fortran interface functions} | |
const int * | hiVect () const |
const int * | nCompPtr () const |
T * | dataPtr (int N=0) |
const T * | dataPtr (int N=0) const |
bool | contains (const BaseFab< T > &fab) const |
{\bf comparison functions} | |
bool | contains (const Box &bx) const |
void | setVal (T x, const Box &bx, int nstart, int ncomp) |
{\bf data modification functions} | |
void | setVal (T x, const Box &bx, int N) |
void | setVal (T x, int N) |
void | setVal (T x) |
BaseFab< T > & | copy (const BaseFab< T > &src, const Box &srcbox, int srccomp, const Box &destbox, int destcomp, int numcomp) |
BaseFab< T > & | copy (const BaseFab< T > &src, int srccomp, int destcomp, int numcomp=1) |
BaseFab< T > & | copy (const BaseFab< T > &src, const Box &destbox) |
BaseFab< T > & | copy (const BaseFab< T > &src) |
void | copy (const Box &RegionFrom, const Interval &Cdest, const Box &RegionTo, const BaseFab< T > &src, const Interval &Csrc) |
BaseFab< T > & | shift (const IntVect &v) |
{\bf domain modification functions} | |
BaseFab< T > & | shift (int idir, int n_cell) |
BaseFab< T > & | shiftHalf (int dir, int num_halfs) |
BaseFab< T > & | shiftHalf (const IntVect &num_halfs) |
virtual int | size (const Box &b, const Interval &comps) const |
{\bf linearization functions} | |
virtual void | linearOut (void *buf, const Box &R, const Interval &comps) const |
virtual void | linearIn (void *buf, const Box &R, const Interval &comps) |
Static Public Methods | |
int | preAllocatable () |
Protected Methods | |
void | define () |
void | undefine () |
virtual void | performCopy (const BaseFab< T > &src, const Box &srcbox, int srccomp, const Box &destbox, int destcomp, int numcomp) |
void | performSetVal (T x, const Box &bx, int nstart, int numcomp) |
Static Protected Methods | |
std::string | name () |
Protected Attributes | |
Box | domain |
int | nvar |
long | numpts |
long | truesize |
T * | dptr |
Static Protected Attributes | |
Arena * | s_Arena = NULL |
Private Methods | |
BaseFab< T > & | operator= (const BaseFab< T > &) |
BaseFab (const BaseFab< T > &) |
|
{\bf constructors, destructor and defines}
|
|
Constructs a BaseFab with desired domain and number of components. |
|
The destructor deletes the array memory. |
|
|
|
|
|
Returns the domain (box) where the array is defined. |
|
Reimplemented in BinFab< T >. |
|
|
|
{\bf comparison functions}
|
|
Copy from a subsection of one box into another. Assumes the boxes are both in the same index space, and that box R is completely contained in both the source and destination boxes. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Reimplemented in FArrayBox. |
|
|
|
|
|
|
|
Returns an Interval for the entire range on components. |
|
Reimplemented in BinFab< T >. |
|
Write a linear representation of the internal data. Assumes that sufficient memory for the buffer has already been allocated by the caller. Reimplemented in BinFab< T >. |
|
{\bf Fortran interface functions}
|
|
|
|
{\bf accessors} Returns the number of components. |
|
|
|
|
|
|
|
|
|
|
|
|
|
Reimplemented in FArrayBox. |
|
|
|
Reimplemented in BinFab< T >. |
|
|
|
Modifies this BaseFab so that all values of all components are set to the given value x. |
|
Modifies this BaseFab so that all values of component N are set to the given value x. |
|
Modifies this BaseFab so that all values of component N in the specified Box bx are set to the given value x. |
|
{\bf data modification functions}
|
|
Modifies the domain of this BaseFab by shifting it n_cells indexing positions in coordinate direction idir. Directions are zero-based. It is an error if not 0 <= idir < SpaceDim.There is no effect upon the array memory. |
|
{\bf domain modification functions} Modifies the domain of this BaseFab by shifting. Equivalent to fab.shift(0,iv[0]).shift(1,iv[1]) .... There is no effect upon the array memory. |
|
Modifies the domain of this BaseFab by shifting by half indices. Equivalent to fab.shiftHalf(0,iv[0]).shiftHalf(1,iv[1]) ... There is no effect upon the array memory. |
|
Modifies the domain of this BaseFab by shifting by "half" indices, thereby converting the Box from type CELL to NODE or vice-versa. fab.shiftHalf(0,1) shifts the domain to the right by 1/2 cells. fab.shiftHalf(1,-3) shifts the domain in the -j direction by 3/2 cells. NOTE: If num\_halfs is EVEN the shift is num\_halfs/2 full zones and hence will not change the type. This is: fab.shifthalf(4) == fab.shift(2). Directions are zero-based. It is an error if not 0 <= dir < SpaceDim. There is no effect upon the array memory. |
|
{\bf linearization functions} Returns the size, in number of bytes, of a flat linear representation of the data in this object in the area defined by the input Box R and the component Interval comps. The size does not include the size of R and comps. Reimplemented in BinFab< T >. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|