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

◆ organize_group()

void MayaFlux::Kakshya::RegionOrganizationProcessor::organize_group ( const std::shared_ptr< SignalSourceContainer > &  container,
const RegionGroup group 
)
private

Organize a group of regions within the container.

Parameters
containerThe signal container.
groupThe region group to organize.

Definition at line 388 of file RegionProcessors.cpp.

390{
391 // TODO:: Reenable when C++23 is more widely supported
392 /* for (auto&& [i, region] : std::views::enumerate(group.regions)) {
393 OrganizedRegion organized_region(group.name, i);
394
395 RegionSegment segment(region);
396
397 cache_region_if_needed(segment, container);
398
399 organized_region.segments.push_back(std::move(segment));
400
401 std::ranges::copy(group.attributes,
402 std::inserter(organized_region.attributes, organized_region.attributes.end()));
403 std::ranges::copy(region.attributes,
404 std::inserter(organized_region.attributes, organized_region.attributes.end()));
405
406 organized_region.current_position = region.start_coordinates;
407 organized_region.state = RegionState::READY;
408
409 m_organized_regions.push_back(std::move(organized_region));
410 } */
411 for (size_t i = 0; const auto& region : group.regions) {
412 OrganizedRegion organized_region(group.name, i);
413 RegionSegment segment(region);
414 cache_region_if_needed(segment, container);
415 organized_region.segments.push_back(std::move(segment));
416 std::ranges::copy(group.attributes,
417 std::inserter(organized_region.attributes, organized_region.attributes.end()));
418 std::ranges::copy(region.attributes,
419 std::inserter(organized_region.attributes, organized_region.attributes.end()));
420 organized_region.current_position = region.start_coordinates;
421 organized_region.state = RegionState::READY;
422 m_organized_regions.push_back(std::move(organized_region));
423 ++i;
424 }
425}
virtual void cache_region_if_needed(const RegionSegment &segment, const std::shared_ptr< SignalSourceContainer > &container)
Cache a region's data if beneficial and not already cached.
std::vector< OrganizedRegion > m_organized_regions
@ READY
Ready for processing.

References MayaFlux::Kakshya::OrganizedRegion::attributes, MayaFlux::Kakshya::RegionGroup::attributes, MayaFlux::Kakshya::RegionProcessorBase::cache_region_if_needed(), MayaFlux::Kakshya::OrganizedRegion::current_position, MayaFlux::Kakshya::RegionProcessorBase::m_organized_regions, MayaFlux::Kakshya::RegionGroup::name, MayaFlux::Kakshya::READY, MayaFlux::Kakshya::RegionGroup::regions, MayaFlux::Kakshya::OrganizedRegion::segments, and MayaFlux::Kakshya::OrganizedRegion::state.

Referenced by organize_container_data().

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