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

◆ process_region_segment()

void MayaFlux::Kakshya::RegionOrganizationProcessor::process_region_segment ( const OrganizedRegion region,
const RegionSegment segment,
const std::shared_ptr< SignalSourceContainer > &  container,
std::vector< DataVariant > &  output_data 
)
protectedvirtual

Process a single region segment.

Parameters
regionThe organized region.
segmentThe segment within the region.
containerThe signal container.
output_dataOutput data variant to fill.

Definition at line 239 of file RegionProcessors.cpp.

243{
244 if (m_cache_manager) {
245 if (auto cached_data = m_cache_manager->get_cached_segment(segment)) {
246 output_data.resize(cached_data->data.size());
247
248 std::ranges::for_each(std::views::zip(cached_data->data, output_data),
249 [](auto&& pair) {
250 auto&& [source, dest] = pair;
251 safe_copy_data_variant(source, dest);
252 });
253 return;
254 }
255 }
256
257 auto region_data = container->get_region_data(segment.source_region);
258
259 output_data.resize(region_data.size());
260
261 std::ranges::for_each(std::views::zip(region_data, output_data),
262 [](auto&& pair) {
263 auto&& [source, dest] = pair;
264 safe_copy_data_variant(source, dest);
265 });
266}
std::unique_ptr< RegionCacheManager > m_cache_manager
void safe_copy_data_variant(const DataVariant &input, DataVariant &output)
Safely copy data from a DataVariant to another DataVariant, handling type conversion.
Definition DataUtils.cpp:34

References MayaFlux::Kakshya::RegionProcessorBase::m_cache_manager, MayaFlux::Kakshya::safe_copy_data_variant(), and MayaFlux::Kakshya::RegionSegment::source_region.

Referenced by process_organized_regions().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: