diff --git a/Train/SimpleTrainTrack.mch b/Train/SimpleTrainTrack.mch new file mode 100644 index 0000000000000000000000000000000000000000..b34d333e55109ba4d9c4396e6debf7e8e6f447eb --- /dev/null +++ b/Train/SimpleTrainTrack.mch @@ -0,0 +1,18 @@ +MACHINE TrainTrack +// A small example to show how one can use LibrarySVG to flexibliy visualise +// train track zones,... +SETS + TTDS = {ttd1,ttd2,ttd3} +CONSTANTS + TrackElementNumber, TRACK, TTD_TrackElements +PROPERTIES + TrackElementNumber : NATURAL1 +& TRACK = 1..TrackElementNumber + +& TTD_TrackElements : TTDS --> FIN1(TRACK) + +& TrackElementNumber = 30 +& TTD_TrackElements = {ttd1 |-> 1..10 , ttd2 |-> 11..25 , ttd3 |-> 26..30} +DEFINITIONS + "LibrarySVG.def" // enable to use the external functions in the VisB json file +END \ No newline at end of file diff --git a/Train/Track.json b/Train/Track.json new file mode 100644 index 0000000000000000000000000000000000000000..dc4626698dc4ef90f5274ad5b7c7c8c0a2f23328 --- /dev/null +++ b/Train/Track.json @@ -0,0 +1,31 @@ +{ + "svg":"Track.svg", + "items":[ + + { + "id":"track_polyline", + "attr":"points", + "value":"svg_axis(TRACK,100.0/real(TrackElementNumber),1.0,100.0,1.0)", + "comment":"show ticks for Track units" + }, + { + "id":"ttd_polyline", + "attr":"points", + "value":"svg_set_polygon(ran(%tt.(tt:TTDS|max(TTD_TrackElements(tt)))),100.0/real(TrackElementNumber),1.0,100.0,2.0)", + "comment":"show ticks for TTD Limits" + }, + { + "id":"occupied_ttd_polygon", + "attr":"points", + "value":"svg_axis(union(ran(%tt.(tt:{ttd1}|TTD_TrackElements(tt)))),100.0/real(TrackElementNumber),1.0,100.0,2.0)", + "comment":"show ticks for TTD Limits" + }, + { + "id":"cleared_ttd_polygon", + "attr":"points", + "value":"svg_set_polygon(union(ran(%tt.(tt:{ttd2,ttd3}|TTD_TrackElements(tt)))),100.0/real(TrackElementNumber),1.0,100.0,2.0)", + "comment":"show ticks for TTD Limits" + } + ], + "events":[ ] +} \ No newline at end of file diff --git a/Train/Track.svg b/Train/Track.svg new file mode 100644 index 0000000000000000000000000000000000000000..e028a48bdd54d9b7f6d898af7d069699a3605e70 --- /dev/null +++ b/Train/Track.svg @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns="http://www.w3.org/2000/svg" + width="750" + height="300" + viewBox="0 5 150 65" + version="1.1" + id="svg5154"> + + <polygon id = "track_polyline" + points="0,0 100,0" + style="stroke-width: 0.3" + stroke="red" fill="none" + transform="translate(10,20.5)" /> + <polygon id = "ttd_polyline" + points="0,0 100,0" + style="stroke-width: 0.3" + stroke="red" fill="none" + transform="translate(10,22.5)" /> + + + <rect id = "ttd_rect" + style="stroke-width: 0.1" + width="100" height="2" x="0" y="0" + stroke="black" fill="none" + transform="translate(10,23)" /> + <polygon id = "occupied_ttd_polygon" + points="0,0 0,2 10,2 10,0 70,0 70,1 90,1 90,0" + stroke="none" fill="red" + opacity="0.70" + style="stroke-width: 0.2" + transform="translate(10,23)" /> + <polygon id = "cleared_ttd_polygon" + points="0,0 10,2 20,2 20,0 90,0 90,1 100,1 100,0" + stroke="none" fill="blue" + opacity="0.70" + style="stroke-width: 0.2" + transform="translate(10,23)" /> + + <text text-align="left" x="5" y="41" + font-size ="2" fill="gray" font-family="sans-serif"> + <tspan x="15" dy = "0.6em" id="visb_debug_messages">.TXT</tspan> + </text> +</svg> \ No newline at end of file