MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
Morphology.hpp File Reference
+ Include dependency graph for Morphology.hpp:

Go to the source code of this file.

Namespaces

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

Concepts

concept  MayaFlux::Kinesis::PositionCarrying
 Satisfied by any type exposing a position field convertible to glm::vec3.
 

Functions

template<PositionCarrying T>
AABB3D MayaFlux::Kinesis::aabb (std::span< T > pts) noexcept
 Axis-aligned bounding box of a PositionCarrying span.
 
template<PositionCarrying T>
glm::vec3 MayaFlux::Kinesis::centroid (std::span< T > pts) noexcept
 Arithmetic centroid (uniform weight) of a PositionCarrying span.
 
template<typename T , std::invocable< const T & > PosFn, std::invocable< const T & > WeightFn>
requires std::convertible_to<std::invoke_result_t<PosFn, const T&>, glm::vec3> && std::convertible_to<std::invoke_result_t<WeightFn, const T&>, float>
glm::vec3 MayaFlux::Kinesis::centroid (std::span< T > pts, PosFn pos, WeightFn weight) noexcept
 Fully explicit weighted centroid for arbitrary point types.
 
template<PositionCarrying T, std::invocable< const T & > WeightFn>
requires std::convertible_to<std::invoke_result_t<WeightFn, const T&>, float>
glm::vec3 MayaFlux::Kinesis::centroid (std::span< T > pts, WeightFn weight) noexcept
 Scalar-weighted centroid of a PositionCarrying span.