37 #ifndef Foam_ijkAddressing_H 38 #define Foam_ijkAddressing_H 71 inline ijkAddressing(
const label ni,
const label nj,
const label nk);
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;
label k
Boltzmann constant.
const labelVector & sizes() const noexcept
The (i,j,k) addressing dimensions.
void reset(const label ni, const label nj, const label nk)
Change the sizing parameters.
bool empty() const noexcept
Addressing is considered empty if any component is zero.
void checkSizes() const
Check that all components of sizes() are non-negative.
label index(const label i, const label j, const label k) const
Linear addressing index (offset) for an (i,j,k) position.
void checkIndex(const label i, const label j, const label k, const bool allowExtra=false) const
Check indices are within ni,nj,nk range.
ijkAddressing()
Construct zero-size addressing.
A simple i-j-k (row-major order) to linear addressing.
void clear()
Reset to (0,0,0) sizing.
label size() const noexcept
Return the total i*j*k size.
components
Component labeling enumeration.