|
MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
|
#include "CoordUtils.hpp"#include "MayaFlux/Kakshya/Region/OrganizedRegion.hpp"#include "MayaFlux/Kakshya/Region/RegionGroup.hpp"
Include dependency graph for RegionUtils.hpp:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Namespaces | |
| namespace | MayaFlux |
| Main namespace for the Maya Flux audio engine. | |
| namespace | MayaFlux::Kakshya |
Functions | |
| Region | MayaFlux::Kakshya::remove_channel_dimension (const Region ®ion, const std::vector< DataDimension > &dimensions) |
| Remove the channel dimension from a Region. | |
| std::vector< DataDimension > | MayaFlux::Kakshya::get_non_channel_dimensions (const std::vector< DataDimension > &dimensions) |
| Get all non-channel dimensions from a list of dimensions. | |
| template<typename T > | |
| std::vector< T > | MayaFlux::Kakshya::flatten_channels (const std::vector< std::vector< T > > &channel_data) |
| Flatten a vector of channel data into a single vector. | |
| template<typename T > | |
| std::vector< T > | MayaFlux::Kakshya::extract_region_data (const std::span< const T > &source_data, const Region ®ion, const std::vector< DataDimension > &dimensions) |
| Extract a region of data from a flat data span using a Region and dimension info. | |
| template<typename T > | |
| std::vector< std::vector< T > > | MayaFlux::Kakshya::extract_region_data (const std::vector< std::span< const T > > &source_data, const Region ®ion, const std::vector< DataDimension > &dimensions, bool flatten=false) |
| Extract region data from planar storage (separate per channel/variant) | |
| template<typename T > | |
| std::vector< std::vector< T > > | MayaFlux::Kakshya::extract_group_data (const std::vector< std::span< const T > > &source_spans, const RegionGroup &group, const std::vector< DataDimension > &dimensions, OrganizationStrategy organization) |
| Extract data for multiple regions from multi-channel source data. | |
| template<typename T > | |
| std::vector< std::vector< T > > | MayaFlux::Kakshya::extract_segments_data (const std::vector< RegionSegment > &segments, const std::vector< std::span< const T > > &source_spans, const std::vector< DataDimension > &dimensions, OrganizationStrategy organization) |
| Extract data for multiple segments from multi-channel source data. | |
| template<typename T > | |
| std::vector< T > | MayaFlux::Kakshya::extract_region (const std::vector< T > &data, const Region ®ion, const std::vector< DataDimension > &dimensions) |
| Extract a region of data from a vector using a Region and dimension info. | |
| template<typename T > | |
| std::vector< std::vector< T > > | MayaFlux::Kakshya::extract_region (const std::vector< std::vector< T > > &source_data, const Region ®ion, const std::vector< DataDimension > &dimensions) |
| Extract a region of data from vector of vectors (planar data). | |
| template<typename T > | |
| auto | MayaFlux::Kakshya::extract_region_data (const std::vector< std::span< const T > > &source_spans, const Region ®ion, const std::vector< DataDimension > &dimensions, OrganizationStrategy organization) |
| Extract a region of data with organization strategy. | |
| template<typename T > | |
| void | MayaFlux::Kakshya::set_or_update_region_data (std::span< T > dest_data, std::span< const T > source_data, const Region ®ion, const std::vector< DataDimension > &dimensions) |
| Write or update a region of data in a flat data span (interleaved). | |
| template<typename T > | |
| void | MayaFlux::Kakshya::set_or_update_region_data (std::vector< std::span< T > > &dest_spans, const std::vector< std::span< const T > > &source_data, const Region ®ion, const std::vector< DataDimension > &dimensions) |
| Write or update a region of data in planar storage. | |
| template<typename T > | |
| void | MayaFlux::Kakshya::set_or_update_region_data (std::vector< std::span< T > > &dest_spans, const std::vector< std::span< const T > > &source_data, const Region ®ion, const std::vector< DataDimension > &dimensions, OrganizationStrategy organization) |
| Write or update a region of data with organization strategy. | |
| uint64_t | MayaFlux::Kakshya::calculate_region_size (const Region ®ion) |
| Calculate the total number of elements in a region. | |
| template<typename T > | |
| std::optional< T > | MayaFlux::Kakshya::get_region_attribute (const Region ®ion, const std::string &key) |
| Get an attribute value from a Region by key. | |
| void | MayaFlux::Kakshya::set_region_attribute (Region ®ion, const std::string &key, std::any value) |
| Set an attribute value on a Region. | |
| std::vector< Region > | MayaFlux::Kakshya::find_regions_with_label (const RegionGroup &group, const std::string &label) |
| Find all regions in a RegionGroup with a given label. | |
| std::vector< Region > | MayaFlux::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< Region > | MayaFlux::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 ®ion, const std::vector< int64_t > &offset) |
| Translate a Region by an offset vector. | |
| Region | MayaFlux::Kakshya::scale_region (const Region ®ion, 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 > ®ions, size_t dimension) |
| Sort a vector of Regions by a specific dimension. | |
| void | MayaFlux::Kakshya::sort_regions_by_attribute (std::vector< Region > ®ions, 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 ®ion) |
| 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< Region > | MayaFlux::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 ®ion) |
| 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< RegionGroup > | MayaFlux::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 > ¤t_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 ®ion, 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 ®ion) |
| 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 > ®ions) |
| 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. | |