Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::signal::ModalShapeMap Struct Reference

A mode shape sampled on a uniform grid across the object's normalized extent [0, 1], mode-major. More...

#include <modal_spec.hpp>

Public Member Functions

bool empty () const
float weight_at (int mode, float position) const
 Linearly interpolated weight of mode at normalized position.

Public Attributes

int grid_points = 0
 Samples per mode across [0, 1]. Zero means "no map".
std::vector< float > weights
 grid_points weights per mode, laid out [mode * grid_points + g].

Detailed Description

A mode shape sampled on a uniform grid across the object's normalized extent [0, 1], mode-major.

Physically this is phi_m(x): how strongly position x couples to mode m. It is sampled rather than analytic because a spec has to be able to carry a measured shape as easily as an ideal one. An empty map means position has no effect and every mode couples with weight 1 — which is also the state that preserves authored gains verbatim.

Member Function Documentation

◆ empty()

bool pulp::signal::ModalShapeMap::empty ( ) const
inline

◆ weight_at()

float pulp::signal::ModalShapeMap::weight_at ( int mode,
float position ) const
inline

Linearly interpolated weight of mode at normalized position.

position is clamped to [0, 1]; an empty map returns 1.

Member Data Documentation

◆ grid_points

int pulp::signal::ModalShapeMap::grid_points = 0

Samples per mode across [0, 1]. Zero means "no map".

◆ weights

std::vector<float> pulp::signal::ModalShapeMap::weights

grid_points weights per mode, laid out [mode * grid_points + g].


The documentation for this struct was generated from the following file:
  • /home/runner/work/pulp/pulp/core/signal/include/pulp/signal/modal_spec.hpp