#pragma once #include "FluidSim/AudioProcessing.hpp" #include namespace fluidsim::port { struct ScenarioSnapshot; // Fractions refer to simulated pipe length; positions are world metres. // Both the pipe mesh and its acoustic mouths use these same routes. struct PipeRoute { std::array points{}; std::array fractions{}; unsigned count{}; }; std::array scenario_pipe_routes(const ScenarioSnapshot& state); std::array scenario_sound_sources(const ScenarioSnapshot& state); }