walberla::cell::CellInterval Class Reference

#include <CellInterval.h>

Public Types

using const_iterator = CellIntervalIterator
 

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

◆ const_iterator

Constructor & Destructor Documentation

◆ CellInterval() [1/3]

walberla::cell::CellInterval::CellInterval ( )
inline

◆ CellInterval() [2/3]

walberla::cell::CellInterval::CellInterval ( const Cell _min,
const Cell _max 
)
inline

◆ CellInterval() [3/3]

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

◆ begin()

CellInterval::const_iterator walberla::cell::CellInterval::begin ( ) const
inline

◆ contains() [1/4]

bool walberla::cell::CellInterval::contains ( const Cell cell) const
inline

◆ contains() [2/4]

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.

◆ contains() [3/4]

bool walberla::cell::CellInterval::contains ( const CellInterval other) const
inline

◆ contains() [4/4]

bool walberla::cell::CellInterval::contains ( const uint_t  x,
const uint_t  y,
const uint_t  z 
) const
inline

◆ empty()

bool walberla::cell::CellInterval::empty ( ) const
inline

◆ end()

CellInterval::const_iterator walberla::cell::CellInterval::end ( ) const
inline

◆ expand() [1/2]

void walberla::cell::CellInterval::expand ( const Cell numberOfCells)
inline

◆ expand() [2/2]

void walberla::cell::CellInterval::expand ( const cell_idx_t  numberOfCells)
inline

◆ intersect()

void walberla::cell::CellInterval::intersect ( const CellInterval other)
inline

◆ max() [1/2]

Cell& walberla::cell::CellInterval::max ( )
inline

◆ max() [2/2]

const Cell& walberla::cell::CellInterval::max ( ) const
inline

◆ min() [1/2]

Cell& walberla::cell::CellInterval::min ( )
inline

◆ min() [2/2]

const Cell& walberla::cell::CellInterval::min ( ) const
inline

◆ numCells()

uint_t walberla::cell::CellInterval::numCells ( ) const
inline

◆ operator!=()

bool walberla::cell::CellInterval::operator!= ( const CellInterval rhs) const
inline

◆ operator==()

bool walberla::cell::CellInterval::operator== ( const CellInterval rhs) const
inline

◆ overlaps() [1/3]

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.

◆ overlaps() [2/3]

bool walberla::cell::CellInterval::overlaps ( const CellSet cellSet) const

◆ overlaps() [3/3]

bool walberla::cell::CellInterval::overlaps ( const CellVector cellVector) const

◆ positiveIndicesOnly()

bool walberla::cell::CellInterval::positiveIndicesOnly ( ) const
inline

◆ shift() [1/3]

CellInterval & walberla::cell::CellInterval::shift ( const Cell offset)
inline

◆ shift() [2/3]

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

diagonal shift

◆ shift() [3/3]

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

diagonal shift

◆ size()

uint_t walberla::cell::CellInterval::size ( const uint_t  i) const
inline

◆ xMax() [1/2]

cell_idx_t& walberla::cell::CellInterval::xMax ( )
inline

◆ xMax() [2/2]

cell_idx_t walberla::cell::CellInterval::xMax ( ) const
inline

◆ xMin() [1/2]

cell_idx_t& walberla::cell::CellInterval::xMin ( )
inline

◆ xMin() [2/2]

cell_idx_t walberla::cell::CellInterval::xMin ( ) const
inline

◆ xSize()

uint_t walberla::cell::CellInterval::xSize ( ) const
inline

◆ yMax() [1/2]

cell_idx_t& walberla::cell::CellInterval::yMax ( )
inline

◆ yMax() [2/2]

cell_idx_t walberla::cell::CellInterval::yMax ( ) const
inline

◆ yMin() [1/2]

cell_idx_t& walberla::cell::CellInterval::yMin ( )
inline

◆ yMin() [2/2]

cell_idx_t walberla::cell::CellInterval::yMin ( ) const
inline

◆ ySize()

uint_t walberla::cell::CellInterval::ySize ( ) const
inline

◆ zMax() [1/2]

cell_idx_t& walberla::cell::CellInterval::zMax ( )
inline

◆ zMax() [2/2]

cell_idx_t walberla::cell::CellInterval::zMax ( ) const
inline

◆ zMin() [1/2]

cell_idx_t& walberla::cell::CellInterval::zMin ( )
inline

◆ zMin() [2/2]

cell_idx_t walberla::cell::CellInterval::zMin ( ) const
inline

◆ zSize()

uint_t walberla::cell::CellInterval::zSize ( ) const
inline

Member Data Documentation

◆ max_

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

◆ min_

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

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