Go to the documentation of this file.
37 #ifndef ijkAddressing_H
38 #define ijkAddressing_H
79 inline bool empty()
const;
121 const bool allowExtra =
false
129 const bool allowExtra =
false
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.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
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.