FreePOOMA
2.4.1
|
Engine<T,Dim,BrickView> (aka BrickView-Engine) More...
#include <BrickEngine.h>
Public Types | |
enum | { dimensions = Dim } |
enum | { hasDataObject = true } |
enum | { dynamic = false } |
enum | { zeroBased = true } |
enum | { multiPatch = false } |
typedef Engine< Dim, T, BrickView > | This_t |
typedef Engine< Dim, T, BrickView > | Engine_t |
typedef Pooma::BrickViewBase< Dim > | Base_t |
typedef Base_t::Domain_t | Domain_t |
typedef DomainLayout< Dim > | Layout_t |
typedef T | Element_t |
typedef T & | ElementRef_t |
typedef BrickView | Tag_t |
Public Member Functions | |
Engine () | |
Default constructor is required for containers. | |
Engine (const This_t &model) | |
Copy constructor performs a SHALLOW copy: | |
Engine (const This_t &model, const EngineConstructTag &) | |
Constructor used by MultiPatchView subsetting. | |
DataBlockPtr< T > | dataBlock () |
Return the DataBlockPtr. See comments in BrickEngine above. | |
const DataBlockPtr< T > & | dataBlock () const |
Pooma::DataObject_t * | dataObject () const |
Provide access to the data object. | |
Subsetting Constructors. | |
A BrickView-Engine is a strided, brick-shaped view of a Brick-Engine. Thus we write constructors to build BrickViews from Brick-Engines and all types of brick-shaped Domains. | |
template<class DT > | |
Engine (const Engine< Dim, T, Brick > &e, const Domain< Dim, DT > &dom) | |
Build a BrickView from Brick and a domain like an Interval<Dim> or Range<Dim>. | |
template<int Dim2> | |
Engine (const Engine< Dim2, T, Brick > &e, const SliceRange< Dim2, Dim > &dom) | |
Build a BrickView from Brick and a SliceRange<Dim2,Dim>. | |
template<int Dim2> | |
Engine (const Engine< Dim2, T, Brick > &e, const SliceInterval< Dim2, Dim > &dom) | |
Build a BrickView from Brick and a SliceInterval<Dim2,Dim>. | |
template<class DT > | |
Engine (const This_t &e, const Domain< Dim, DT > &d) | |
Build a BrickView from another BrickView and a domain like an Interval<Dim> or Range<Dim>. | |
template<class DT > | |
Engine (const Engine< Dim, T, BrickViewU > &e, const Domain< Dim, DT > &d) | |
Engine (const This_t &e, const INode< Dim > &inode) | |
Build a BrickView from another BrickView and an INode. | |
Engine (const Engine< Dim, T, BrickViewU > &e, const INode< Dim > &inode) | |
template<int ODim> | |
Engine (const Engine< ODim, T, BrickView > &e, const SliceRange< ODim, Dim > &dom) | |
Build a BrickView from another BrickView and a SliceRange<ODim,Dim>. | |
template<int ODim> | |
Engine (const Engine< ODim, T, BrickViewU > &e, const SliceRange< ODim, Dim > &dom) | |
template<int ODim> | |
Engine (const Engine< ODim, T, BrickView > &e, const SliceInterval< ODim, Dim > &dom) | |
Build a BrickView from another BrickView and a SliceRange<ODim,Dim>. | |
template<int ODim> | |
Engine (const Engine< ODim, T, BrickViewU > &e, const SliceInterval< ODim, Dim > &dom) | |
Engine (const Engine< Dim, T, CompressibleBrick > &) | |
Build a BrickView-Engine from a compressible brick. | |
Engine (const Engine< Dim, T, CompressibleBrickView > &) | |
~Engine () | |
This_t & | operator= (const This_t &model) |
Assigment is shallow, to be consistent with copy. | |
Element_t | read (const Loc< Dim > &loc) const |
Element access via Loc. | |
ElementRef_t | operator() (const Loc< Dim > &loc) const |
Element_t | read (int i1) const |
Element access via ints for speed. | |
Element_t | read (int i1, int i2) const |
Element_t | read (int i1, int i2, int i3) const |
Element_t | read (int i1, int i2, int i3, int i4) const |
Element_t | read (int i1, int i2, int i3, int i4, int i5) const |
Element_t | read (int i1, int i2, int i3, int i4, int i5, int i6) const |
Element_t | read (int i1, int i2, int i3, int i4, int i5, int i6, int i7) const |
ElementRef_t | operator() (int i1) const |
ElementRef_t | operator() (int i1, int i2) const |
ElementRef_t | operator() (int i1, int i2, int i3) const |
ElementRef_t | operator() (int i1, int i2, int i3, int i4) const |
ElementRef_t | operator() (int i1, int i2, int i3, int i4, int i5) const |
ElementRef_t | operator() (int i1, int i2, int i3, int i4, int i5, int i6) const |
ElementRef_t | operator() (int i1, int i2, int i3, int i4, int i5, int i6, int i7) const |
Engine<T,Dim,BrickView> (aka BrickView-Engine)
A BrickView-Engine is an Engine that manages a view of a Brick-Engine. See Engine<Dim,T,Brick> for details.
Template Parameters:
The Domain of this engine is an Interval<Dim>, which is a tensor product of Dim 1-D intervals. For BrickView-Engines, these intervals will all be 0-based (i.e. [0..N0]x[0..N1] etc.).
Note that this is NOT the domain of the underlying data storage, but rather it is the domain as presented to the outside world.
Reimplemented from Pooma::BrickViewBase< Dim >.
typedef Pooma::BrickViewBase<Dim> Engine< Dim, T, BrickView >::Base_t |
typedef Base_t::Domain_t Engine< Dim, T, BrickView >::Domain_t |
Reimplemented from Pooma::BrickViewBase< Dim >.
typedef DomainLayout<Dim> Engine< Dim, T, BrickView >::Layout_t |
Reimplemented from Pooma::BrickViewBase< Dim >.
typedef T& Engine< Dim, T, BrickView >::ElementRef_t |
Default constructor is required for containers.
Copy constructor performs a SHALLOW copy:
Engine< Dim, T, BrickView >::Engine | ( | const This_t & | model, |
const EngineConstructTag & | |||
) | [inline] |
Constructor used by MultiPatchView subsetting.
Engine< Dim, T, BrickView >::Engine | ( | const Engine< Dim, T, Brick > & | e, |
const Domain< Dim, DT > & | dom | ||
) | [inline] |
Build a BrickView from Brick and a domain like an Interval<Dim> or Range<Dim>.
References Engine< Dim, T, Brick >::dataBlock(), RefCountedBlockPtr< T, BoundsChecked, Controller >::isAtBeginning(), and PAssert.
Engine< Dim, T, BrickView >::Engine | ( | const Engine< Dim, T, BrickViewU > & | e, |
const Domain< Dim, DT > & | d | ||
) | [inline] |
Engine< Dim, T, BrickView >::Engine | ( | const Engine< Dim, T, BrickViewU > & | e, |
const INode< Dim > & | inode | ||
) | [inline] |
Engine< Dim, T, BrickView >::Engine | ( | const Engine< ODim, T, BrickViewU > & | e, |
const SliceRange< ODim, Dim > & | dom | ||
) | [inline] |
Engine< Dim, T, BrickView >::Engine | ( | const Engine< ODim, T, BrickViewU > & | e, |
const SliceInterval< ODim, Dim > & | dom | ||
) | [inline] |
Engine< Dim, T, BrickView >::Engine | ( | const Engine< Dim, T, CompressibleBrick > & | model | ) | [explicit] |
Build a BrickView-Engine from a compressible brick.
References RefCountedBlockPtr< T, BoundsChecked, Controller >::currentPointer(), and Engine< Dim, T, CompressibleBrick >::dataBlock().
Engine< Dim, T, BrickView >::Engine | ( | const Engine< Dim, T, CompressibleBrickView > & | model | ) | [explicit] |
This_t& Engine< Dim, T, BrickView >::operator= | ( | const This_t & | model | ) | [inline] |
Assigment is shallow, to be consistent with copy.
Element_t Engine< Dim, T, BrickView >::read | ( | const Loc< Dim > & | loc | ) | const [inline] |
Element access via Loc.
ElementRef_t Engine< Dim, T, BrickView >::operator() | ( | const Loc< Dim > & | loc | ) | const [inline] |
Element access via ints for speed.
References CTAssert.
Element_t Engine< Dim, T, BrickView >::read | ( | int | i1, |
int | i2 | ||
) | const [inline] |
References CTAssert.
Element_t Engine< Dim, T, BrickView >::read | ( | int | i1, |
int | i2, | ||
int | i3 | ||
) | const [inline] |
References CTAssert.
Element_t Engine< Dim, T, BrickView >::read | ( | int | i1, |
int | i2, | ||
int | i3, | ||
int | i4 | ||
) | const [inline] |
References CTAssert.
Element_t Engine< Dim, T, BrickView >::read | ( | int | i1, |
int | i2, | ||
int | i3, | ||
int | i4, | ||
int | i5 | ||
) | const [inline] |
References CTAssert.
Element_t Engine< Dim, T, BrickView >::read | ( | int | i1, |
int | i2, | ||
int | i3, | ||
int | i4, | ||
int | i5, | ||
int | i6 | ||
) | const [inline] |
References CTAssert.
Element_t Engine< Dim, T, BrickView >::read | ( | int | i1, |
int | i2, | ||
int | i3, | ||
int | i4, | ||
int | i5, | ||
int | i6, | ||
int | i7 | ||
) | const [inline] |
References CTAssert.
ElementRef_t Engine< Dim, T, BrickView >::operator() | ( | int | i1 | ) | const [inline] |
References CTAssert.
ElementRef_t Engine< Dim, T, BrickView >::operator() | ( | int | i1, |
int | i2 | ||
) | const [inline] |
References CTAssert.
ElementRef_t Engine< Dim, T, BrickView >::operator() | ( | int | i1, |
int | i2, | ||
int | i3 | ||
) | const [inline] |
References CTAssert.
ElementRef_t Engine< Dim, T, BrickView >::operator() | ( | int | i1, |
int | i2, | ||
int | i3, | ||
int | i4 | ||
) | const [inline] |
References CTAssert.
ElementRef_t Engine< Dim, T, BrickView >::operator() | ( | int | i1, |
int | i2, | ||
int | i3, | ||
int | i4, | ||
int | i5 | ||
) | const [inline] |
References CTAssert.
ElementRef_t Engine< Dim, T, BrickView >::operator() | ( | int | i1, |
int | i2, | ||
int | i3, | ||
int | i4, | ||
int | i5, | ||
int | i6 | ||
) | const [inline] |
References CTAssert.
ElementRef_t Engine< Dim, T, BrickView >::operator() | ( | int | i1, |
int | i2, | ||
int | i3, | ||
int | i4, | ||
int | i5, | ||
int | i6, | ||
int | i7 | ||
) | const [inline] |
References CTAssert.
DataBlockPtr<T> Engine< Dim, T, BrickView >::dataBlock | ( | ) | [inline] |
Return the DataBlockPtr. See comments in BrickEngine above.
const DataBlockPtr<T>& Engine< Dim, T, BrickView >::dataBlock | ( | ) | const [inline] |
Pooma::DataObject_t* Engine< Dim, T, BrickView >::dataObject | ( | ) | const [inline] |
Provide access to the data object.
This should really be a reference instead of a pointer.