diff --git a/godot/astream/road_lines.json b/godot/astream/road_lines.json index f2e71d0..5faa99f 100644 --- a/godot/astream/road_lines.json +++ b/godot/astream/road_lines.json @@ -1,101 +1,4 @@ { - "buildings20_buildings": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -680, 0.0198059, -100 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -785, 8.31412, -95 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -755, 0.107819, -200 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -490, 0.0527039, -205 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -495, 0.0210266, -100 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -630, 0.0289917, -100 )" - ], - "metadata": { - - }, - "lanes": -1, - "pattern": 1 - }, - "buildings19_buildings": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -855, 0.276337, -150 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -845, 0.673889, -200 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1065, 0.0338745, -200 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1075, 0.0210266, -105 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -870, 0.0210266, -105 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -865, 0.028595, -125 )" - ], - "metadata": { - - }, - "lanes": -1, - "pattern": 1 - }, - "valley11_valley": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -340, 0.0210266, -680 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -505, 0.0210266, -685 )" - ], - "metadata": { - - }, - "lanes": -1, - "pattern": 1 - }, - "buildings11_buildings": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -60, 0.0433655, -520 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -140, 0.0226135, -520 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -120, 0.0281372, -705 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 120, 0.0210266, -710 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 100, 0.0329285, -525 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 40, 0.0740356, -525 )" - ], - "metadata": { - - }, - "lanes": -1, - "pattern": 1 - }, - "valley2_valley": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 810, -0.00311279, -465 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 820, 0.0282593, -555 )" - ], - "metadata": { - - }, - "lanes": -1, - "pattern": 8 - }, - "buildings2_buildings": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 185, 0.0558167, -100 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 190, 0.0210266, -170 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 480, 0.0498047, -170 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 530, 0.0484009, -105 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 515, 0.108459, -60 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 585, 0.0576782, -60 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 655, -0.00164795, -280 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 525, 0.000213623, -275 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 435, 0.115662, -225 )" - ], - "metadata": { - - }, - "lanes": -1, - "pattern": 1 - }, - "road8_road": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -440, 0.0289001, -455 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -445, 0.0576782, -240 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -460, 0.0210266, -60 )" - ], - "metadata": { - - }, - "lanes": 4, - "pattern": -1 - }, "se_road1_road": { "points": [ "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -160, 0.0210266, -690 )", @@ -114,95 +17,128 @@ }, "lanes": 4, - "pattern": -1 - }, - "buildings21_buildings": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -260, 0.0683899, -90 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -290, 0.101044, -90 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -270, 0.0546265, -200 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -100, 0.0417786, -205 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -125, 0.0576782, -90 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -180, 0.0576782, -90 )" - ], - "metadata": { + "pattern": -1, + "buildings": [ - }, - "lanes": -1, - "pattern": 1 + ] }, - "valley12_valley": { + "road8_road": { "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -415, 0.0210266, -420 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -245, 0.0210266, -420 )" - ], - "metadata": { - - }, - "lanes": -1, - "pattern": 1 - }, - "buildings12_buildings": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -285, 0.0506592, -760 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -230, 0.0473022, -760 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -185, 0.0350037, -730 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -195, 0.0422974, -705 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -210, 0.049408, -530 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -220, 0.0210266, -280 )" - ], - "metadata": { - - }, - "lanes": -1, - "pattern": 1 - }, - "valley3_valley": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 705, 0.0576782, -610 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1180, 0.044342, -625 )" - ], - "metadata": { - - }, - "lanes": -1, - "pattern": 5 - }, - "buildings3_buildings": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 930, 0.00454712, -425 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 745, -0.00311279, -425 )" - ], - "metadata": { - - }, - "lanes": -1, - "pattern": 1 - }, - "road10_road": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 130, 0.065918, -495 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 135, 0.0513, -535 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 150, 0.0336304, -670 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 160, 0.0336304, -745 )" + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -440, 0.0289001, -455 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -445, 0.0576782, -240 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -460, 0.0210266, -60 )" ], "metadata": { }, "lanes": 4, - "pattern": -1 + "pattern": -1, + "buildings": [ + + ] }, - "road9_road": { + "buildings2_buildings": { "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 260, 0.0646362, -235 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 315, -0.00311279, -495 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -165, 0.0212097, -495 )" + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 185, 0.0558167, -100 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 190, 0.0210266, -170 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 480, 0.0498047, -170 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 530, 0.0484009, -105 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 515, 0.108459, -60 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 585, 0.0576782, -60 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 655, -0.00164795, -280 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 525, 0.000213623, -275 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 435, 0.115662, -225 )" ], "metadata": { }, - "lanes": 4, - "pattern": -1 + "lanes": -1, + "pattern": 1, + "buildings": [ + + ] + }, + "valley2_valley": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 810, -0.00311279, -465 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 820, 0.0282593, -555 )" + ], + "metadata": { + + }, + "lanes": -1, + "pattern": 8, + "buildings": [ + + ] + }, + "buildings11_buildings": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -60, 0.0433655, -520 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -140, 0.0226135, -520 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -120, 0.0281372, -705 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 120, 0.0210266, -710 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 100, 0.0329285, -525 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 40, 0.0740356, -525 )" + ], + "metadata": { + + }, + "lanes": -1, + "pattern": 1, + "buildings": [ + + ] + }, + "valley11_valley": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -340, 0.0210266, -680 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -505, 0.0210266, -685 )" + ], + "metadata": { + + }, + "lanes": -1, + "pattern": 1, + "buildings": [ + + ] + }, + "buildings19_buildings": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -855, 0.276337, -150 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -845, 0.673889, -200 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1065, 0.0338745, -200 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1075, 0.0210266, -105 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -870, 0.0210266, -105 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -865, 0.028595, -125 )" + ], + "metadata": { + + }, + "lanes": -1, + "pattern": 1, + "buildings": [ + + ] + }, + "buildings20_buildings": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -680, 0.0198059, -100 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -785, 8.31412, -95 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -755, 0.107819, -200 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -490, 0.0527039, -205 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -495, 0.0210266, -100 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -630, 0.0289917, -100 )" + ], + "metadata": { + + }, + "lanes": -1, + "pattern": 1, + "buildings": [ + + ] }, "gym_s_road": { "points": [ @@ -225,68 +161,163 @@ }, "lanes": 4, - "pattern": -1 + "pattern": -1, + "buildings": [ + + ] }, - "stores1_valley": { + "road9_road": { "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 785, -0.00311279, -335 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 900, -0.00311279, -340 )" + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 260, 0.0646362, -235 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 315, -0.00311279, -495 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -165, 0.0212097, -495 )" + ], + "metadata": { + + }, + "lanes": 4, + "pattern": -1, + "buildings": [ + + ] + }, + "road10_road": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 130, 0.065918, -495 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 135, 0.0513, -535 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 150, 0.0336304, -670 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 160, 0.0336304, -745 )" + ], + "metadata": { + + }, + "lanes": 4, + "pattern": -1, + "buildings": [ + + ] + }, + "buildings3_buildings": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 930, 0.00454712, -425 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 745, -0.00311279, -425 )" ], "metadata": { }, "lanes": -1, - "pattern": 12 + "pattern": 1, + "buildings": [ + + ] }, - "buildings22_buildings": { + "valley3_valley": { "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -425, 0.0364685, -90 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -415, 0.050415, -200 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -335, 0.0576782, -200 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -355, 0.0688782, -90 )" + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 705, 0.0576782, -610 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1180, 0.044342, -625 )" ], "metadata": { }, "lanes": -1, - "pattern": 1 + "pattern": 5, + "buildings": [ + + ] }, - "valley13_valley": { + "buildings12_buildings": { "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -415, 0.0437622, -315 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -255, 0.0210266, -310 )" + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -285, 0.0506592, -760 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -230, 0.0473022, -760 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -185, 0.0350037, -730 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -195, 0.0422974, -705 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -210, 0.049408, -530 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -220, 0.0210266, -280 )" ], "metadata": { }, "lanes": -1, - "pattern": 1 + "pattern": 1, + "buildings": [ + + ] }, - "buildings13_buildings": { + "valley12_valley": { "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -735, 0.0133362, -375 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -600, 0.133057, -375 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -550, 0.18454, -405 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -485, 0.098175, -405 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -485, 0.0665283, -280 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -755, 0.0529175, -275 )" + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -415, 0.0210266, -420 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -245, 0.0210266, -420 )" ], "metadata": { }, "lanes": -1, - "pattern": 2 + "pattern": 1, + "buildings": [ + + ] }, - "valley4_valley": { + "buildings21_buildings": { "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 580, -0.00311279, -445 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 575, -0.00311279, -365 )" + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -260, 0.0683899, -90 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -290, 0.101044, -90 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -270, 0.0546265, -200 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -100, 0.0417786, -205 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -125, 0.0576782, -90 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -180, 0.0576782, -90 )" ], "metadata": { }, "lanes": -1, - "pattern": 1 + "pattern": 1, + "buildings": [ + + ] + }, + "road_to_townhall_road": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -445, 0.0576782, -240 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -295, 0.0398254, -235 )" + ], + "metadata": { + + }, + "lanes": 4, + "pattern": -1, + "buildings": [ + + ] + }, + "road2_road": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -565, 0.0210266, -560 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -740, 0.036499, -560 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -765, 0.0166321, -410 )" + ], + "metadata": { + + }, + "lanes": 4, + "pattern": -1, + "buildings": [ + + ] + }, + "road11_road": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 315, -0.00311279, -495 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 495, -0.00311279, -460 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 685, -0.00311279, -455 )" + ], + "metadata": { + + }, + "lanes": 4, + "pattern": -1, + "buildings": [ + + ] }, "buildings4_buildings": { "points": [ @@ -302,123 +333,120 @@ }, "lanes": -1, - "pattern": 1 + "pattern": 1, + "buildings": [ + + ] }, - "road11_road": { + "valley4_valley": { "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 315, -0.00311279, -495 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 495, -0.00311279, -460 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 685, -0.00311279, -455 )" + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 580, -0.00311279, -445 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 575, -0.00311279, -365 )" ], "metadata": { }, - "lanes": 4, - "pattern": -1 + "lanes": -1, + "pattern": 1, + "buildings": [ + + ] }, - "road2_road": { + "buildings13_buildings": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -735, 0.0133362, -375 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -600, 0.133057, -375 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -550, 0.18454, -405 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -485, 0.098175, -405 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -485, 0.0665283, -280 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -755, 0.0529175, -275 )" + ], + "metadata": { + + }, + "lanes": -1, + "pattern": 2, + "buildings": [ + + ] + }, + "valley13_valley": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -415, 0.0437622, -315 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -255, 0.0210266, -310 )" + ], + "metadata": { + + }, + "lanes": -1, + "pattern": 1, + "buildings": [ + + ] + }, + "buildings22_buildings": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -425, 0.0364685, -90 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -415, 0.050415, -200 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -335, 0.0576782, -200 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -355, 0.0688782, -90 )" + ], + "metadata": { + + }, + "lanes": -1, + "pattern": 1, + "buildings": [ + + ] + }, + "stores1_valley": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 785, -0.00311279, -335 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 900, -0.00311279, -340 )" + ], + "metadata": { + + }, + "lanes": -1, + "pattern": 12, + "buildings": [ + + ] + }, + "townhall_road": { "points": [ "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -565, 0.0210266, -560 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -740, 0.036499, -560 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -765, 0.0166321, -410 )" + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -430, 0.0326538, -560 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -435, 0.0522156, -505 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -440, 0.0257263, -450 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -565, 0.0220337, -450 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -565, 0.0210266, -560 )" ], "metadata": { }, "lanes": 4, - "pattern": -1 + "pattern": -1, + "buildings": [ + + ] }, - "road_to_townhall_road": { + "problem_road": { "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -445, 0.0576782, -240 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -295, 0.0398254, -235 )" + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -105, 0.0576782, -55 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -15, 0.0326843, -50 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 220, 0.0576782, -45 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 235, 0.0327759, -130 )" ], "metadata": { }, "lanes": 4, - "pattern": -1 - }, - "buildings23_buildings": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1355, 0.000366211, -600 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1305, 0.000946045, -600 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1315, 0.111786, -680 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1500, 0.0631714, -690 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1470, 0.0133362, -590 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1425, 0.0300598, -595 )" - ], - "metadata": { + "pattern": -1, + "buildings": [ - }, - "lanes": -1, - "pattern": 1 - }, - "building17_buildings": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -730, 0.00857544, -435 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -710, 0.020752, -530 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -595, 0.0210266, -530 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -600, 0.00527954, -465 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -630, -0.00311279, -440 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -695, 0.000854492, -440 )" - ], - "metadata": { - - }, - "lanes": -1, - "pattern": 1 - }, - "buildings14_buildings": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -280, 0.0546265, -720 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -295, 0.0479431, -565 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -395, 0.0422974, -515 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -395, 0.0332642, -485 )" - ], - "metadata": { - - }, - "lanes": -1, - "pattern": 1 - }, - "valley5_valley": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 385, -0.00311279, -470 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 375, 0.0210266, -380 )" - ], - "metadata": { - - }, - "lanes": -1, - "pattern": 2 - }, - "buildings5_buildings": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1170, 0.0550842, -410 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1050, -0.00750732, -405 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1035, -0.00311279, -275 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 950, -0.00311279, -180 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 885, -0.00311279, -150 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 885, -0.00213623, -40 )" - ], - "metadata": { - - }, - "lanes": -1, - "pattern": 1 - }, - "road12_road": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1015, 0.0195007, -435 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1180, 0.0576782, -440 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1265, -0.00311279, -570 )" - ], - "metadata": { - - }, - "lanes": 4, - "pattern": -1 + ] }, "road3_road": { "points": [ @@ -434,35 +462,249 @@ }, "lanes": 4, - "pattern": -1 + "pattern": -1, + "buildings": [ + + ] }, - "problem_road": { + "road12_road": { "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -105, 0.0576782, -55 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -15, 0.0326843, -50 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 220, 0.0576782, -45 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 235, 0.0327759, -130 )" + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1015, 0.0195007, -435 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1180, 0.0576782, -440 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1265, -0.00311279, -570 )" ], "metadata": { }, "lanes": 4, - "pattern": -1 + "pattern": -1, + "buildings": [ + + ] }, - "townhall_road": { + "buildings5_buildings": { "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -565, 0.0210266, -560 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -430, 0.0326538, -560 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -435, 0.0522156, -505 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -440, 0.0257263, -450 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -565, 0.0220337, -450 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -565, 0.0210266, -560 )" + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1170, 0.0550842, -410 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1050, -0.00750732, -405 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1035, -0.00311279, -275 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 950, -0.00311279, -180 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 885, -0.00311279, -150 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 885, -0.00213623, -40 )" + ], + "metadata": { + + }, + "lanes": -1, + "pattern": 1, + "buildings": [ + + ] + }, + "valley5_valley": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 385, -0.00311279, -470 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 375, 0.0210266, -380 )" + ], + "metadata": { + + }, + "lanes": -1, + "pattern": 2, + "buildings": [ + + ] + }, + "buildings14_buildings": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -280, 0.0546265, -720 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -295, 0.0479431, -565 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -395, 0.0422974, -515 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -395, 0.0332642, -485 )" + ], + "metadata": { + + }, + "lanes": -1, + "pattern": 1, + "buildings": [ + + ] + }, + "building17_buildings": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -730, 0.00857544, -435 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -710, 0.020752, -530 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -595, 0.0210266, -530 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -600, 0.00527954, -465 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -630, -0.00311279, -440 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -695, 0.000854492, -440 )" + ], + "metadata": { + + }, + "lanes": -1, + "pattern": 1, + "buildings": [ + + ] + }, + "buildings23_buildings": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1355, 0.000366211, -600 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1305, 0.000946045, -600 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1315, 0.111786, -680 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1500, 0.0631714, -690 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1470, 0.0133362, -590 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1425, 0.0300598, -595 )" + ], + "metadata": { + + }, + "lanes": -1, + "pattern": 1, + "buildings": [ + + ] + }, + "home_n_e_turn_road": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 955, 0.0157776, -455 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 685, -0.00311279, -455 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 705, 0.0576782, -780 )" ], "metadata": { }, "lanes": 4, - "pattern": -1 + "pattern": -1, + "buildings": [ + + ] + }, + "office_east_west_road": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -160, 0.0210266, -690 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -145, 0.0210266, -745 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 60, 0.0336304, -750 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 160, 0.0336304, -745 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 320, 0.0210266, -745 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 420, 0.0210266, -745 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 535, 0.0576782, -755 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 590, 0.0620117, -770 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 655, 0.0576782, -775 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 705, 0.0576782, -775 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 785, 0.0917664, -760 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 840, 0.0917664, -755 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 970, 0.0394287, -750 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1180, 0.0576782, -750 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1250, 0.0617371, -715 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1400, 0.0576782, -720 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1485, 0.0618896, -725 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1555, 0.156403, -730 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1530, 0.0579224, -675 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1510, 0.0259705, -625 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1500, -0.000610352, -585 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1485, -0.00488281, -560 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1430, 0.000213623, -565 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1335, -0.00488281, -570 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1265, -0.00311279, -570 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1270, 0.0128479, -610 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1275, 0.109192, -660 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1285, 0.0953369, -715 )" + ], + "metadata": { + + }, + "lanes": 4, + "pattern": -1, + "buildings": [ + + ] + }, + "west_road2_road": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -145, 0.0210266, -745 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -210, 0.0210266, -810 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -320, 0.0359802, -805 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -320, 0.0276794, -770 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -325, 0.022644, -675 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -335, 0.0217896, -585 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -385, 0.0349121, -560 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -430, 0.0326538, -560 )" + ], + "metadata": { + + }, + "lanes": 4, + "pattern": -1, + "buildings": [ + + ] + }, + "road13_road": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -835, 0.0421448, -60 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -790, 0.0576782, -245 )" + ], + "metadata": { + + }, + "lanes": 4, + "pattern": -1, + "buildings": [ + + ] + }, + "buildings6_buildings": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 895, -0.00311279, -490 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 970, 0.010376, -490 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1025, 0.0142517, -470 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1160, 0.0473938, -475 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1225, -0.00311279, -575 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1235, 0.0586243, -675 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1160, 0.0670166, -715 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 965, 0.022644, -710 )" + ], + "metadata": { + + }, + "lanes": -1, + "pattern": 4, + "buildings": [ + + ] + }, + "valley6_valley": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 365, 0.296539, -615 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 215, 2.60303, -610 )" + ], + "metadata": { + + }, + "lanes": -1, + "pattern": 5, + "buildings": [ + + ] + }, + "buildings15_buildings": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -360, 0.0210266, -610 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -395, 0.0357666, -595 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -535, 0.0215149, -595 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -535, 0.0233459, -770 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -340, 0.0224304, -770 )" + ], + "metadata": { + + }, + "lanes": -1, + "pattern": 1, + "buildings": [ + + ] }, "buildings24_buildings": { "points": [ @@ -504,141 +746,98 @@ }, "lanes": -1, - "pattern": 1 + "pattern": 1, + "buildings": [ + + ] }, - "buildings15_buildings": { + "west_road": { "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -360, 0.0210266, -610 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -395, 0.0357666, -595 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -535, 0.0215149, -595 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -535, 0.0233459, -770 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -340, 0.0224304, -770 )" + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -565, 0.0220337, -450 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -615, 0.0393372, -415 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -765, 0.0166321, -410 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -895, 0.0210266, -415 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -975, 0.0210266, -400 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1145, 0.0410156, -400 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1165, 0.0728149, -380 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1180, 0.0917664, -305 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1160, 0.0531311, -255 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1105, 0.0210266, -240 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -840, 0.311951, -240 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -790, 0.0579224, -240 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -775, 0.0409851, -335 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -770, 0.0252686, -375 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -765, 0.0166321, -410 )" ], "metadata": { }, - "lanes": -1, - "pattern": 1 - }, - "valley6_valley": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 365, 0.296539, -615 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 215, 2.60303, -610 )" - ], - "metadata": { + "lanes": 4, + "pattern": -1, + "buildings": [ - }, - "lanes": -1, - "pattern": 5 + ] }, - "buildings6_buildings": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 895, -0.00311279, -490 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 970, 0.010376, -490 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1025, 0.0142517, -470 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1160, 0.0473938, -475 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1225, -0.00311279, -575 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1235, 0.0586243, -675 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1160, 0.0670166, -715 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 965, 0.022644, -710 )" - ], - "metadata": { - - }, - "lanes": -1, - "pattern": 4 - }, - "road13_road": { + "center2_road": { "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1110, 0.0210266, -245 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1125, -0.293396, -60 )", "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -835, 0.0421448, -60 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -790, 0.0576782, -245 )" + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -330, 0.0576782, -60 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -105, 0.0576782, -55 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -65, 0.00714111, -240 )" ], "metadata": { }, "lanes": 4, - "pattern": -1 + "pattern": -1, + "buildings": [ + + ] }, - "west_road2_road": { + "road5_road": { "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -145, 0.0210266, -745 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -210, 0.0210266, -810 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -320, 0.0359802, -805 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -320, 0.0276794, -770 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -325, 0.022644, -675 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -335, 0.0217896, -585 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -385, 0.0349121, -560 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -430, 0.0326538, -560 )" + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -565, 0.0210266, -560 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -565, 0.0271606, -805 )" ], "metadata": { }, "lanes": 4, - "pattern": -1 - }, - "office_east_west_road": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -160, 0.0210266, -690 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -145, 0.0210266, -745 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 60, 0.0336304, -750 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 160, 0.0336304, -745 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 320, 0.0210266, -745 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 420, 0.0210266, -745 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 535, 0.0576782, -755 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 590, 0.0620117, -770 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 655, 0.0576782, -775 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 705, 0.0576782, -775 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 785, 0.0917664, -760 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 840, 0.0917664, -755 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 970, 0.0394287, -750 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1180, 0.0576782, -750 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1250, 0.0617371, -715 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1400, 0.0576782, -720 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1485, 0.0618896, -725 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1555, 0.156403, -730 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1530, 0.0579224, -675 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1510, 0.0259705, -625 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1500, -0.000610352, -585 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1485, -0.00488281, -560 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1430, 0.000213623, -565 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1335, -0.00488281, -570 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1265, -0.00311279, -570 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1270, 0.0128479, -610 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1275, 0.109192, -660 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1285, 0.0953369, -715 )" - ], - "metadata": { + "pattern": -1, + "buildings": [ - }, - "lanes": 4, - "pattern": -1 + ] }, - "home_n_e_turn_road": { + "buildings7_buildings": { "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 955, 0.0157776, -455 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 685, -0.00311279, -455 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 705, 0.0576782, -780 )" - ], - "metadata": { - - }, - "lanes": 4, - "pattern": -1 - }, - "buildings16_buildings": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -680, 0.0210266, -590 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -705, 0.0210266, -590 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -680, 0.0210266, -765 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -600, 0.0210266, -765 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -600, 0.0210266, -595 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -635, 0.0210266, -595 )" + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 945, 0.0362244, -710 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 760, 0.0576782, -720 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 750, 0.0576782, -670 )" ], "metadata": { }, "lanes": -1, - "pattern": 1 + "pattern": 4, + "buildings": [ + + ] + }, + "valley7_valley": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 405, 0.764557, -615 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 620, 0.819092, -625 )" + ], + "metadata": { + + }, + "lanes": -1, + "pattern": 4, + "buildings": [ + + ] }, "poles1_power": { "points": [ @@ -682,91 +881,42 @@ }, "lanes": -1, - "pattern": -1 + "pattern": -1, + "buildings": [ + + ] }, - "valley7_valley": { + "buildings16_buildings": { "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 405, 0.764557, -615 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 620, 0.819092, -625 )" + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -680, 0.0210266, -590 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -705, 0.0210266, -590 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -680, 0.0210266, -765 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -600, 0.0210266, -765 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -600, 0.0210266, -595 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -635, 0.0210266, -595 )" ], "metadata": { }, "lanes": -1, - "pattern": 4 - }, - "buildings7_buildings": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 945, 0.0362244, -710 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 760, 0.0576782, -720 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 750, 0.0576782, -670 )" - ], - "metadata": { + "pattern": 1, + "buildings": [ - }, - "lanes": -1, - "pattern": 4 + ] }, - "road5_road": { + "road6_road": { "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -565, 0.0210266, -560 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -565, 0.0271606, -805 )" + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -450, 0.0576782, -240 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -790, 0.0579224, -240 )" ], "metadata": { }, "lanes": 4, - "pattern": -1 - }, - "center2_road": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1110, 0.0210266, -245 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1125, -0.293396, -60 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -835, 0.0421448, -60 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -330, 0.0576782, -60 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -105, 0.0576782, -55 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -65, 0.00714111, -240 )" - ], - "metadata": { + "pattern": -1, + "buildings": [ - }, - "lanes": 4, - "pattern": -1 - }, - "west_road": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -565, 0.0220337, -450 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -615, 0.0393372, -415 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -765, 0.0166321, -410 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -895, 0.0210266, -415 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -975, 0.0210266, -400 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1145, 0.0410156, -400 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1165, 0.0728149, -380 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1180, 0.0917664, -305 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1160, 0.0531311, -255 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1105, 0.0210266, -240 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -840, 0.311951, -240 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -790, 0.0579224, -240 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -775, 0.0409851, -335 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -770, 0.0252686, -375 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -765, 0.0166321, -410 )" - ], - "metadata": { - - }, - "lanes": 4, - "pattern": -1 - }, - "valley8_valley": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 135, 0.0490112, -230 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 130, 0.0366211, -155 )" - ], - "metadata": { - - }, - "lanes": -1, - "pattern": 1 + ] }, "buildings8_buildings": { "points": [ @@ -784,30 +934,329 @@ }, "lanes": -1, - "pattern": 1 + "pattern": 1, + "buildings": [ + + ] }, - "road6_road": { + "valley8_valley": { "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -450, 0.0576782, -240 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -790, 0.0579224, -240 )" + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 135, 0.0490112, -230 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 130, 0.0366211, -155 )" + ], + "metadata": { + + }, + "lanes": -1, + "pattern": 1, + "buildings": [ + + ] + }, + "road7_road": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -330, 0.0576782, -60 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -295, 0.0375366, -240 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -180, 0.0252991, -240 )" ], "metadata": { }, "lanes": 4, - "pattern": -1 + "pattern": -1, + "buildings": [ + + ] }, - "test1a_buildings": { + "valley1_valley": { "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -72, 0.057373, -76 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -66, 0.057373, -106 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -60, 0.057373, -130 )" + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0.0252991, -60 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0.0503235, -235 )" ], "metadata": { - "depth": 16 + }, "lanes": -1, - "pattern": 0 + "pattern": 7, + "buildings": [ + + ] + }, + "buildings1_buildings": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 210, 0.0576782, -75 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 70, 0.0210266, -75 )" + ], + "metadata": { + + }, + "lanes": -1, + "pattern": 1, + "buildings": [ + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 192.51, 0.0385437, -75 )", + "line_offset": 17.490011, + "normal_offset": -0, + "y_rotation": 0 + }, + { + "building_key": "Transform( 1, 0, 9.53674e-07, 0, 1, 0, -9.53674e-07, 0, 1, 147.621, 0.0346222, -75 )", + "line_offset": 62.379005, + "normal_offset": -0, + "y_rotation": 0.000001 + }, + { + "building_key": "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 112.609, 0.0179977, -75 )", + "line_offset": 97.391006, + "normal_offset": -0, + "y_rotation": 0 + } + ] + }, + "buildings9_buildings": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 330, 0.0210266, -390 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 300, 0.0212402, -275 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 370, 0.0289917, -275 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 495, -0.00311279, -360 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 540, -0.00311279, -360 )" + ], + "metadata": { + + }, + "lanes": -1, + "pattern": 1, + "buildings": [ + { + "building_key": "Transform( 0.252425, 0, 0.967616, 0, 1, 0, -0.967616, 0, 0.252425, 325.572, 0.0140915, -373.025 )", + "line_offset": 17.543036, + "normal_offset": -0, + "y_rotation": 1.315611 + }, + { + "building_key": "Transform( 0.252425, 0, 0.967616, 0, 1, 0, -0.967616, 0, 0.252425, 314.233, 0.0113754, -329.558 )", + "line_offset": 62.464645, + "normal_offset": -0, + "y_rotation": 1.315611 + }, + { + "building_key": "Transform( 0.252422, 0, 0.967617, 0, 1, 0, -0.967617, 0, 0.252422, 305.37, 0.0140915, -295.584 )", + "line_offset": 97.575691, + "normal_offset": -0, + "y_rotation": 1.315614 + }, + { + "building_key": "Transform( -0.826927, 0, -0.56231, 0, 1, 0, 0.56231, 0, -0.826927, 386.071, 0.0181885, -285.928 )", + "line_offset": 208.283112, + "normal_offset": 0, + "y_rotation": -2.544416 + }, + { + "building_key": "Transform( -0.826926, 0, -0.562311, 0, 1, 0, 0.562311, 0, -0.826926, 414.911, 0.0102997, -305.54 )", + "line_offset": 243.159698, + "normal_offset": 0, + "y_rotation": -2.544415 + }, + { + "building_key": "Transform( -0.826925, 0, -0.562312, 0, 1, 0, 0.562312, 0, -0.826925, 456, -0.00187683, -333.48 )", + "line_offset": 292.848206, + "normal_offset": 0, + "y_rotation": -2.544414 + }, + { + "building_key": "Transform( -1, 0, 0, 0, 1, 0, 0, 0, -1, 512.826, -0.00187683, -360 )", + "line_offset": 357.836792, + "normal_offset": 0, + "y_rotation": 3.141593 + } + ] + }, + "valley9_valley": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -155, 0.0210266, -365 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 215, 0.198883, -360 )" + ], + "metadata": { + + }, + "lanes": -1, + "pattern": 1, + "buildings": [ + + ] + }, + "buildings10_buildings": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -150, 0.00857544, -280 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 225, -0.090271, -275 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 265, 0.000946045, -460 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -140, 0.0210266, -465 )" + ], + "metadata": { + + }, + "lanes": -1, + "pattern": 2, + "buildings": [ + { + "building_key": "Transform( -0.999911, 0, 0.0133308, 0, 1, 0, -0.0133308, 0, -0.999911, -132.505, 3.8147e-05, -279.767 )", + "line_offset": 17.496548, + "normal_offset": 0, + "y_rotation": 3.128262 + }, + { + "building_key": "Transform( -0.999911, 0, 0.0133325, 0, 1, 0, -0.0133325, 0, -0.999911, -87.5817, -0.00187683, -279.168 )", + "line_offset": 62.423843, + "normal_offset": 0, + "y_rotation": 3.12826 + }, + { + "building_key": "Transform( -0.999911, 0, 0.0133314, 0, 1, 0, -0.0133314, 0, -0.999911, -52.2412, 0.0127792, -278.697 )", + "line_offset": 97.767479, + "normal_offset": 0, + "y_rotation": 3.128261 + }, + { + "building_key": "Transform( -0.999911, 0, 0.0133351, 0, 1, 0, -0.0133351, 0, -0.999911, -1.69597, 0.0169067, -278.023 )", + "line_offset": 148.3172, + "normal_offset": 0, + "y_rotation": 3.128257 + }, + { + "building_key": "Transform( -0.999911, 0, 0.0133326, 0, 1, 0, -0.0133326, 0, -0.999911, 31.9662, 0.0140915, -277.574 )", + "line_offset": 181.982361, + "normal_offset": 0, + "y_rotation": 3.12826 + }, + { + "building_key": "Transform( -0.999911, 0, 0.0133316, 0, 1, 0, -0.0133316, 0, -0.999911, 80.3236, 0.019165, -276.929 )", + "line_offset": 230.34407, + "normal_offset": 0, + "y_rotation": 3.128261 + }, + { + "building_key": "Transform( -0.999911, 0, 0.0133311, 0, 1, 0, -0.0133311, 0, -0.999911, 115.211, 0.0228729, -276.464 )", + "line_offset": 265.234558, + "normal_offset": 0, + "y_rotation": 3.128261 + }, + { + "building_key": "Transform( -0.999911, 0, 0.0133318, 0, 1, 0, -0.0133318, 0, -0.999911, 164.491, 0.0140915, -275.807 )", + "line_offset": 314.518951, + "normal_offset": 0, + "y_rotation": 3.12826 + }, + { + "building_key": "Transform( -0.999911, 0, 0.0133307, 0, 1, 0, -0.0133307, 0, -0.999911, 199.246, -0.0331802, -275.343 )", + "line_offset": 349.277008, + "normal_offset": 0, + "y_rotation": 3.128262 + }, + { + "building_key": "Transform( -0.211332, 0, -0.977414, 0, 1, 0, 0.977414, 0, -0.211332, 236.48, -0.00166321, -328.096 )", + "line_offset": 429.356293, + "normal_offset": -0, + "y_rotation": -1.783734 + }, + { + "building_key": "Transform( -0.211333, 0, -0.977414, 0, 1, 0, 0.977414, 0, -0.211333, 247.081, -0.001297, -377.125 )", + "line_offset": 479.51825, + "normal_offset": -0, + "y_rotation": -1.783735 + }, + { + "building_key": "Transform( -0.211331, 0, -0.977414, 0, 1, 0, 0.977415, 0, -0.211331, 254.523, 0.0189209, -411.545 )", + "line_offset": 514.733582, + "normal_offset": -0, + "y_rotation": -1.783733 + }, + { + "building_key": "Transform( 0.999924, 0, -0.0123398, 0, 1, 0, 0.0123398, 0, 0.999924, 239.47, -0.000640869, -460.315 )", + "line_offset": 589.84021, + "normal_offset": -0, + "y_rotation": -0.01234 + }, + { + "building_key": "Transform( 0.999924, 0, -0.0123484, 0, 1, 0, 0.0123484, 0, 0.999924, 204.291, -0.00187683, -460.75 )", + "line_offset": 625.021912, + "normal_offset": -0, + "y_rotation": -0.012349 + }, + { + "building_key": "Transform( 0.999924, 0, -0.0123436, 0, 1, 0, 0.0123436, 0, 0.999924, 154.158, 0.0606918, -461.368 )", + "line_offset": 675.158752, + "normal_offset": -0, + "y_rotation": -0.012344 + }, + { + "building_key": "Transform( 0.999924, 0, -0.0123399, 0, 1, 0, 0.0123399, 0, 0.999924, 119.883, 0.0995483, -461.792 )", + "line_offset": 709.436401, + "normal_offset": -0, + "y_rotation": -0.01234 + }, + { + "building_key": "Transform( 0.999924, 0, -0.0123464, 0, 1, 0, 0.0123464, 0, 0.999924, 70.166, 0.114784, -462.405 )", + "line_offset": 759.157104, + "normal_offset": -0, + "y_rotation": -0.012347 + }, + { + "building_key": "Transform( 0.999924, 0, -0.0123453, 0, 1, 0, 0.0123453, 0, 0.999924, 34.9446, 0.165733, -462.84 )", + "line_offset": 794.381226, + "normal_offset": -0, + "y_rotation": -0.012346 + }, + { + "building_key": "Transform( 0.999924, 0, -0.0123454, 0, 1, 0, 0.0123454, 0, 0.999924, -14.3668, 0.0253067, -463.449 )", + "line_offset": 843.696411, + "normal_offset": -0, + "y_rotation": -0.012346 + }, + { + "building_key": "Transform( 0.999924, 0, -0.0123453, 0, 1, 0, 0.0123453, 0, 0.999924, -49.1236, 0.0152969, -463.878 )", + "line_offset": 878.455811, + "normal_offset": -0, + "y_rotation": -0.012346 + }, + { + "building_key": "Transform( 0.999924, 0, -0.012343, 0, 1, 0, 0.012343, 0, 0.999924, -99.1523, 0.0240707, -464.496 )", + "line_offset": 928.488342, + "normal_offset": -0, + "y_rotation": -0.012343 + } + ] + }, + "valley10_valley": { + "points": [ + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0.0307922, -510 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0.0269165, -680 )" + ], + "metadata": { + + }, + "lanes": -1, + "pattern": 12, + "buildings": [ + + ] }, "buildings18_buildings": { "points": [ @@ -825,89 +1274,359 @@ }, "lanes": -1, - "pattern": 1 + "pattern": 1, + "buildings": [ + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "", + "line_offset": 0, + "normal_offset": 0, + "y_rotation": 0 + }, + { + "building_key": "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -807.503, 0.0140915, -375 )", + "line_offset": 17.502991, + "normal_offset": -0, + "y_rotation": 0 + }, + { + "building_key": "Transform( 1, 0, 1.52588e-06, 0, 1, 0, -1.52588e-06, 0, 1, -852.561, 0.0140915, -375 )", + "line_offset": 62.560974, + "normal_offset": -0, + "y_rotation": 0.000002 + }, + { + "building_key": "Transform( 0.982871, 0, 0.184293, 0, 1, 0, -0.184293, 0, 0.982871, -917.236, 0.0146027, -370.831 )", + "line_offset": 127.623474, + "normal_offset": -0, + "y_rotation": 0.185353 + }, + { + "building_key": "Transform( 1, 0, 1.52588e-06, 0, 1, 0, -1.52588e-06, 0, 1, -996.222, 0.0140915, -360 )", + "line_offset": 207.616089, + "normal_offset": -0, + "y_rotation": 0.000002 + }, + { + "building_key": "Transform( 1, 0, 1.52588e-06, 0, 1, 0, -1.52588e-06, 0, 1, -1031.17, 0.0140915, -360 )", + "line_offset": 242.564148, + "normal_offset": -0, + "y_rotation": 0.000002 + }, + { + "building_key": "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1080.97, 0.0144806, -360 )", + "line_offset": 292.364075, + "normal_offset": -0, + "y_rotation": 0 + }, + { + "building_key": "Transform( 0.371391, 0, 0.928477, 0, 1, 0, -0.928477, 0, 0.371391, -1129.74, 0.0215302, -335.643 )", + "line_offset": 357.626343, + "normal_offset": 0, + "y_rotation": 1.19029 + }, + { + "building_key": "Transform( -1, 0, 1.52588e-06, 0, 1, 0, -1.52588e-06, 0, -1, -1078.2, 0.0140915, -280 )", + "line_offset": 467.89624, + "normal_offset": 0, + "y_rotation": 3.141591 + }, + { + "building_key": "Transform( -1, 0, -3.05176e-06, 0, 1, 0, 3.05176e-06, 0, -1, -1043.2, 0.0140915, -280 )", + "line_offset": 502.89624, + "normal_offset": 0, + "y_rotation": -3.14159 + }, + { + "building_key": "Transform( -1, 0, -3.8147e-06, 0, 1, 0, 3.8147e-06, 0, -1, -993.383, 0.0270004, -280 )", + "line_offset": 552.713196, + "normal_offset": 0, + "y_rotation": -3.141589 + }, + { + "building_key": "Transform( -1, 0, -1.52588e-06, 0, 1, 0, 1.52588e-06, 0, -1, -943.889, 0.0416718, -280 )", + "line_offset": 602.207214, + "normal_offset": 0, + "y_rotation": -3.141591 + }, + { + "building_key": "Transform( -1, 0, 0, 0, 1, 0, 0, 0, -1, -909.404, 0.0602722, -280 )", + "line_offset": 636.6922, + "normal_offset": 0, + "y_rotation": 3.141593 + }, + { + "building_key": "Transform( -1, 0, 0, 0, 1, 0, 0, 0, -1, -864.082, 0.0658722, -280 )", + "line_offset": 682.014221, + "normal_offset": 0, + "y_rotation": 3.141593 + }, + { + "building_key": "Transform( -1, 0, 0, 0, 1, 0, 0, 0, -1, -829.033, 0.0537186, -280 )", + "line_offset": 717.063171, + "normal_offset": 0, + "y_rotation": 3.141593 + } + ] }, - "valley10_valley": { + "test1a_buildings": { "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0.0307922, -510 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0.0269165, -680 )" + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -72, 0.057373, -76 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -66, 0.057373, -106 )", + "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -60, 0.057373, -130 )" ], "metadata": { - + "depth": 16 }, "lanes": -1, - "pattern": 12 - }, - "buildings10_buildings": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -150, 0.00857544, -280 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 225, -0.090271, -275 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 265, 0.000946045, -460 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -140, 0.0210266, -465 )" - ], - "metadata": { + "pattern": 0, + "buildings": [ - }, - "lanes": -1, - "pattern": 2 - }, - "valley9_valley": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -155, 0.0210266, -365 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 215, 0.198883, -360 )" - ], - "metadata": { - - }, - "lanes": -1, - "pattern": 1 - }, - "buildings9_buildings": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 330, 0.0210266, -390 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 300, 0.0212402, -275 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 370, 0.0289917, -275 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 495, -0.00311279, -360 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 540, -0.00311279, -360 )" - ], - "metadata": { - - }, - "lanes": -1, - "pattern": 1 - }, - "buildings1_buildings": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 210, 0.0576782, -75 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 70, 0.0210266, -75 )" - ], - "metadata": { - - }, - "lanes": -1, - "pattern": 1 - }, - "valley1_valley": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0.0252991, -60 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0.0503235, -235 )" - ], - "metadata": { - - }, - "lanes": -1, - "pattern": 7 - }, - "road7_road": { - "points": [ - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -330, 0.0576782, -60 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -295, 0.0375366, -240 )", - "Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -180, 0.0252991, -240 )" - ], - "metadata": { - - }, - "lanes": 4, - "pattern": -1 + ] } } \ No newline at end of file diff --git a/src/modules/stream/road_lines_data.cpp b/src/modules/stream/road_lines_data.cpp index c6dc4c5..6a5c2e0 100644 --- a/src/modules/stream/road_lines_data.cpp +++ b/src/modules/stream/road_lines_data.cpp @@ -17,6 +17,48 @@ ImmediateGeometry *RoadLinesData::debug_im = nullptr; static Ref debug_material; RoadLinesData::RoadLinesData() +{ + load_data(); +} +RoadLinesData *RoadLinesData::singleton = nullptr; +RoadLinesData *RoadLinesData::get_singleton() +{ + if (!singleton) + singleton = memnew(RoadLinesData); + return singleton; +} +RoadLinesData::~RoadLinesData() +{ +#if 0 + if (debug_im) { + memdelete(debug_im); + debug_im = nullptr; + } +#endif +} +void RoadLinesData::cleanup() +{ + memdelete(singleton); + singleton = nullptr; +} +String RoadLinesData::get_road_lines_path() +{ + return road_lines_path; +} +void RoadLinesData::get_road_lines_key_list(List *keys) +{ + List line_keys; + lines.get_key_list(&line_keys); + List::Element *e = line_keys.front(); + keys->clear(); + while (e) { + const String &key = e->get(); + if (key.ends_with("_road")) + keys->push_back(key); + e = e->next(); + } +} +void RoadLinesData::load_data() { int i; ConfigFile config; @@ -57,50 +99,19 @@ RoadLinesData::RoadLinesData() int index = indices[i]; rline.indices[i] = index; } + Array buildings = entry.get("buildings", Array()); + rline.buildings.resize(buildings.size()); + for (i = 0; i < (int)buildings.size(); i++) { + struct line_building_data b; + line_building_data::from_dict(&b, buildings[i]); + rline.buildings.push_back(b); + } // TODO: wtf is flags? rline.lanes = lanes; lines[key] = rline; e = e->next(); } } -RoadLinesData *RoadLinesData::singleton = nullptr; -RoadLinesData *RoadLinesData::get_singleton() -{ - if (!singleton) - singleton = memnew(RoadLinesData); - return singleton; -} -RoadLinesData::~RoadLinesData() -{ -#if 0 - if (debug_im) { - memdelete(debug_im); - debug_im = nullptr; - } -#endif -} -void RoadLinesData::cleanup() -{ - memdelete(singleton); - singleton = nullptr; -} -String RoadLinesData::get_road_lines_path() -{ - return road_lines_path; -} -void RoadLinesData::get_road_lines_key_list(List *keys) -{ - List line_keys; - lines.get_key_list(&line_keys); - List::Element *e = line_keys.front(); - keys->clear(); - while (e) { - const String &key = e->get(); - if (key.ends_with("_road")) - keys->push_back(key); - e = e->next(); - } -} void RoadLinesData::save_data() { int i; @@ -128,6 +139,11 @@ void RoadLinesData::save_data() pvalues["metadata"] = lines[e->get()].metadata; pvalues["lanes"] = lines[e->get()].lanes; pvalues["pattern"] = lines[e->get()].pattern; + Array buildings; + for (i = 0; i < (int)lines[e->get()].buildings.size(); i++) + buildings.push_back( + lines[e->get()].buildings[i].to_dict()); + pvalues["buildings"] = buildings; output[e->get()] = pvalues; e = e->next(); } @@ -640,6 +656,7 @@ Vector3 RoadLinesData::get_point_by_offsets(const String &line, { Vector3 ret; int i; + assert(lines.has(line)); print_verbose("line: " + line + " line_offset: " + String::num(dir_offset) + " normal_offset: " + String::num(normal_offset)); @@ -653,8 +670,34 @@ Vector3 RoadLinesData::get_point_by_offsets(const String &line, } n_offset -= segment->length; } + print_line("offset: " + String::num(n_offset)); ret = lines[line].segments[selected_segment].p1 + lines[line].segments[selected_segment].dir * n_offset + lines[line].segments[selected_segment].tangent * normal_offset; + print_line("data: " + (ret.operator String())); + return ret; +} + +void RoadLinesData::line_building_data::from_dict(line_building_data *b, + const Dictionary &from) +{ + assert(from.has("building_key")); + assert(from.has("line_offset")); + assert(from.has("normal_offset")); + assert(from.has("y_rotation")); + b->building_key = from.get("building_key", ""); + b->building_key_hash = b->building_key.hash64(); + b->line_offset = from.get("line_offset", -1.0f); + b->normal_offset = from.get("normal_offset", -1.0f); + b->y_rotation = from.get("y_rotation", Math_NAN); +} + +Dictionary RoadLinesData::line_building_data::to_dict() const +{ + Dictionary ret; + ret["building_key"] = building_key; + ret["line_offset"] = line_offset; + ret["normal_offset"] = normal_offset; + ret["y_rotation"] = y_rotation; return ret; } diff --git a/src/modules/stream/road_lines_data.h b/src/modules/stream/road_lines_data.h index 7a38a07..e9de1af 100644 --- a/src/modules/stream/road_lines_data.h +++ b/src/modules/stream/road_lines_data.h @@ -20,6 +20,9 @@ public: float line_offset; float normal_offset; float y_rotation; + static void from_dict(struct line_building_data *b, + const Dictionary &from); + Dictionary to_dict() const; }; struct line_segment { Vector3 p1; @@ -48,6 +51,7 @@ public: static void cleanup(); String get_road_lines_path(); void get_road_lines_key_list(List *keys); + void load_data(); void save_data(); void process_lines(std::unordered_map > &road_lines_nodes_hash, diff --git a/src/modules/stream/road_lines_editor.cpp b/src/modules/stream/road_lines_editor.cpp index ed6cb13..e5d4f6c 100644 --- a/src/modules/stream/road_lines_editor.cpp +++ b/src/modules/stream/road_lines_editor.cpp @@ -657,11 +657,14 @@ void RoadLinesEditor::update_line_geometry() } line_im->end(); } + // FIXME: update line segments on load and when line is changed + rld->update_line_segments(current_line); if (rld->lines[current_line].buildings.size() > 1) { line_im->begin(Mesh::PRIMITIVE_LINES); for (i = 0; i < (int)rld->lines[current_line].buildings.size(); i++) { + print_line("idx: " + itos(i)); const RoadLinesData::line_building_data &b = rld->lines[current_line].buildings[i]; Vector3 pt = rld->get_point_by_offsets( @@ -673,6 +676,7 @@ void RoadLinesEditor::update_line_geometry() Vector3(0.0f, 5.0f, 0.0f)); line_im->add_vertex(pt + Vector3(0.0f, 15.0f, 0.0f)); + print_line("idx: " + itos(i) + " done"); } line_im->end(); }