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]. | |
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.
|
inline |
|
inline |
Linearly interpolated weight of mode at normalized position.
position is clamped to [0, 1]; an empty map returns 1.
| int pulp::signal::ModalShapeMap::grid_points = 0 |
Samples per mode across [0, 1]. Zero means "no map".
| std::vector<float> pulp::signal::ModalShapeMap::weights |
grid_points weights per mode, laid out [mode * grid_points + g].