@@ -30,7 +30,7 @@ trait CrossingGenerator extends Adjacencies { this: RuleGenerator =>
3030 Rules += main~ WE ~ EW | (base ~> main)~ WE ~ EW & orient(minor~ ES ) // OxD
3131 Rules += main~ SE ~ ES | (base ~> main)~ WN ~ NW & orient(minor~ NS ) // DxO
3232 Rules += main~ SE ~ ES | (base ~> main)~ WN ~ NW & orient(minor~ NE ) // DxD
33- if (main.isNwm) withResolvableRulesOnly { // T intersections are not defined for all network combinations
33+ if (main.isNwm || main.isRhw ) withResolvableRulesOnly { // T intersections are not defined for all network combinations
3434 Rules += main~ WE ~ EW | (base ~> main)~ WE ~ EW & orient(minor~ CS ) // OxO T 1
3535 Rules += main~ WE ~ EW | (base ~> main)~ WE ~ EW & orient(minor~ NC ) // OxO T 2
3636 Rules += main~ WE ~ EW | (base ~> main)~ WC ~ CW & orient(minor~ NS ) // OxO T End
@@ -68,6 +68,9 @@ trait CrossingGenerator extends Adjacencies { this: RuleGenerator =>
6868 Rules += main~ CEN ~ NEC & minor~ SE ~ ES | base~ SW ~ WS | main~ CEN ~ NEC & minor~ SE ~ ES | main~ CSW ~ WSC & minor~ SW ~ WS // DxD T End 2 Alt 3
6969 }
7070 if (minor == Avenue ) {
71+ Rules += main~ WE ~ EW & minor~ NS | (base ~> main)~ WC ~ CW & orient(minor~ SN ) // OxO-End Long T
72+ Rules += main~ WE ~ EW & minor~ NC | (base ~> main)~ WE ~ EW & minor~ CN // OxO Thru T 1
73+ // Rules += main~WE~EW & minor~CS | (base ~> main)~WE~EW & minor~SC // OxO Thru T 2
7174 Rules += main~ WE ~ EW | (base ~> main)~ WE ~ EW & minor~ (0 ,0 ,3 ,0 ) // OxD T 1
7275 Rules += main~ WE ~ EW | (base ~> main)~ WE ~ EW & minor~ (1 ,0 ,0 ,0 ) // OxD T 3
7376 Rules += main~ WE ~ EW & minor~ (0 ,0 ,3 ,0 ) | (base ~> main)~ WE ~ EW & minor~ (0 ,0 ,3 ,1 ) // OxD T 1-2
@@ -118,13 +121,19 @@ trait CrossingGenerator extends Adjacencies { this: RuleGenerator =>
118121 Rules += main~ WC ~ CW & minor~ ES | (base ~> main)~ WC ~ CW & minor~ SharedDiagRight // OxD T End-Short 2
119122 Rules += main~ WE ~ EW & minor~ ES | (base ~> main)~ WC ~ CW & minor~ SharedDiagRight // OxD T End-Short 2 Alt
120123 Rules += main~ WE ~ EW & minor~ SharedDiagRight | base~ WC ~ CW & minor~ WN | main~ WC ~ CW & minor~ SharedDiagRight | main~ WC ~ CW & minor~ WN // OxD T End-Long
124+ Rules += main~ WC ~ CW & minor~ SharedDiagRight | base~ WC ~ CW & minor~ WN | main~ WC ~ CW & minor~ SharedDiagRight | main~ WC ~ CW & minor~ WN // OxD T End-Long Stability 1
125+ Rules += main~ WE ~ EW & minor~ SharedDiagRight | main~ WC ~ CW & minor~ WN | main~ WC ~ CW & minor~ SharedDiagRight | main~ WC ~ CW & minor~ WN // OxD T End-Long Stability 2
126+
121127 Rules += main~ (0 ,0 ,11 ,3 ) | base~ WNC ~ CNW & minor~ NS ~ SN | main~ (0 ,0 ,11 ,3 ) | main~ WNC ~ CNW & minor~ NS ~ SN // DxO T End-Short 1
122128 Rules += main~ SW ~ WS | base~ WNC ~ CNW & minor~ NS ~ SN | main~ (0 ,0 ,11 ,3 ) | main~ WNC ~ CNW & minor~ NS ~ SN // DxO T End-Short 1 Alt
123129 Rules += main~ SE ~ ES & minor~ NS | (base ~> main)~ WNC ~ CNW & minor~ SN // DxO T End-Long 1
124130 Rules += main~ SEC ~ CES & minor~ EW | base~ WNC ~ CNW & minor~ EW | main~ SEC ~ CES & minor~ EW | main~ WNC ~ CNW & minor~ EW // DxO T End-Long 2
125131 Rules += main~ SE ~ ES & minor~ EW | base~ WNC ~ CNW & minor~ EW | main~ SEC ~ CES & minor~ EW | main~ WNC ~ CNW & minor~ EW // DxO T End-Long 2 Alt
126132 Rules += main~ SE ~ ES | (base ~> main)~ WNC ~ CNW & orient(minor~ EN ) // DxD T End-Short 1
133+ Rules += main~ SE ~ ES & minor~ NE | base~ WNC ~ CNW & minor~ SharedDiagLeft | % | main~ WNC ~ CNW & minor~ SharedDiagLeft // DxD to DxD Long T 1
127134 Rules += main~ SE ~ ES & minor~ SharedDiagLeft | base~ WNC ~ CNW & minor~ SW | main~ SEC ~ CES & minor~ SharedDiagLeft | main~ WNC ~ CNW & minor~ SW // DxD T End-Long
135+ Rules += main~ SEC ~ CES & minor~ SharedDiagLeft | base~ WNC ~ CNW & minor~ SW | main~ SEC ~ CES & minor~ SharedDiagLeft | main~ WNC ~ CNW & minor~ SW // DxD T End-Long Stability
136+ Rules += main~ SE ~ ES & minor~ SharedDiagLeft | main~ WNC ~ CNW & minor~ SW | main~ SEC ~ CES & minor~ SharedDiagLeft | main~ WNC ~ CNW & minor~ SW // DxD T End-Long Stability 2
128137 }
129138 }
130139 if (main.isNwm && minor.isNwmDual) withResolvableRulesOnly { // T intersections are not defined for all network combinations
@@ -160,7 +169,7 @@ trait CrossingGenerator extends Adjacencies { this: RuleGenerator =>
160169 Rules += main~ SE ~ ES & orient(minor~ SN ) | (base ~> main)~ WN ~ NW // DxO
161170 Rules += main~ SE ~ ES & orient(minor~ SW ) | (base ~> main)~ WN ~ NW // DxD
162171 // Shared diagonals on minor are not relevant here since the shared diagonal is an inner tile (i.e. without an edge).
163- if (main.isNwm) withResolvableRulesOnly { // T intersections are not defined for all network combinations
172+ if (main.isNwm || main.isRhw ) withResolvableRulesOnly { // T intersections are not defined for all network combinations
164173 Rules += main~ WE ~ EW & minor~ CS ~ SC | (base ~> main)~ WE ~ EW // OxO T 1
165174 Rules += main~ WE ~ EW & minor~ NC ~ CN | (base ~> main)~ WE ~ EW // OxO T 2
166175 Rules += main~ WE ~ EW & minor~ NEC ~ CEN | (base ~> main)~ WE ~ EW // OxD T 1
0 commit comments