mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-11-06 15:08:36 +01:00
refactor(track): the sleeper layout split by concern instead of one TrackSleepers.cpp
- SleeperRules: the rules beams are laid by and the faults counted where the layout breaks them - SleeperGeometry: plan helpers, beam boxes with their overlap and support tests and a grid of cells, shared by laying, filling gaps, keeping beams apart and checking instead of three copies of each - SleeperPaths: sampled paths, how near they run and whether one carries another; the tracks near a track and the stretches of a path where a test holds, shared by paths_around/unsettle_around and shared_zones/zones_of - SleeperFeatures: frogs and crossings the timbers turn to; SleeperLines: lines of beams, the rails they carry, where they part - SleeperLayout: clusters and their layout, given the epoch instead of reading it; SleeperModels: the models of the beams - SleeperWorker: the layouts kept per epoch and worked out in the background, behind a small interface - TrackSleepers: the facade, laying the instances, the shared zones and the check - sleepercheck reports a digest of all beams; geomhash skips empty chunks instead of crashing The layout is unchanged: geomhash, sleepercheck with the digest, wings, space, guards, crossings and switches give the same output on baltyk, zz_rozjazdy_id4, zz_rf_slips, zz_rf_wide, zz_slips_s42, zz_demo_przechylka and zz_connections.
This commit is contained in:
@@ -145,6 +145,7 @@ struct layout_check {
|
||||
double slowest { 0.0 }; // the longest a cluster of tracks took to lay, in ms
|
||||
std::size_t biggest { 0 }; // the most tracks in a cluster
|
||||
std::size_t panels { 0 }; // switches with their paths out of one plane where they share the timbers of the panel
|
||||
std::uint64_t digest { 0 }; // of where all the beams lie, to tell whether a change of the code moved any
|
||||
double longest { 0.0 };
|
||||
double widest { 0.0 }; // the widest spacing of the beams under a rail
|
||||
std::string widestat;
|
||||
|
||||
Reference in New Issue
Block a user