Go to the documentation of this file.
37 #ifndef ijkAddressing_H
38 #define ijkAddressing_H
71 inline ijkAddressing(
const label ni,
const label nj,
const label nk);
79 inline bool empty()
const;
88 inline label
size()
const;
97 inline void reset(
const label ni,
const label nj,
const label nk);
103 inline label
index(
const label i,
const label j,
const label
k)
const;
121 const bool allowExtra =
false
129 const bool allowExtra =
false
139 inline void checkSizes(
const label nTotal)
const;
const labelVector & sizes() const
The (i,j,k) addressing dimensions.
void checkIndex(const label i, const label j, const label k, const bool allowExtra=false) const
Check indices are within ni,nj,nk range.
void clear()
Reset to (0,0,0) sizing.
components
Component labeling enumeration.
ijkAddressing()
Construct zero-size addressing.
void reset(const label ni, const label nj, const label nk)
Change the sizing parameters.
label size() const
Return the total i*j*k size.
bool empty() const
Addressing is considered empty if any component is zero.
label index(const label i, const label j, const label k) const
Linear addressing index (offset) for an (i,j,k) position.
label k
Boltzmann constant.
A simple i-j-k (row-major order) to linear addressing.
void checkSizes() const
Check that all components of sizes() are non-negative.