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

◆ write_series()

void MayaFlux::Kakshya::PlotContainer::write_series ( uint32_t  index,
std::span< const double >  samples 
)

Write the full sample buffer for a series.

Parameters
indexSeries index from add_series().
samplesSource data. Must match the series sample count.

Definition at line 68 of file PlotContainer.cpp.

69{
70 if (index >= m_data.size()) {
71 MF_ERROR(C, X, "PlotContainer::write_series: index {} out of range", index);
72 return;
73 }
74
75 auto* vec = std::get_if<std::vector<double>>(&m_data[index]);
76 if (!vec) {
77 MF_ERROR(C, X, "PlotContainer::write_series: series {} has unexpected variant type", index);
78 return;
79 }
80
81 const uint64_t n = std::min<uint64_t>(samples.size(), vec->size());
82 Memory::SeqlockWriteGuard g(m_series_locks[index]);
83 std::copy_n(samples.begin(), n, vec->begin());
84}
#define MF_ERROR(comp, ctx,...)
uint32_t index
Definition VKDevice.cpp:122
std::vector< DataVariant > m_data
Memory::SeqlockArray m_series_locks

References index, m_data, m_series_locks, and MF_ERROR.