Get network metadata for debugging/visualization.
- Returns
- Map of property names to string representations
Subclasses can override to expose internal state:
- Particle count, average velocity
- Modal frequencies, decay times
- Waveguide delay lengths etc.
Reimplemented from MayaFlux::Nodes::Network::NodeNetwork.
Definition at line 570 of file ModalNetwork.cpp.
571{
573
578 return "HARMONIC";
580 return "INHARMONIC";
582 return "STRETCHED";
584 return "CUSTOM";
585 default:
586 return "UNKNOWN";
587 }
588 }();
590
591 double avg_amplitude = 0.0;
593 avg_amplitude +=
mode.amplitude;
594 }
595 avg_amplitude /=
static_cast<double>(
m_modes.size());
596 metadata[
"avg_amplitude"] = std::to_string(avg_amplitude);
597
598 metadata[
"exciter_type"] = [
this]() {
601 return "IMPULSE";
603 return "NOISE_BURST";
605 return "FILTERED_NOISE";
607 return "SAMPLE";
609 return "CONTINUOUS";
610 default:
611 return "UNKNOWN";
612 }
613 }();
614
617
619}
std::unordered_map< std::string, std::string > metadata
@ IMPULSE
Single-sample Dirac impulse (default)
@ FILTERED_NOISE
Spectrally-shaped noise burst.
@ CONTINUOUS
External node as continuous exciter.
@ NOISE_BURST
Short white noise burst.
@ SAMPLE
User-provided excitation waveform.
ExciterType m_exciter_type
std::vector< ModeCoupling > m_couplings
std::vector< ModalNode > m_modes
double m_decay_multiplier
@ STRETCHED
Piano-like stiffness: f, 2.01f, 3.02f, 4.04f...
@ INHARMONIC
Bell-like: f, 2.76f, 5.40f, 8.93f, 13.34f...
@ CUSTOM
User-provided frequency ratios.
@ HARMONIC
Integer harmonics: f, 2f, 3f, 4f...
virtual std::unordered_map< std::string, std::string > get_metadata() const
Get network metadata for debugging/visualization.
References CONTINUOUS, CUSTOM, FILTERED_NOISE, MayaFlux::Nodes::Network::NodeNetwork::get_metadata(), HARMONIC, IMPULSE, INHARMONIC, m_coupling_enabled, m_couplings, m_decay_multiplier, m_exciter_type, m_fundamental, m_modes, m_spectrum, metadata, mode, NOISE_BURST, SAMPLE, and STRETCHED.