MayaFlux 0.1.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 231 of file RegionProcessors.cpp.

235{
236 if (m_cache_manager) {
237 if (auto cached_data = m_cache_manager->get_cached_segment(segment)) {
238 output_data.resize(cached_data->data.size());
239
240 std::ranges::for_each(std::views::zip(cached_data->data, output_data),
241 [](auto&& pair) {
242 auto&& [source, dest] = pair;
243 safe_copy_data_variant(source, dest);
244 });
245 return;
246 }
247 }
248
249 auto region_data = container->get_region_data(segment.source_region);
250
251 output_data.resize(region_data.size());
252
253 std::ranges::for_each(std::views::zip(region_data, output_data),
254 [](auto&& pair) {
255 auto&& [source, dest] = pair;
256 safe_copy_data_variant(source, dest);
257 });
258}
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: