MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
RegionUtils.cpp File Reference
#include "RegionUtils.hpp"
+ Include dependency graph for RegionUtils.cpp:

Go to the source code of this file.

Namespaces

namespace  MayaFlux
 Main namespace for the Maya Flux audio engine.
 
namespace  MayaFlux::Kakshya
 

Functions

void MayaFlux::Kakshya::set_region_attribute (Region &region, const std::string &key, std::any value)
 Set an attribute value on a Region.
 
std::vector< RegionMayaFlux::Kakshya::find_regions_with_label (const RegionGroup &group, const std::string &label)
 Find all regions in a RegionGroup with a given label.
 
std::vector< RegionMayaFlux::Kakshya::find_regions_with_attribute (const RegionGroup &group, const std::string &key, const std::any &value)
 Find all regions in a RegionGroup with a specific attribute value.
 
std::vector< RegionMayaFlux::Kakshya::find_regions_containing_coordinates (const RegionGroup &group, const std::vector< uint64_t > &coordinates)
 Find all regions in a RegionGroup that contain the given coordinates.
 
Region MayaFlux::Kakshya::translate_region (const Region &region, const std::vector< int64_t > &offset)
 Translate a Region by an offset vector.
 
Region MayaFlux::Kakshya::scale_region (const Region &region, const std::vector< double > &factors)
 Scale a Region about its center by the given factors.
 
Region MayaFlux::Kakshya::get_bounding_region (const RegionGroup &group)
 Get the bounding region that contains all regions in a RegionGroup.
 
void MayaFlux::Kakshya::sort_regions_by_dimension (std::vector< Region > &regions, size_t dimension)
 Sort a vector of Regions by a specific dimension.
 
void MayaFlux::Kakshya::sort_regions_by_attribute (std::vector< Region > &regions, const std::string &attr_name)
 Sort a vector of Regions by a specific attribute (numeric).
 
void MayaFlux::Kakshya::add_reference_region (std::vector< std::pair< std::string, Region > > &refs, const std::string &name, const Region &region)
 Add a named reference region to a reference list.
 
void MayaFlux::Kakshya::remove_reference_region (std::vector< std::pair< std::string, Region > > &refs, const std::string &name)
 Remove a named reference region from a reference list.
 
std::optional< RegionMayaFlux::Kakshya::get_reference_region (const std::vector< std::pair< std::string, Region > > &refs, const std::string &name)
 Get a named reference region from a reference list.
 
std::vector< std::pair< std::string, Region > > MayaFlux::Kakshya::find_references_in_region (const std::vector< std::pair< std::string, Region > > &refs, const Region &region)
 Find all references in a reference list that overlap a given region.
 
void MayaFlux::Kakshya::add_region_group (std::unordered_map< std::string, RegionGroup > &groups, const RegionGroup &group)
 Add a RegionGroup to a group map.
 
std::optional< RegionGroupMayaFlux::Kakshya::get_region_group (const std::unordered_map< std::string, RegionGroup > &groups, const std::string &name)
 Get a RegionGroup by name from a group map.
 
void MayaFlux::Kakshya::remove_region_group (std::unordered_map< std::string, RegionGroup > &groups, const std::string &name)
 Remove a RegionGroup by name from a group map.
 
Region MayaFlux::Kakshya::calculate_output_region (const std::vector< uint64_t > &current_pos, const std::vector< uint64_t > &output_shape)
 Calculate output region bounds from current position and shape.
 
Region MayaFlux::Kakshya::calculate_output_region (uint64_t current_frame, uint64_t frames_to_process, const std::shared_ptr< SignalSourceContainer > &container)
 Calculate output region for frame-based processing.
 
bool MayaFlux::Kakshya::is_region_access_contiguous (const Region &region, const std::shared_ptr< SignalSourceContainer > &container)
 Check if region access will be contiguous in memory.
 
std::vector< std::unordered_map< std::string, std::any > > MayaFlux::Kakshya::extract_all_regions_info (const std::shared_ptr< SignalSourceContainer > &container)
 Extract all regions from container's region groups.
 
std::unordered_map< std::string, std::any > MayaFlux::Kakshya::extract_group_bounds_info (const RegionGroup &group)
 Extract bounds information from region group.
 
std::vector< std::unordered_map< std::string, std::any > > MayaFlux::Kakshya::extract_segments_metadata (const std::vector< RegionSegment > &segments)
 Extract metadata from region segments.
 
std::unordered_map< std::string, std::any > MayaFlux::Kakshya::extract_region_bounds_info (const Region &region)
 Extract structured bounds information from region.
 
std::optional< size_t > MayaFlux::Kakshya::find_region_for_position (const std::vector< uint64_t > &position, const std::vector< Region > &regions)
 Find optimal region containing given position.
 
std::optional< size_t > MayaFlux::Kakshya::find_region_for_position (const std::vector< uint64_t > &position, std::vector< OrganizedRegion > regions)
 Find the index of the region containing the given position.
 
Region MayaFlux::Kakshya::remove_channel_dimension (const Region &region, const std::vector< DataDimension > &dimensions)
 Remove the channel dimension from a Region.
 
std::vector< DataDimensionMayaFlux::Kakshya::get_non_channel_dimensions (const std::vector< DataDimension > &dimensions)
 Get all non-channel dimensions from a list of dimensions.