walberla::cell::CellInterval Class Reference

#include <CellInterval.h>

Public Types

typedef CellIntervalIterator const_iterator
 

Public Member Functions

 CellInterval ()
 
 CellInterval (const Cell &_min, const Cell &_max)
 
 CellInterval (const cell_idx_t _xMin, const cell_idx_t _yMin, const cell_idx_t _zMin, const cell_idx_t _xMax, const cell_idx_t _yMax, const cell_idx_t _zMax)
 
bool operator== (const CellInterval &rhs) const
 
bool operator!= (const CellInterval &rhs) const
 
Cellmin ()
 
cell_idx_txMin ()
 
cell_idx_tyMin ()
 
cell_idx_tzMin ()
 
Cellmax ()
 
cell_idx_txMax ()
 
cell_idx_tyMax ()
 
cell_idx_tzMax ()
 
const Cellmin () const
 
cell_idx_t xMin () const
 
cell_idx_t yMin () const
 
cell_idx_t zMin () const
 
const Cellmax () const
 
cell_idx_t xMax () const
 
cell_idx_t yMax () const
 
cell_idx_t zMax () const
 
bool empty () const
 
bool positiveIndicesOnly () const
 
bool contains (const cell_idx_t x, const cell_idx_t y, const cell_idx_t z) const
 Returns true only if cell (x,y,z) is contained in the cell interval. More...
 
bool contains (const uint_t x, const uint_t y, const uint_t z) const
 
bool contains (const Cell &cell) const
 
bool contains (const CellInterval &other) const
 
bool overlaps (const CellInterval &other) const
 Query if the CellIntervals overlaps with another given CellInterval. More...
 
bool overlaps (const CellSet &cellSet) const
 
bool overlaps (const CellVector &cellVector) const
 
CellIntervalshift (const cell_idx_t x, const cell_idx_t y, const cell_idx_t z)
 diagonal shift More...
 
CellIntervalshift (const uint_t x, const uint_t y, const uint_t z)
 diagonal shift More...
 
CellIntervalshift (const Cell &offset)
 
void expand (const cell_idx_t numberOfCells)
 
void expand (const Cell &numberOfCells)
 
void intersect (const CellInterval &other)
 
uint_t xSize () const
 
uint_t ySize () const
 
uint_t zSize () const
 
uint_t size (const uint_t i) const
 
uint_t numCells () const
 
const_iterator begin () const
 
const_iterator end () const
 

Private Attributes

Cell min_
 
Cell max_
 

Member Typedef Documentation

Constructor & Destructor Documentation

walberla::cell::CellInterval::CellInterval ( )
inline
walberla::cell::CellInterval::CellInterval ( const Cell _min,
const Cell _max 
)
inline
walberla::cell::CellInterval::CellInterval ( const cell_idx_t  _xMin,
const cell_idx_t  _yMin,
const cell_idx_t  _zMin,
const cell_idx_t  _xMax,
const cell_idx_t  _yMax,
const cell_idx_t  _zMax 
)
inline

Member Function Documentation

CellInterval::const_iterator walberla::cell::CellInterval::begin ( ) const
inline
bool walberla::cell::CellInterval::contains ( const cell_idx_t  x,
const cell_idx_t  y,
const cell_idx_t  z 
) const
inline

Returns true only if cell (x,y,z) is contained in the cell interval.

bool walberla::cell::CellInterval::contains ( const uint_t  x,
const uint_t  y,
const uint_t  z 
) const
inline
bool walberla::cell::CellInterval::contains ( const Cell cell) const
inline
bool walberla::cell::CellInterval::contains ( const CellInterval other) const
inline
bool walberla::cell::CellInterval::empty ( ) const
inline
CellInterval::const_iterator walberla::cell::CellInterval::end ( ) const
inline
void walberla::cell::CellInterval::expand ( const cell_idx_t  numberOfCells)
inline
void walberla::cell::CellInterval::expand ( const Cell numberOfCells)
inline
void walberla::cell::CellInterval::intersect ( const CellInterval other)
inline
Cell& walberla::cell::CellInterval::max ( )
inline
const Cell& walberla::cell::CellInterval::max ( ) const
inline
Cell& walberla::cell::CellInterval::min ( )
inline
const Cell& walberla::cell::CellInterval::min ( ) const
inline
uint_t walberla::cell::CellInterval::numCells ( ) const
inline
bool walberla::cell::CellInterval::operator!= ( const CellInterval rhs) const
inline
bool walberla::cell::CellInterval::operator== ( const CellInterval rhs) const
inline
bool walberla::cell::CellInterval::overlaps ( const CellInterval other) const
inline

Query if the CellIntervals overlaps with another given CellInterval.

CellIntervals overlap if they booth include at least one common cell.

Parameters
otherThe other CellInterval.
Returns
true if the intervals overlap, false else.
bool walberla::cell::CellInterval::overlaps ( const CellSet cellSet) const
bool walberla::cell::CellInterval::overlaps ( const CellVector cellVector) const
bool walberla::cell::CellInterval::positiveIndicesOnly ( ) const
inline
CellInterval & walberla::cell::CellInterval::shift ( const cell_idx_t  x,
const cell_idx_t  y,
const cell_idx_t  z 
)
inline

diagonal shift

CellInterval & walberla::cell::CellInterval::shift ( const uint_t  x,
const uint_t  y,
const uint_t  z 
)
inline

diagonal shift

CellInterval & walberla::cell::CellInterval::shift ( const Cell offset)
inline
uint_t walberla::cell::CellInterval::size ( const uint_t  i) const
inline
cell_idx_t& walberla::cell::CellInterval::xMax ( )
inline
cell_idx_t walberla::cell::CellInterval::xMax ( ) const
inline
cell_idx_t& walberla::cell::CellInterval::xMin ( )
inline
cell_idx_t walberla::cell::CellInterval::xMin ( ) const
inline
uint_t walberla::cell::CellInterval::xSize ( ) const
inline
cell_idx_t& walberla::cell::CellInterval::yMax ( )
inline
cell_idx_t walberla::cell::CellInterval::yMax ( ) const
inline
cell_idx_t& walberla::cell::CellInterval::yMin ( )
inline
cell_idx_t walberla::cell::CellInterval::yMin ( ) const
inline
uint_t walberla::cell::CellInterval::ySize ( ) const
inline
cell_idx_t& walberla::cell::CellInterval::zMax ( )
inline
cell_idx_t walberla::cell::CellInterval::zMax ( ) const
inline
cell_idx_t& walberla::cell::CellInterval::zMin ( )
inline
cell_idx_t walberla::cell::CellInterval::zMin ( ) const
inline
uint_t walberla::cell::CellInterval::zSize ( ) const
inline

Member Data Documentation

Cell walberla::cell::CellInterval::max_
private
Cell walberla::cell::CellInterval::min_
private

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