Improve physical geometry, fluid solvers, audio, and profiling
This commit is contained in:
@@ -12,6 +12,7 @@
|
||||
#include "FluidSim/Fluid.hpp"
|
||||
#include "FluidSim/OutdoorAudio.hpp"
|
||||
#include "FluidSim/Solver.hpp"
|
||||
#include "FluidSim/RuntimeProfiler.hpp"
|
||||
#include "FluidSim/Vehicle.hpp"
|
||||
#include "FluidSim/MotorcycleTest.hpp"
|
||||
#include <memory>
|
||||
@@ -35,13 +36,22 @@ public:
|
||||
int cylinder_count() const { return engine_config.cylinders; }
|
||||
std::array<FourStrokeCylinder*, 12> cylinders() { return {&cylinder1, &cylinder2, &cylinder3, &cylinder4,
|
||||
&cylinder5, &cylinder6, &cylinder7, &cylinder8,&cylinder9,&cylinder10,&cylinder11,&cylinder12}; }
|
||||
std::array<const FourStrokeCylinder*, 12> cylinders() const { return {&cylinder1, &cylinder2, &cylinder3, &cylinder4,
|
||||
&cylinder5, &cylinder6, &cylinder7, &cylinder8,&cylinder9,&cylinder10,&cylinder11,&cylinder12}; }
|
||||
AudioFrame process();
|
||||
void enable_profiling(bool enabled) { profiler_.enable(enabled); }
|
||||
const ProfileTotals& profile_totals() const { return profiler_.totals(); }
|
||||
void set_controls(float throttle_value, float load_value, float clutch_value);
|
||||
void set_audio_scene(OutdoorScene scene);
|
||||
void set_listener(AudioListener listener);
|
||||
void set_pipe_solver(PipeSolver solver);
|
||||
void set_monitor_filter(bool enabled);
|
||||
void set_starter(bool engaged);
|
||||
// Replaces calibration at a simulation step boundary, preserving all state.
|
||||
void set_tuning(const EngineConfig& tuning);
|
||||
const auto& source_audio() const { return audio_.source_frames(); }
|
||||
AudioFrame tail_audio() const { return audio_.tail_frame(); }
|
||||
void set_audio_source_enabled(std::size_t index,bool enabled) { audio_.set_source_enabled(index,enabled); }
|
||||
AudioFrame dry_audio() const;
|
||||
AudioFrame unfiltered_audio() const;
|
||||
void shift_up();
|
||||
@@ -69,6 +79,12 @@ private:
|
||||
BoundarySystem boundaries_;
|
||||
Solver solver_;
|
||||
OutdoorAudio audio_;
|
||||
RuntimeProfiler profiler_;
|
||||
std::shared_ptr<const PhysicalGeometry> geometry_;
|
||||
std::shared_ptr<const EngineConfig> active_tuning_;
|
||||
std::array<float,181> intake_lift_trace_{},exhaust_lift_trace_{};
|
||||
float last_contact_impulse_{};
|
||||
float valve_sound_displacement_{},valve_sound_velocity_{};
|
||||
mutable std::mutex mutex_;
|
||||
std::vector<std::unique_ptr<Junction>> exhaust_junctions_;
|
||||
std::unique_ptr<Carburetor> carb_;
|
||||
|
||||
Reference in New Issue
Block a user