@@ -21,6 +21,154 @@ class ViaductRuleGenerator(var context: RuleTransducer.Context) extends RuleGene
2121 for (minor <- CrossingGenerator .crossingNetworksOf(main)) {
2222 createCrossingRules(main, minor)
2323 }
24+ // at-grades
25+ Rules += L1Road ~ WE | Road ~ WE & L1Road ~ NS | % | L1Road ~ WE & L1Road ~ NS
26+ Rules += L1Road ~ WE | Road ~ WE & L1Onewayroad ~ NS | % | L1Road ~ WE & L1Onewayroad ~ NS
27+ Rules += L1Road ~ WE | Road ~ WE & L1Avenue ~ NS | % | L1Road ~ WE & L1Avenue ~ NS
28+ Rules += L1Road ~ WE & L1Avenue ~ NS | Road ~ WE & L1Avenue ~ SN | % | L1Road ~ WE & L1Avenue ~ SN
29+
30+ Rules += L1Onewayroad ~ WE | Onewayroad ~ WE & L1Road ~ NS | % | L1Onewayroad ~ WE & L1Road ~ NS
31+ Rules += L1Onewayroad ~ WE | Onewayroad ~ WE & L1Onewayroad ~ NS | % | L1Onewayroad ~ WE & L1Onewayroad ~ NS
32+ Rules += L1Onewayroad ~ WE | Onewayroad ~ WE & L1Avenue ~ NS | % | L1Onewayroad ~ WE & L1Avenue ~ NS
33+ Rules += L1Onewayroad ~ WE & L1Avenue ~ NS | Onewayroad ~ WE & L1Avenue ~ SN | % | L1Onewayroad ~ WE & L1Avenue ~ SN
34+
35+ Rules += L1Avenue ~ EW | Avenue ~ EW & L1Road ~ NS | % | L1Avenue ~ EW & L1Road ~ NS
36+ Rules += L1Avenue ~ EW | Avenue ~ EW & L1Onewayroad ~ NS | % | L1Avenue ~ EW & L1Onewayroad ~ NS
37+ Rules += L1Avenue ~ EW | Avenue ~ EW & L1Avenue ~ NS | % | L1Avenue ~ EW & L1Avenue ~ NS
38+ Rules += L1Avenue ~ EW & L1Avenue ~ NS | Avenue ~ EW & L1Avenue ~ SN | % | L1Avenue ~ WE & L1Avenue ~ SN
39+
40+ Rules += L1Road ~ WE | Road ~ WE & Road ~ NC | % | L1Road ~ WE & L1Road ~ NC
41+ Rules += L1Road ~ WE | Road ~ WE & Onewayroad ~ NC | % | L1Road ~ WE & L1Onewayroad ~ NC
42+ Rules += L1Road ~ WE | Road ~ WE & Avenue ~ NC | % | L1Road ~ WE & L1Avenue ~ NC
43+ Rules += L1Road ~ WE | Road ~ WC & Avenue ~ NS | % | L1Road ~ WC & L1Avenue ~ NS
44+ Rules += L1Road ~ WE & L1Avenue ~ NC | Road ~ WE & Avenue ~ CN | % | L1Road ~ WE & L1Avenue ~ CN
45+ Rules += L1Road ~ WE & L1Avenue ~ NS | Road ~ WC & Avenue ~ SN | % | L1Road ~ WC & L1Avenue ~ SN
46+ Rules += L1Road ~ WE & Avenue ~ NS | Road ~ WC & Avenue ~ SN | L1Road ~ WE & L1Avenue ~ NS | L1Road ~ WC & L1Avenue ~ SN
47+
48+ Rules += L1Onewayroad ~ WE | Onewayroad ~ WE & Road ~ NC | % | L1Onewayroad ~ WE & L1Road ~ NC
49+ Rules += L1Onewayroad ~ WE | Onewayroad ~ WE & Onewayroad ~ NC | % | L1Onewayroad ~ WE & L1Onewayroad ~ NC
50+ Rules += L1Onewayroad ~ WE | Onewayroad ~ WE & Avenue ~ NC | % | L1Onewayroad ~ WE & L1Avenue ~ NC
51+ Rules += L1Onewayroad ~ WE | Onewayroad ~ WC & Avenue ~ NS | % | L1Onewayroad ~ WC & L1Avenue ~ NS
52+ Rules += L1Onewayroad ~ WE & L1Avenue ~ NC | Onewayroad ~ WE & Avenue ~ CN | % | L1Onewayroad ~ WE & L1Avenue ~ CN
53+ Rules += L1Onewayroad ~ WE & L1Avenue ~ NS | Onewayroad ~ WC & Avenue ~ SN | % | L1Onewayroad ~ WC & L1Avenue ~ SN
54+ Rules += L1Onewayroad ~ WE & Avenue ~ NS | Onewayroad ~ WC & Avenue ~ SN | L1Onewayroad ~ WE & L1Avenue ~ NS | L1Onewayroad ~ WC & L1Avenue ~ SN
55+
56+ Rules += L1Avenue ~ EW | Avenue ~ EW & Road ~ NC | % | L1Avenue ~ EW & L1Road ~ NC
57+ Rules += L1Avenue ~ WE | Avenue ~ WE & Road ~ NC | % | L1Avenue ~ WE & L1Road ~ NC
58+ Rules += L1Avenue ~ EW | Avenue ~ EW & Onewayroad ~ NC | % | L1Avenue ~ EW & L1Onewayroad ~ NC
59+ Rules += L1Avenue ~ WE | Avenue ~ WE & Onewayroad ~ NC | % | L1Avenue ~ WE & L1Onewayroad ~ NC
60+ Rules += L1Avenue ~ WE | Avenue ~ WE & Avenue ~ NC | % | L1Avenue ~ WE & L1Avenue ~ NC
61+ Rules += L1Avenue ~ WE & L1Avenue ~ NC | Avenue ~ WE & Avenue ~ CN | % | L1Avenue ~ WE & L1Avenue ~ CN
62+ Rules += L1Avenue ~ NS & L1Road ~ WC | Avenue ~ SN | % | L1Avenue ~ SN
63+ Rules += L1Avenue ~ NS & L1Onewayroad ~ WC | Avenue ~ SN | % | L1Avenue ~ SN
64+
65+ Rules += L2Road ~ WE | Road ~ WE & L2Road ~ NS | % | L2Road ~ WE & L2Road ~ NS
66+ Rules += L2Road ~ WE | Road ~ WE & L2Onewayroad ~ NS | % | L2Road ~ WE & L2Onewayroad ~ NS
67+ Rules += L2Road ~ WE | Road ~ WE & L2Avenue ~ NS | % | L2Road ~ WE & L2Avenue ~ NS
68+ Rules += L2Road ~ WE & L2Avenue ~ NS | Road ~ WE & L2Avenue ~ SN | % | L2Road ~ WE & L2Avenue ~ SN
69+
70+ Rules += L2Onewayroad ~ WE | Onewayroad ~ WE & L2Road ~ NS | % | L2Onewayroad ~ WE & L2Road ~ NS
71+ Rules += L2Onewayroad ~ WE | Onewayroad ~ WE & L2Onewayroad ~ NS | % | L2Onewayroad ~ WE & L2Onewayroad ~ NS
72+ Rules += L2Onewayroad ~ WE | Onewayroad ~ WE & L2Avenue ~ NS | % | L2Onewayroad ~ WE & L2Avenue ~ NS
73+ Rules += L2Onewayroad ~ WE & L2Avenue ~ NS | Onewayroad ~ WE & L2Avenue ~ SN | % | L2Onewayroad ~ WE & L2Avenue ~ SN
74+
75+ Rules += L2Avenue ~ EW | Avenue ~ EW & L2Road ~ NS | % | L2Avenue ~ EW & L2Road ~ NS
76+ Rules += L2Avenue ~ EW | Avenue ~ EW & L2Onewayroad ~ NS | % | L2Avenue ~ EW & L2Onewayroad ~ NS
77+ Rules += L2Avenue ~ EW | Avenue ~ EW & L2Avenue ~ NS | % | L2Avenue ~ EW & L2Avenue ~ NS
78+ Rules += L2Avenue ~ EW & L2Avenue ~ NS | Avenue ~ EW & L2Avenue ~ SN | % | L2Avenue ~ WE & L2Avenue ~ SN
79+
80+ Rules += L2Road ~ WE | Road ~ WE & Road ~ NC | % | L2Road ~ WE & L2Road ~ NC
81+ Rules += L2Road ~ WE | Road ~ WE & Onewayroad ~ NC | % | L2Road ~ WE & L2Onewayroad ~ NC
82+ Rules += L2Road ~ WE | Road ~ WE & Avenue ~ NC | % | L2Road ~ WE & L2Avenue ~ NC
83+ Rules += L2Road ~ WE | Road ~ WC & Avenue ~ NS | % | L2Road ~ WC & L2Avenue ~ NS
84+ Rules += L2Road ~ WE & L2Avenue ~ NC | Road ~ WE & Avenue ~ CN | % | L2Road ~ WE & L2Avenue ~ CN
85+ Rules += L2Road ~ WE & L2Avenue ~ NS | Road ~ WC & Avenue ~ SN | % | L2Road ~ WC & L2Avenue ~ SN
86+ Rules += L2Road ~ WE & Avenue ~ NS | Road ~ WC & Avenue ~ SN | L2Road ~ WE & L2Avenue ~ NS | L2Road ~ WC & L2Avenue ~ SN
87+
88+ Rules += L2Onewayroad ~ WE | Onewayroad ~ WE & Road ~ NC | % | L2Onewayroad ~ WE & L2Road ~ NC
89+ Rules += L2Onewayroad ~ WE | Onewayroad ~ WE & Onewayroad ~ NC | % | L2Onewayroad ~ WE & L2Onewayroad ~ NC
90+ Rules += L2Onewayroad ~ WE | Onewayroad ~ WE & Avenue ~ NC | % | L2Onewayroad ~ WE & L2Avenue ~ NC
91+ Rules += L2Onewayroad ~ WE | Onewayroad ~ WC & Avenue ~ NS | % | L2Onewayroad ~ WC & L2Avenue ~ NS
92+ Rules += L2Onewayroad ~ WE & L2Avenue ~ NC | Onewayroad ~ WE & Avenue ~ CN | % | L2Onewayroad ~ WE & L2Avenue ~ CN
93+ Rules += L2Onewayroad ~ WE & L2Avenue ~ NS | Onewayroad ~ WC & Avenue ~ SN | % | L2Onewayroad ~ WC & L2Avenue ~ SN
94+ Rules += L2Onewayroad ~ WE & Avenue ~ NS | Onewayroad ~ WC & Avenue ~ SN | L2Onewayroad ~ WE & L2Avenue ~ NS | L2Onewayroad ~ WC & L2Avenue ~ SN
95+
96+ Rules += L2Avenue ~ EW | Avenue ~ EW & Road ~ NC | % | L2Avenue ~ EW & L2Road ~ NC
97+ Rules += L2Avenue ~ WE | Avenue ~ WE & Road ~ NC | % | L2Avenue ~ WE & L2Road ~ NC
98+ Rules += L2Avenue ~ EW | Avenue ~ EW & Onewayroad ~ NC | % | L2Avenue ~ EW & L2Onewayroad ~ NC
99+ Rules += L2Avenue ~ WE | Avenue ~ WE & Onewayroad ~ NC | % | L2Avenue ~ WE & L2Onewayroad ~ NC
100+ Rules += L2Avenue ~ WE | Avenue ~ WE & Avenue ~ NC | % | L2Avenue ~ WE & L2Avenue ~ NC
101+ Rules += L2Avenue ~ WE & L2Avenue ~ NC | Avenue ~ WE & Avenue ~ CN | % | L2Avenue ~ WE & L2Avenue ~ CN
102+ Rules += L2Avenue ~ NS & L2Road ~ WC | Avenue ~ SN | % | L2Avenue ~ SN
103+ Rules += L2Avenue ~ NS & L2Onewayroad ~ WC | Avenue ~ SN | % | L2Avenue ~ SN
104+
105+ // at-grade exit
106+
107+ Rules += L1Road ~ WE & L1Road ~ NS | Road ~ WE | % | L1Road ~ WE
108+ Rules += L1Road ~ WE & L1Road ~ NC | Road ~ WE | % | L1Road ~ WE
109+ Rules += L1Road ~ WE & L1Onewayroad ~ NS | Road ~ WE | % | L1Road ~ WE
110+ Rules += L1Road ~ WE & L1Onewayroad ~ NC | Road ~ WE | % | L1Road ~ WE
111+ Rules += L1Road ~ WE & L1Avenue ~ SN | Road ~ WE | % | L1Road ~ WE
112+ Rules += L1Road ~ WE & L1Avenue ~ CN | Road ~ WE | % | L1Road ~ WE
113+ Rules += L1Road ~ CE & L1Road ~ NS | Road ~ WE | % | L1Road ~ WE
114+ Rules += L1Road ~ CE & L1Onewayroad ~ NS | Road ~ WE | % | L1Road ~ WE
115+ Rules += L1Road ~ CE & L1Avenue ~ NS | Road ~ WE | % | L1Road ~ WE
116+
117+ Rules += L1Onewayroad ~ WE & L1Road ~ NS | Onewayroad ~ WE | % | L1Onewayroad ~ WE
118+ Rules += L1Onewayroad ~ WE & L1Road ~ NC | Onewayroad ~ WE | % | L1Onewayroad ~ WE
119+ Rules += L1Onewayroad ~ WE & L1Onewayroad ~ NS | Onewayroad ~ WE | % | L1Onewayroad ~ WE
120+ Rules += L1Onewayroad ~ WE & L1Onewayroad ~ NC | Onewayroad ~ WE | % | L1Onewayroad ~ WE
121+ Rules += L1Onewayroad ~ WE & L1Avenue ~ SN | Onewayroad ~ WE | % | L1Onewayroad ~ WE
122+ Rules += L1Onewayroad ~ WE & L1Avenue ~ CN | Onewayroad ~ WE | % | L1Onewayroad ~ WE
123+ Rules += L1Onewayroad ~ CE & L1Road ~ NS | Onewayroad ~ WE | % | L1Onewayroad ~ WE
124+ Rules += L1Onewayroad ~ CE & L1Onewayroad ~ NS | Onewayroad ~ WE | % | L1Onewayroad ~ WE
125+ Rules += L1Onewayroad ~ CE & L1Avenue ~ NS | Onewayroad ~ WE | % | L1Onewayroad ~ WE
126+
127+ Rules += L1Avenue ~ EW & L1Road ~ NS | Avenue ~ EW | % | L1Avenue ~ EW
128+ Rules += L1Avenue ~ EW & L1Road ~ NC | Avenue ~ EW | % | L1Avenue ~ EW
129+ Rules += L1Avenue ~ WE & L1Road ~ NC | Avenue ~ WE | % | L1Avenue ~ WE
130+ Rules += L1Avenue ~ EW & L1Onewayroad ~ NS | Avenue ~ EW | % | L1Avenue ~ EW
131+ Rules += L1Avenue ~ EW & L1Onewayroad ~ NC | Avenue ~ EW | % | L1Avenue ~ EW
132+ Rules += L1Avenue ~ WE & L1Onewayroad ~ NC | Avenue ~ WE | % | L1Avenue ~ WE
133+ Rules += L1Avenue ~ EW & L1Avenue ~ SN | Avenue ~ EW | % | L1Avenue ~ EW
134+ Rules += L1Avenue ~ WE & L1Avenue ~ CN | Avenue ~ WE | % | L1Avenue ~ WE
135+ Rules += L1Avenue ~ EC & L1Road ~ NS | Avenue ~ EW | % | L1Avenue ~ EW
136+ Rules += L1Avenue ~ CE & L1Road ~ NS | Avenue ~ WE | % | L1Avenue ~ WE
137+ Rules += L1Avenue ~ EC & L1Onewayroad ~ NS | Avenue ~ EW | % | L1Avenue ~ EW
138+ Rules += L1Avenue ~ CE & L1Onewayroad ~ NS | Avenue ~ WE | % | L1Avenue ~ WE
139+
140+ Rules += L2Road ~ WE & L2Road ~ NS | Road ~ WE | % | L2Road ~ WE
141+ Rules += L2Road ~ WE & L2Road ~ NC | Road ~ WE | % | L2Road ~ WE
142+ Rules += L2Road ~ WE & L2Onewayroad ~ NS | Road ~ WE | % | L2Road ~ WE
143+ Rules += L2Road ~ WE & L2Onewayroad ~ NC | Road ~ WE | % | L2Road ~ WE
144+ Rules += L2Road ~ WE & L2Avenue ~ SN | Road ~ WE | % | L2Road ~ WE
145+ Rules += L2Road ~ WE & L2Avenue ~ CN | Road ~ WE | % | L2Road ~ WE
146+ Rules += L2Road ~ CE & L2Road ~ NS | Road ~ WE | % | L2Road ~ WE
147+ Rules += L2Road ~ CE & L2Onewayroad ~ NS | Road ~ WE | % | L2Road ~ WE
148+ Rules += L2Road ~ CE & L2Avenue ~ NS | Road ~ WE | % | L2Road ~ WE
149+
150+ Rules += L2Onewayroad ~ WE & L2Road ~ NS | Onewayroad ~ WE | % | L2Onewayroad ~ WE
151+ Rules += L2Onewayroad ~ WE & L2Road ~ NC | Onewayroad ~ WE | % | L2Onewayroad ~ WE
152+ Rules += L2Onewayroad ~ WE & L2Onewayroad ~ NS | Onewayroad ~ WE | % | L2Onewayroad ~ WE
153+ Rules += L2Onewayroad ~ WE & L2Onewayroad ~ NC | Onewayroad ~ WE | % | L2Onewayroad ~ WE
154+ Rules += L2Onewayroad ~ WE & L2Avenue ~ SN | Onewayroad ~ WE | % | L2Onewayroad ~ WE
155+ Rules += L2Onewayroad ~ WE & L2Avenue ~ CN | Onewayroad ~ WE | % | L2Onewayroad ~ WE
156+ Rules += L2Onewayroad ~ CE & L2Road ~ NS | Onewayroad ~ WE | % | L2Onewayroad ~ WE
157+ Rules += L2Onewayroad ~ CE & L2Onewayroad ~ NS | Onewayroad ~ WE | % | L2Onewayroad ~ WE
158+ Rules += L2Onewayroad ~ CE & L2Avenue ~ NS | Onewayroad ~ WE | % | L2Onewayroad ~ WE
159+
160+ Rules += L2Avenue ~ EW & L2Road ~ NS | Avenue ~ EW | % | L2Avenue ~ EW
161+ Rules += L2Avenue ~ EW & L2Road ~ NC | Avenue ~ EW | % | L2Avenue ~ EW
162+ Rules += L2Avenue ~ WE & L2Road ~ NC | Avenue ~ WE | % | L2Avenue ~ WE
163+ Rules += L2Avenue ~ EW & L2Onewayroad ~ NS | Avenue ~ EW | % | L2Avenue ~ EW
164+ Rules += L2Avenue ~ EW & L2Onewayroad ~ NC | Avenue ~ EW | % | L2Avenue ~ EW
165+ Rules += L2Avenue ~ WE & L2Onewayroad ~ NC | Avenue ~ WE | % | L2Avenue ~ WE
166+ Rules += L2Avenue ~ EW & L2Avenue ~ SN | Avenue ~ EW | % | L2Avenue ~ EW
167+ Rules += L2Avenue ~ WE & L2Avenue ~ CN | Avenue ~ WE | % | L2Avenue ~ WE
168+ Rules += L2Avenue ~ EC & L2Road ~ NS | Avenue ~ EW | % | L2Avenue ~ EW
169+ Rules += L2Avenue ~ CE & L2Road ~ NS | Avenue ~ WE | % | L2Avenue ~ WE
170+ Rules += L2Avenue ~ EC & L2Onewayroad ~ NS | Avenue ~ EW | % | L2Avenue ~ EW
171+ Rules += L2Avenue ~ CE & L2Onewayroad ~ NS | Avenue ~ WE | % | L2Avenue ~ WE
24172 }
25173 }
26174}
@@ -29,5 +177,6 @@ class ViaductRuleGenerator(var context: RuleTransducer.Context) extends RuleGene
29177object CompileViaductCode extends AbstractMain {
30178 lazy val resolve : IdResolver = new MiscResolver orElse new RealRailwayResolver orElse new RhwResolver orElse new NwmResolver orElse new ViaductResolver
31179 val generator = new ViaductRuleGenerator (_)
32- lazy val file = new java.io.File (" target/ViaductMetaGenerated_MANAGED.txt" )
180+ // lazy val file = new java.io.File("target/ViaductMetaGenerated_MANAGED.txt")
181+ lazy val file = new java.io.File (" Controller/RUL2/06_Road_Viaducts/ViaductMetaGenerated_MANAGED.txt" )
33182}
0 commit comments