MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
Tendency.hpp File Reference
#include <glm/glm.hpp>
+ Include dependency graph for Tendency.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  MayaFlux::Kinesis::Tendency< D, R >
 Typed, composable, stateless callable from domain D to range R. More...
 

Namespaces

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

Typedefs

using MayaFlux::Kinesis::ScalarField = Tendency< float, float >
 
using MayaFlux::Kinesis::SpatialField = Tendency< glm::vec3, float >
 
using MayaFlux::Kinesis::TemporalField = Tendency< float, float >
 
using MayaFlux::Kinesis::UVField = Tendency< glm::vec3, glm::vec2 >
 
using MayaFlux::Kinesis::VectorField = Tendency< glm::vec3, glm::vec3 >
 

Functions

template<typename A , typename B , typename C >
Tendency< A, C > MayaFlux::Kinesis::chain (const Tendency< A, B > &first, const Tendency< B, C > &second)
 Sequential composition: evaluate first, feed result into second.
 
template<typename D >
Tendency< D, float > MayaFlux::Kinesis::clamp (const Tendency< D, float > &t, float lo, float hi)
 Clamp scalar output to [lo, hi].
 
template<typename D , typename R , typename BinaryOp >
Tendency< D, R > MayaFlux::Kinesis::combine (const Tendency< D, R > &a, const Tendency< D, R > &b, BinaryOp op)
 Combine two tendencies with a binary operation on their outputs.
 
template<typename D >
Tendency< D, float > MayaFlux::Kinesis::invert (const Tendency< D, float > &t)
 Negate a scalar-output tendency.
 
VectorField MayaFlux::Kinesis::invert (const VectorField &t)
 Negate all components of a vector field.
 
template<typename D >
Tendency< D, float > MayaFlux::Kinesis::lerp (const Tendency< D, float > &a, const Tendency< D, float > &b, const Tendency< D, float > &weight)
 Interpolate between two tendencies controlled by a weight tendency.
 
template<typename D >
Tendency< D, float > MayaFlux::Kinesis::scale (const Tendency< D, float > &t, float factor)
 Uniform scaling of a scalar-output tendency.
 
VectorField MayaFlux::Kinesis::scale (const VectorField &t, float factor)
 Uniform scaling of a vector field.
 
template<typename D , typename R >
Tendency< D, R > MayaFlux::Kinesis::select (const Tendency< D, float > &predicate, const Tendency< D, R > &then_t, const Tendency< D, R > &else_t)
 Select between two tendencies based on a predicate tendency.
 
template<typename D >
Tendency< D, float > MayaFlux::Kinesis::threshold (const Tendency< D, float > &t, float thresh)
 Zero output below threshold, pass through above.