17
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-11-06 05:48:35 +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

@@ -126,6 +126,12 @@ bool replaced_check( std::vector<check_rail> const &Checks, double const Wingend
return false;
}
bool replaced_by_wing( check_rail const &Check, knots::line const &Wingends ) {
auto farend { 0.0 };
return std::any_of( Wingends.begin(), Wingends.end(), [&]( glm::dvec2 const &Wing ) { return replaced_check( { Check }, Wing.x, Wing.y, farend ); } );
}
// gauge line of a rail of a track, along a path of a switch from past its blades when Blades
gauge_line const &rail_line( TTrack const &Track, int const Path, int const Side, bool const Blades ) {