MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ coordinates_to_linear()

uint64_t MayaFlux::Kakshya::coordinates_to_linear ( const std::vector< uint64_t > &  coords,
const std::vector< DataDimension > &  dimensions 
)

Convert N-dimensional coordinates to a linear index for interleaved data.

Parameters
coordsN-dimensional coordinates.
dimensionsDimension descriptors (size/stride/role).
Returns
Linear index into the underlying data storage.
Note
Only works with interleaved organization strategy. For planar data, use coordinates_to_planar_indices() instead.

Definition at line 6 of file CoordUtils.cpp.

7{
8 uint64_t index = 0;
9 uint64_t multiplier = 1;
10 for (int i = dimensions.size() - 1; i >= 0; --i) {
11 if (i < coords.size()) {
12 index += coords[i] * multiplier;
13 }
14 multiplier *= dimensions[i].size;
15 }
16 return index;
17}

Referenced by MayaFlux::Kakshya::SoundStreamContainer::coordinates_to_linear_index(), extract_region_data(), and set_or_update_region_data().

+ Here is the caller graph for this function: