MayaFlux 0.4.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 387 of file RegionProcessors.cpp.

389{
390 // TODO:: Reenable when C++23 is more widely supported
391 /* for (auto&& [i, region] : std::views::enumerate(group.regions)) {
392 OrganizedRegion organized_region(group.name, i);
393
394 RegionSegment segment(region);
395
396 cache_region_if_needed(segment, container);
397
398 organized_region.segments.push_back(std::move(segment));
399
400 std::ranges::copy(group.attributes,
401 std::inserter(organized_region.attributes, organized_region.attributes.end()));
402 std::ranges::copy(region.attributes,
403 std::inserter(organized_region.attributes, organized_region.attributes.end()));
404
405 organized_region.current_position = region.start_coordinates;
406 organized_region.state = RegionState::READY;
407
408 m_organized_regions.push_back(std::move(organized_region));
409 } */
410 for (size_t i = 0; const auto& region : group.regions) {
411 OrganizedRegion organized_region(group.name, i);
412 RegionSegment segment(region);
413 cache_region_if_needed(segment, container);
414 organized_region.segments.push_back(std::move(segment));
415 std::ranges::copy(group.attributes,
416 std::inserter(organized_region.attributes, organized_region.attributes.end()));
417 std::ranges::copy(region.attributes,
418 std::inserter(organized_region.attributes, organized_region.attributes.end()));
419 organized_region.current_position = region.start_coordinates;
420 organized_region.state = RegionState::READY;
421 m_organized_regions.push_back(std::move(organized_region));
422 ++i;
423 }
424}
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: