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

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