17
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-11-07 14:41:18 +01:00

feat(track): a check rail is held to its running rail by spacer blocks every 0.5 m along its straight part, laid in the same way as the spacers of a guard rail at a wide crossing, below the head from the web of the running rail to the face of the check rail, so the flangeway stays open above them; a check rail replaced by a wing rail gets none; the spacing of spacers and castings is shared by guard rails and check rails

This commit is contained in:
maj00r
2026-10-14 14:01:08 +02:00
parent 55abd24ead
commit c4772823b3
5 changed files with 57 additions and 23 deletions

View File

@@ -34,6 +34,7 @@ double constexpr casting_reach { 0.3 };
double constexpr square_slope { 3.0 };
double constexpr spacer_length { 0.12 };
double constexpr spacer_pitch { 0.5 };
double constexpr check_flangeway { 0.041 };
// where the inner rails of the two paths of a switch cross, found from their gauge lines behind the blades
struct switch_frog {
@@ -87,6 +88,10 @@ struct check_rail {
double tobend { 0.0 };
};
using check_rail_set = std::array<std::array<std::vector<check_rail>, 2>, 2>; // path, right side
inline double check_flare( check_rail const &Check ) {
return std::min( guard_flare, 0.4 * ( Check.to - Check.from ) );
}
// a rail broken where another one crosses it: the part coming from below ends at end, the part going on starts at start
struct rail_cut {
double at { 0.0 };