diff --git a/tests/AcDream.Core.Tests/Fixtures/issue98/0xA9B40143.json b/tests/AcDream.Core.Tests/Fixtures/issue98/0xA9B40143.json new file mode 100644 index 0000000..8eeaa5c --- /dev/null +++ b/tests/AcDream.Core.Tests/Fixtures/issue98/0xA9B40143.json @@ -0,0 +1,1124 @@ +{ + "CellId": 2847146307, + "WorldTransform": { + "M11": -1, + "M12": 8.74228E-08, + "M13": 0, + "M14": 0, + "M21": -8.74228E-08, + "M22": -1, + "M23": 0, + "M24": 0, + "M31": 0, + "M32": 0, + "M33": 1, + "M34": 0, + "M41": 130.5, + "M42": 11.5, + "M43": 94, + "M44": 1 + }, + "InverseWorldTransform": { + "M11": -1, + "M12": -8.74228E-08, + "M13": 0, + "M14": -0, + "M21": 8.74228E-08, + "M22": -1, + "M23": 0, + "M24": 0, + "M31": 0, + "M32": 0, + "M33": 1, + "M34": -0, + "M41": 130.5, + "M42": 11.500011, + "M43": -94, + "M44": 1 + }, + "ResolvedPolygons": [ + { + "Id": 0, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 1, + "Z": 0 + }, + "D": 1.6 + }, + "Vertices": [ + { + "X": -11.6, + "Y": -1.6, + "Z": 0 + }, + { + "X": -11.6, + "Y": -1.6, + "Z": 1 + }, + { + "X": -6.2, + "Y": -1.6, + "Z": 1 + }, + { + "X": -6.2, + "Y": -1.6, + "Z": 0 + } + ] + }, + { + "Id": 1, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 1, + "Y": 0, + "Z": 0 + }, + "D": 11.6 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 7.6, + "Z": 0 + }, + { + "X": -11.6, + "Y": 7.6, + "Z": 2.8 + }, + { + "X": -11.6, + "Y": -1.6, + "Z": 2.8 + }, + { + "X": -11.6, + "Y": -1.6, + "Z": 0 + } + ] + }, + { + "Id": 2, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": -1, + "Z": 0 + }, + "D": 7.6 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 7.6, + "Z": 2.8 + }, + { + "X": -11.6, + "Y": 7.6, + "Z": 0 + }, + { + "X": -6.2, + "Y": 7.6, + "Z": 0 + }, + { + "X": -6.2, + "Y": 7.6, + "Z": 2.8 + } + ] + }, + { + "Id": 3, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": -1 + }, + "D": 2.8 + }, + "Vertices": [ + { + "X": -11.6, + "Y": -1.6, + "Z": 2.8 + }, + { + "X": -11.6, + "Y": 7.6, + "Z": 2.8 + }, + { + "X": -6.2, + "Y": 7.6, + "Z": 2.8 + }, + { + "X": -6.2, + "Y": -1.6, + "Z": 2.8 + } + ] + }, + { + "Id": 4, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -6.2, + "Y": 7.6, + "Z": 0 + }, + { + "X": -10, + "Y": 7.6, + "Z": 0 + }, + { + "X": -10, + "Y": 2.8, + "Z": 0 + } + ] + }, + { + "Id": 5, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -6.2, + "Y": 7.3, + "Z": 0 + }, + { + "X": -6.2, + "Y": 7.6, + "Z": 0 + }, + { + "X": -10, + "Y": 2.8, + "Z": 0 + } + ] + }, + { + "Id": 6, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": -1, + "Y": 0, + "Z": 0 + }, + "D": -6.2 + }, + "Vertices": [ + { + "X": -6.2, + "Y": 7.6, + "Z": 0 + }, + { + "X": -6.2, + "Y": 7.3, + "Z": 0 + }, + { + "X": -6.2, + "Y": 7.3, + "Z": 2.5 + }, + { + "X": -6.2, + "Y": 7.6, + "Z": 2.8 + } + ] + }, + { + "Id": 7, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": -1, + "Y": 0, + "Z": 0 + }, + "D": -6.1999993 + }, + "Vertices": [ + { + "X": -6.2, + "Y": 7.3, + "Z": 2.5 + }, + { + "X": -6.2, + "Y": -1.6, + "Z": 2.8 + }, + { + "X": -6.2, + "Y": 7.6, + "Z": 2.8 + } + ] + }, + { + "Id": 8, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": -1, + "Y": 0, + "Z": 0 + }, + "D": -6.2 + }, + "Vertices": [ + { + "X": -6.2, + "Y": 5.4, + "Z": 2.5 + }, + { + "X": -6.2, + "Y": 5.4, + "Z": 0 + }, + { + "X": -6.2, + "Y": 3.66, + "Z": 0 + }, + { + "X": -6.2, + "Y": 3.66, + "Z": 2.5 + } + ] + }, + { + "Id": 9, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -10, + "Y": 2.8, + "Z": 0 + }, + { + "X": -6.2, + "Y": 3.66, + "Z": 0 + }, + { + "X": -6.2, + "Y": 7.3, + "Z": 0 + } + ] + }, + { + "Id": 10, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -10, + "Y": 2.8, + "Z": 0 + }, + { + "X": -6.2, + "Y": -1.6, + "Z": 0 + }, + { + "X": -6.2, + "Y": 3.66, + "Z": 0 + } + ] + }, + { + "Id": 11, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -10, + "Y": 2.8, + "Z": 0 + }, + { + "X": -11.6, + "Y": 2.8, + "Z": 0 + }, + { + "X": -6.2, + "Y": -1.6, + "Z": 0 + } + ] + }, + { + "Id": 12, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 2.8, + "Z": 0 + }, + { + "X": -11.6, + "Y": -1.6, + "Z": 0 + }, + { + "X": -6.2, + "Y": -1.6, + "Z": 0 + } + ] + }, + { + "Id": 13, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": -1, + "Y": 0, + "Z": 0 + }, + "D": -6.1999993 + }, + "Vertices": [ + { + "X": -6.2, + "Y": 7.3, + "Z": 2.5 + }, + { + "X": -6.2, + "Y": -1.6, + "Z": 2.5 + }, + { + "X": -6.2, + "Y": -1.6, + "Z": 2.8 + } + ] + } + ], + "PortalPolygons": [ + { + "Id": 0, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 1, + "Z": 0 + }, + "D": 1.6 + }, + "Vertices": [ + { + "X": -11.6, + "Y": -1.6, + "Z": 0 + }, + { + "X": -11.6, + "Y": -1.6, + "Z": 1 + }, + { + "X": -6.2, + "Y": -1.6, + "Z": 1 + }, + { + "X": -6.2, + "Y": -1.6, + "Z": 0 + } + ] + }, + { + "Id": 1, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 2.8, + "Z": 0 + }, + { + "X": -11.6, + "Y": -1.6, + "Z": 0 + }, + { + "X": -6.2, + "Y": -1.6, + "Z": 0 + } + ] + }, + { + "Id": 2, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -6.2, + "Y": 7.6, + "Z": 0 + }, + { + "X": -10, + "Y": 7.6, + "Z": 0 + }, + { + "X": -10, + "Y": 2.8, + "Z": 0 + } + ] + }, + { + "Id": 3, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -10, + "Y": 2.8, + "Z": 0 + }, + { + "X": -11.6, + "Y": 2.8, + "Z": 0 + }, + { + "X": -6.2, + "Y": -1.6, + "Z": 0 + } + ] + }, + { + "Id": 4, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -10, + "Y": 2.8, + "Z": 0 + }, + { + "X": -6.2, + "Y": -1.6, + "Z": 0 + }, + { + "X": -6.2, + "Y": 3.66, + "Z": 0 + } + ] + }, + { + "Id": 5, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -6.2, + "Y": 7.3, + "Z": 0 + }, + { + "X": -6.2, + "Y": 7.6, + "Z": 0 + }, + { + "X": -10, + "Y": 2.8, + "Z": 0 + } + ] + }, + { + "Id": 6, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -10, + "Y": 2.8, + "Z": 0 + }, + { + "X": -6.2, + "Y": 3.66, + "Z": 0 + }, + { + "X": -6.2, + "Y": 7.3, + "Z": 0 + } + ] + }, + { + "Id": 7, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 1, + "Y": 0, + "Z": 0 + }, + "D": 11.6 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 7.6, + "Z": 0 + }, + { + "X": -11.6, + "Y": 7.6, + "Z": 2.8 + }, + { + "X": -11.6, + "Y": -1.6, + "Z": 2.8 + }, + { + "X": -11.6, + "Y": -1.6, + "Z": 0 + } + ] + }, + { + "Id": 8, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": -1 + }, + "D": 2.8 + }, + "Vertices": [ + { + "X": -11.6, + "Y": -1.6, + "Z": 2.8 + }, + { + "X": -11.6, + "Y": 7.6, + "Z": 2.8 + }, + { + "X": -6.2, + "Y": 7.6, + "Z": 2.8 + }, + { + "X": -6.2, + "Y": -1.6, + "Z": 2.8 + } + ] + }, + { + "Id": 9, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": -1, + "Z": 0 + }, + "D": 7.6 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 7.6, + "Z": 2.8 + }, + { + "X": -11.6, + "Y": 7.6, + "Z": 0 + }, + { + "X": -6.2, + "Y": 7.6, + "Z": 0 + }, + { + "X": -6.2, + "Y": 7.6, + "Z": 2.8 + } + ] + }, + { + "Id": 10, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": -1, + "Y": 0, + "Z": 0 + }, + "D": -6.2 + }, + "Vertices": [ + { + "X": -6.2, + "Y": 7.6, + "Z": 0 + }, + { + "X": -6.2, + "Y": 7.3, + "Z": 0 + }, + { + "X": -6.2, + "Y": 7.3, + "Z": 2.5 + }, + { + "X": -6.2, + "Y": 7.6, + "Z": 2.8 + } + ] + }, + { + "Id": 11, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": -1, + "Y": 0, + "Z": 0 + }, + "D": -6.1999993 + }, + "Vertices": [ + { + "X": -6.2, + "Y": 7.3, + "Z": 2.5 + }, + { + "X": -6.2, + "Y": -1.6, + "Z": 2.5 + }, + { + "X": -6.2, + "Y": -1.6, + "Z": 2.8 + } + ] + }, + { + "Id": 12, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": -1, + "Y": 0, + "Z": 0 + }, + "D": -6.1999993 + }, + "Vertices": [ + { + "X": -6.2, + "Y": 7.3, + "Z": 2.5 + }, + { + "X": -6.2, + "Y": -1.6, + "Z": 2.8 + }, + { + "X": -6.2, + "Y": 7.6, + "Z": 2.8 + } + ] + }, + { + "Id": 13, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": -1, + "Y": 0, + "Z": 0 + }, + "D": -6.2 + }, + "Vertices": [ + { + "X": -6.2, + "Y": 5.4, + "Z": 2.5 + }, + { + "X": -6.2, + "Y": 5.4, + "Z": 0 + }, + { + "X": -6.2, + "Y": 3.66, + "Z": 0 + }, + { + "X": -6.2, + "Y": 3.66, + "Z": 2.5 + } + ] + }, + { + "Id": 14, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 1, + "Y": 0, + "Z": 0 + }, + "D": 6.2 + }, + "Vertices": [ + { + "X": -6.2, + "Y": -1.6, + "Z": 2.5 + }, + { + "X": -6.2, + "Y": -1.6, + "Z": 0 + }, + { + "X": -6.2, + "Y": 3.66, + "Z": 0 + }, + { + "X": -6.2, + "Y": 3.66, + "Z": 2.5 + } + ] + }, + { + "Id": 15, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 1, + "Y": 0, + "Z": 0 + }, + "D": 6.2 + }, + "Vertices": [ + { + "X": -6.2, + "Y": 5.4, + "Z": 2.5 + }, + { + "X": -6.2, + "Y": 5.4, + "Z": 0 + }, + { + "X": -6.2, + "Y": 7.3, + "Z": 0 + }, + { + "X": -6.2, + "Y": 7.3, + "Z": 2.5 + } + ] + }, + { + "Id": 16, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": -1 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -10, + "Y": 7.6, + "Z": 0 + }, + { + "X": -10, + "Y": 2.8, + "Z": 0 + }, + { + "X": -11.6, + "Y": 2.8, + "Z": 0 + }, + { + "X": -11.6, + "Y": 7.6, + "Z": 0 + } + ] + }, + { + "Id": 17, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": -1, + "Z": 0 + }, + "D": -1.6 + }, + "Vertices": [ + { + "X": -11.6, + "Y": -1.6, + "Z": 1 + }, + { + "X": -6.2, + "Y": -1.6, + "Z": 1 + }, + { + "X": -6.2, + "Y": -1.6, + "Z": 2.8 + }, + { + "X": -11.6, + "Y": -1.6, + "Z": 2.8 + } + ] + } + ], + "Portals": [ + { + "OtherCellId": 326, + "PolygonId": 16, + "Flags": 1 + }, + { + "OtherCellId": 325, + "PolygonId": 15, + "Flags": 1 + }, + { + "OtherCellId": 324, + "PolygonId": 14, + "Flags": 1 + }, + { + "OtherCellId": 322, + "PolygonId": 17, + "Flags": 1 + } + ], + "VisibleCellIds": [ + 2847146303, + 2847146304, + 2847146305, + 2847146306, + 2847146308, + 2847146309, + 2847146310, + 2847146311, + 2847146312, + 2847146313, + 2847146314, + 2847146315, + 2847146316, + 2847146317, + 2847146318, + 2847146319, + 2847146320 + ] +} \ No newline at end of file diff --git a/tests/AcDream.Core.Tests/Fixtures/issue98/0xA9B40146.json b/tests/AcDream.Core.Tests/Fixtures/issue98/0xA9B40146.json new file mode 100644 index 0000000..4c5fc30 --- /dev/null +++ b/tests/AcDream.Core.Tests/Fixtures/issue98/0xA9B40146.json @@ -0,0 +1,424 @@ +{ + "CellId": 2847146310, + "WorldTransform": { + "M11": -1, + "M12": 8.74228E-08, + "M13": 0, + "M14": 0, + "M21": -8.74228E-08, + "M22": -1, + "M23": 0, + "M24": 0, + "M31": 0, + "M32": 0, + "M33": 1, + "M34": 0, + "M41": 130.5, + "M42": 11.5, + "M43": 94, + "M44": 1 + }, + "InverseWorldTransform": { + "M11": -1, + "M12": -8.74228E-08, + "M13": 0, + "M14": -0, + "M21": 8.74228E-08, + "M22": -1, + "M23": 0, + "M24": 0, + "M31": 0, + "M32": 0, + "M33": 1, + "M34": -0, + "M41": 130.5, + "M42": 11.500011, + "M43": -94, + "M44": 1 + }, + "ResolvedPolygons": [ + { + "Id": 0, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": -1, + "Z": 0 + }, + "D": 7.6 + }, + "Vertices": [ + { + "X": -10, + "Y": 7.6, + "Z": 0 + }, + { + "X": -11.6, + "Y": 7.6, + "Z": 0 + }, + { + "X": -11.6, + "Y": 7.6, + "Z": -0.2 + }, + { + "X": -10, + "Y": 7.6, + "Z": -0.2 + } + ] + }, + { + "Id": 1, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 1, + "Y": 0, + "Z": 0 + }, + "D": 11.6 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 7.6, + "Z": 0 + }, + { + "X": -11.6, + "Y": 2.8, + "Z": 0 + }, + { + "X": -11.6, + "Y": 2.8, + "Z": -0.2 + }, + { + "X": -11.6, + "Y": 7.6, + "Z": -0.2 + } + ] + }, + { + "Id": 2, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": -1, + "Y": 0, + "Z": 0 + }, + "D": -10 + }, + "Vertices": [ + { + "X": -10, + "Y": 2.8, + "Z": 0 + }, + { + "X": -10, + "Y": 7.6, + "Z": 0 + }, + { + "X": -10, + "Y": 7.6, + "Z": -0.2 + }, + { + "X": -10, + "Y": 2.8, + "Z": -0.2 + } + ] + }, + { + "Id": 3, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 1, + "Z": 0 + }, + "D": -2.8 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 2.8, + "Z": 0 + }, + { + "X": -10, + "Y": 2.8, + "Z": 0 + }, + { + "X": -10, + "Y": 2.8, + "Z": -0.2 + }, + { + "X": -11.6, + "Y": 2.8, + "Z": -0.2 + } + ] + } + ], + "PortalPolygons": [ + { + "Id": 0, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": -1, + "Z": 0 + }, + "D": 7.6 + }, + "Vertices": [ + { + "X": -10, + "Y": 7.6, + "Z": 0 + }, + { + "X": -11.6, + "Y": 7.6, + "Z": 0 + }, + { + "X": -11.6, + "Y": 7.6, + "Z": -0.2 + }, + { + "X": -10, + "Y": 7.6, + "Z": -0.2 + } + ] + }, + { + "Id": 1, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 1, + "Y": 0, + "Z": 0 + }, + "D": 11.6 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 7.6, + "Z": 0 + }, + { + "X": -11.6, + "Y": 2.8, + "Z": 0 + }, + { + "X": -11.6, + "Y": 2.8, + "Z": -0.2 + }, + { + "X": -11.6, + "Y": 7.6, + "Z": -0.2 + } + ] + }, + { + "Id": 2, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 1, + "Z": 0 + }, + "D": -2.8 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 2.8, + "Z": 0 + }, + { + "X": -10, + "Y": 2.8, + "Z": 0 + }, + { + "X": -10, + "Y": 2.8, + "Z": -0.2 + }, + { + "X": -11.6, + "Y": 2.8, + "Z": -0.2 + } + ] + }, + { + "Id": 3, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": -1, + "Y": 0, + "Z": 0 + }, + "D": -10 + }, + "Vertices": [ + { + "X": -10, + "Y": 2.8, + "Z": 0 + }, + { + "X": -10, + "Y": 7.6, + "Z": 0 + }, + { + "X": -10, + "Y": 7.6, + "Z": -0.2 + }, + { + "X": -10, + "Y": 2.8, + "Z": -0.2 + } + ] + }, + { + "Id": 4, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": -1 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -10, + "Y": 7.6, + "Z": 0 + }, + { + "X": -10, + "Y": 2.8, + "Z": 0 + }, + { + "X": -11.6, + "Y": 2.8, + "Z": 0 + }, + { + "X": -11.6, + "Y": 7.6, + "Z": 0 + } + ] + }, + { + "Id": 5, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": 0.2 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 2.8, + "Z": -0.2 + }, + { + "X": -10, + "Y": 2.8, + "Z": -0.2 + }, + { + "X": -10, + "Y": 7.6, + "Z": -0.2 + }, + { + "X": -11.6, + "Y": 7.6, + "Z": -0.2 + } + ] + } + ], + "Portals": [ + { + "OtherCellId": 323, + "PolygonId": 4, + "Flags": 3 + }, + { + "OtherCellId": 327, + "PolygonId": 5, + "Flags": 3 + } + ], + "VisibleCellIds": [ + 2847146303, + 2847146304, + 2847146305, + 2847146306, + 2847146307, + 2847146308, + 2847146309, + 2847146311, + 2847146312, + 2847146313, + 2847146314, + 2847146315, + 2847146316, + 2847146317, + 2847146318, + 2847146319, + 2847146320 + ] +} \ No newline at end of file diff --git a/tests/AcDream.Core.Tests/Fixtures/issue98/0xA9B40147.json b/tests/AcDream.Core.Tests/Fixtures/issue98/0xA9B40147.json new file mode 100644 index 0000000..eedd9fc --- /dev/null +++ b/tests/AcDream.Core.Tests/Fixtures/issue98/0xA9B40147.json @@ -0,0 +1,2674 @@ +{ + "CellId": 2847146311, + "WorldTransform": { + "M11": -1, + "M12": 8.74228E-08, + "M13": 0, + "M14": 0, + "M21": -8.74228E-08, + "M22": -1, + "M23": 0, + "M24": 0, + "M31": 0, + "M32": 0, + "M33": 1, + "M34": 0, + "M41": 130.5, + "M42": 11.5, + "M43": 94, + "M44": 1 + }, + "InverseWorldTransform": { + "M11": -1, + "M12": -8.74228E-08, + "M13": 0, + "M14": -0, + "M21": 8.74228E-08, + "M22": -1, + "M23": 0, + "M24": 0, + "M31": 0, + "M32": 0, + "M33": 1, + "M34": -0, + "M41": 130.5, + "M42": 11.500011, + "M43": -94, + "M44": 1 + }, + "ResolvedPolygons": [ + { + "Id": 0, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": -1 + }, + "D": -0.2 + }, + "Vertices": [ + { + "X": -8, + "Y": 12.5, + "Z": -0.2 + }, + { + "X": -10, + "Y": 7.6, + "Z": -0.2 + }, + { + "X": -11.6, + "Y": 7.6, + "Z": -0.2 + }, + { + "X": -11.6, + "Y": 12.5, + "Z": -0.2 + } + ] + }, + { + "Id": 1, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": -1 + }, + "D": -0.2 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 0, + "Z": -0.2 + }, + { + "X": -11.6, + "Y": 2.8, + "Z": -0.2 + }, + { + "X": -10, + "Y": 2.8, + "Z": -0.2 + } + ] + }, + { + "Id": 2, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 1, + "Y": 0, + "Z": 0 + }, + "D": 11.6 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 0, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 3.125, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 3.125, + "Z": -0.2 + }, + { + "X": -11.6, + "Y": 0, + "Z": -0.2 + } + ] + }, + { + "Id": 3, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 1, + "Y": 0, + "Z": 0 + }, + "D": 11.6 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 3.125, + "Z": -3.05 + }, + { + "X": -11.6, + "Y": 3.125, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 0, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 0, + "Z": -3.05 + } + ] + }, + { + "Id": 4, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 1, + "Y": 0, + "Z": 0 + }, + "D": 11.6 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 6.25, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 3.125, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 3.125, + "Z": -3.05 + }, + { + "X": -11.6, + "Y": 6.25, + "Z": -3.05 + } + ] + }, + { + "Id": 5, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 1, + "Y": 0, + "Z": 0 + }, + "D": 11.6 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 3.125, + "Z": -0.2 + }, + { + "X": -11.6, + "Y": 3.125, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 6.25, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 6.25, + "Z": -0.2 + } + ] + }, + { + "Id": 6, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 1, + "Y": 0, + "Z": 0 + }, + "D": 11.6 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 6.25, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 9.375, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 9.375, + "Z": -0.2 + }, + { + "X": -11.6, + "Y": 6.25, + "Z": -0.2 + } + ] + }, + { + "Id": 7, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 1, + "Y": 0, + "Z": 0 + }, + "D": 11.6 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 9.375, + "Z": -3.05 + }, + { + "X": -11.6, + "Y": 9.375, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 6.25, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 6.25, + "Z": -3.05 + } + ] + }, + { + "Id": 8, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 1, + "Y": 0, + "Z": 0 + }, + "D": 11.6 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 12.5, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 9.375, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 9.375, + "Z": -3.05 + }, + { + "X": -11.6, + "Y": 12.5, + "Z": -3.05 + } + ] + }, + { + "Id": 9, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 1, + "Y": 0, + "Z": 0 + }, + "D": 11.6 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 9.375, + "Z": -0.2 + }, + { + "X": -11.6, + "Y": 9.375, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 12.5, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 12.5, + "Z": -0.2 + } + ] + }, + { + "Id": 10, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": -1, + "Z": 0 + }, + "D": 12.5 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 12.5, + "Z": -1.55 + }, + { + "X": -9.625, + "Y": 12.5, + "Z": -1.55 + }, + { + "X": -9.625, + "Y": 12.5, + "Z": -0.2 + }, + { + "X": -11.6, + "Y": 12.5, + "Z": -0.2 + } + ] + }, + { + "Id": 11, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": -1, + "Z": 0 + }, + "D": 12.5 + }, + "Vertices": [ + { + "X": -9.625, + "Y": 12.5, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 12.5, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 12.5, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 12.5, + "Z": -3.05 + } + ] + }, + { + "Id": 12, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": -1, + "Z": 0 + }, + "D": 12.5 + }, + "Vertices": [ + { + "X": -6.25, + "Y": 12.5, + "Z": -1.55 + }, + { + "X": -9.625, + "Y": 12.5, + "Z": -1.55 + }, + { + "X": -9.625, + "Y": 12.5, + "Z": -3.05 + }, + { + "X": -6.25, + "Y": 12.5, + "Z": -3.05 + } + ] + }, + { + "Id": 13, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": -1, + "Z": 0 + }, + "D": 12.5 + }, + "Vertices": [ + { + "X": -9.625, + "Y": 12.5, + "Z": -0.2 + }, + { + "X": -9.625, + "Y": 12.5, + "Z": -1.55 + }, + { + "X": -6.25, + "Y": 12.5, + "Z": -1.55 + }, + { + "X": -6.25, + "Y": 12.5, + "Z": -0.2 + } + ] + }, + { + "Id": 14, + "NumPoints": 5, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": -1, + "Z": 0 + }, + "D": 12.5 + }, + "Vertices": [ + { + "X": -4.625, + "Y": 12.5, + "Z": -1.625 + }, + { + "X": -4.625, + "Y": 12.5, + "Z": -0.2 + }, + { + "X": -6.25, + "Y": 12.5, + "Z": -0.2 + }, + { + "X": -6.25, + "Y": 12.5, + "Z": -1.55 + }, + { + "X": -4.79478, + "Y": 12.5, + "Z": -1.77388 + } + ] + }, + { + "Id": 15, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": -1, + "Z": 0 + }, + "D": 12.5 + }, + "Vertices": [ + { + "X": -3, + "Y": 12.5, + "Z": -0.2 + }, + { + "X": -4.625, + "Y": 12.5, + "Z": -0.2 + }, + { + "X": -4.625, + "Y": 12.5, + "Z": -1.625 + } + ] + }, + { + "Id": 16, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": -1 + }, + "D": -0.2 + }, + "Vertices": [ + { + "X": -3, + "Y": 6.25, + "Z": -0.2 + }, + { + "X": -8, + "Y": 6.25, + "Z": -0.2 + }, + { + "X": -8, + "Y": 12.5, + "Z": -0.2 + }, + { + "X": -3, + "Y": 12.5, + "Z": -0.2 + } + ] + }, + { + "Id": 17, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": -1 + }, + "D": -0.2 + }, + "Vertices": [ + { + "X": -8, + "Y": 0, + "Z": -0.2 + }, + { + "X": -8, + "Y": 6.25, + "Z": -0.2 + }, + { + "X": -3, + "Y": 6.25, + "Z": -0.2 + }, + { + "X": -3, + "Y": 0, + "Z": -0.2 + } + ] + }, + { + "Id": 18, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": -1 + }, + "D": -0.2 + }, + "Vertices": [ + { + "X": -8, + "Y": 12.5, + "Z": -0.2 + }, + { + "X": -8, + "Y": 0, + "Z": -0.2 + }, + { + "X": -10, + "Y": 2.8, + "Z": -0.2 + } + ] + }, + { + "Id": 19, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": -1 + }, + "D": -0.2 + }, + "Vertices": [ + { + "X": -8, + "Y": 0, + "Z": -0.2 + }, + { + "X": -11.6, + "Y": 0, + "Z": -0.2 + }, + { + "X": -10, + "Y": 2.8, + "Z": -0.2 + } + ] + }, + { + "Id": 20, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 1, + "Z": 0 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -9.625, + "Y": 0, + "Z": -0.2 + }, + { + "X": -9.625, + "Y": 0, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 0, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 0, + "Z": -0.2 + } + ] + }, + { + "Id": 21, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 1, + "Z": 0 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -6.25, + "Y": 0, + "Z": -1.55 + }, + { + "X": -9.625, + "Y": 0, + "Z": -1.55 + }, + { + "X": -9.625, + "Y": 0, + "Z": -0.2 + }, + { + "X": -6.25, + "Y": 0, + "Z": -0.2 + } + ] + }, + { + "Id": 22, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 1, + "Z": 0 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -9.625, + "Y": 0, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 0, + "Z": -1.55 + }, + { + "X": -6.25, + "Y": 0, + "Z": -1.55 + }, + { + "X": -6.25, + "Y": 0, + "Z": -3.05 + } + ] + }, + { + "Id": 23, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 1, + "Z": 0 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 0, + "Z": -1.55 + }, + { + "X": -9.625, + "Y": 0, + "Z": -1.55 + }, + { + "X": -9.625, + "Y": 0, + "Z": -3.05 + }, + { + "X": -11.6, + "Y": 0, + "Z": -3.05 + } + ] + }, + { + "Id": 24, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": 3.05 + }, + "Vertices": [ + { + "X": -9.625, + "Y": 0, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 3.125, + "Z": -3.05 + }, + { + "X": -11.6, + "Y": 3.125, + "Z": -3.05 + }, + { + "X": -11.6, + "Y": 0, + "Z": -3.05 + } + ] + }, + { + "Id": 25, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": 3.05 + }, + "Vertices": [ + { + "X": -6.25, + "Y": 3.125, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 3.125, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 0, + "Z": -3.05 + }, + { + "X": -6.25, + "Y": 0, + "Z": -3.05 + } + ] + }, + { + "Id": 26, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": 3.05 + }, + "Vertices": [ + { + "X": -9.625, + "Y": 6.25, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 3.125, + "Z": -3.05 + }, + { + "X": -6.25, + "Y": 3.125, + "Z": -3.05 + }, + { + "X": -6.25, + "Y": 6.25, + "Z": -3.05 + } + ] + }, + { + "Id": 27, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": 3.05 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 3.125, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 3.125, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 6.25, + "Z": -3.05 + }, + { + "X": -11.6, + "Y": 6.25, + "Z": -3.05 + } + ] + }, + { + "Id": 28, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": 3.05 + }, + "Vertices": [ + { + "X": -9.625, + "Y": 6.25, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 9.375, + "Z": -3.05 + }, + { + "X": -11.6, + "Y": 9.375, + "Z": -3.05 + }, + { + "X": -11.6, + "Y": 6.25, + "Z": -3.05 + } + ] + }, + { + "Id": 29, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": 3.05 + }, + "Vertices": [ + { + "X": -6.25, + "Y": 9.375, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 9.375, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 6.25, + "Z": -3.05 + }, + { + "X": -6.25, + "Y": 6.25, + "Z": -3.05 + } + ] + }, + { + "Id": 30, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": 3.05 + }, + "Vertices": [ + { + "X": -9.625, + "Y": 12.5, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 9.375, + "Z": -3.05 + }, + { + "X": -6.25, + "Y": 9.375, + "Z": -3.05 + }, + { + "X": -6.25, + "Y": 12.5, + "Z": -3.05 + } + ] + }, + { + "Id": 31, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": 3.05 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 9.375, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 9.375, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 12.5, + "Z": -3.05 + }, + { + "X": -11.6, + "Y": 12.5, + "Z": -3.05 + } + ] + }, + { + "Id": 32, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": -1 + }, + "D": -0.2 + }, + "Vertices": [ + { + "X": -8, + "Y": 12.5, + "Z": -0.2 + }, + { + "X": -10, + "Y": 2.8, + "Z": -0.2 + }, + { + "X": -10, + "Y": 7.6, + "Z": -0.2 + } + ] + }, + { + "Id": 33, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 1, + "Z": 0 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -6.25, + "Y": 0, + "Z": -3.05 + }, + { + "X": -6.25, + "Y": 0, + "Z": -1.55 + }, + { + "X": -4.79478, + "Y": 0, + "Z": -1.77388 + } + ] + }, + { + "Id": 34, + "NumPoints": 5, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 1, + "Z": 0 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -4.79478, + "Y": 0, + "Z": -1.77388 + }, + { + "X": -6.25, + "Y": 0, + "Z": -1.55 + }, + { + "X": -6.25, + "Y": 0, + "Z": -0.2 + }, + { + "X": -4.625, + "Y": 0, + "Z": -0.2 + }, + { + "X": -4.625, + "Y": 0, + "Z": -1.625 + } + ] + }, + { + "Id": 35, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 1, + "Z": 0 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -4.625, + "Y": 0, + "Z": -1.625 + }, + { + "X": -4.625, + "Y": 0, + "Z": -0.2 + }, + { + "X": -3, + "Y": 0, + "Z": -0.2 + } + ] + }, + { + "Id": 36, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": -1, + "Z": 0 + }, + "D": 12.5 + }, + "Vertices": [ + { + "X": -4.79478, + "Y": 12.5, + "Z": -1.77388 + }, + { + "X": -6.25, + "Y": 12.5, + "Z": -1.55 + }, + { + "X": -6.25, + "Y": 12.5, + "Z": -3.05 + } + ] + } + ], + "PortalPolygons": [ + { + "Id": 0, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": -1 + }, + "D": -0.2 + }, + "Vertices": [ + { + "X": -3, + "Y": 6.25, + "Z": -0.2 + }, + { + "X": -8, + "Y": 6.25, + "Z": -0.2 + }, + { + "X": -8, + "Y": 12.5, + "Z": -0.2 + }, + { + "X": -3, + "Y": 12.5, + "Z": -0.2 + } + ] + }, + { + "Id": 1, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": -1 + }, + "D": -0.2 + }, + "Vertices": [ + { + "X": -8, + "Y": 0, + "Z": -0.2 + }, + { + "X": -8, + "Y": 6.25, + "Z": -0.2 + }, + { + "X": -3, + "Y": 6.25, + "Z": -0.2 + }, + { + "X": -3, + "Y": 0, + "Z": -0.2 + } + ] + }, + { + "Id": 2, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": 3.05 + }, + "Vertices": [ + { + "X": -9.625, + "Y": 0, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 3.125, + "Z": -3.05 + }, + { + "X": -11.6, + "Y": 3.125, + "Z": -3.05 + }, + { + "X": -11.6, + "Y": 0, + "Z": -3.05 + } + ] + }, + { + "Id": 3, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": 3.05 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 3.125, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 3.125, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 6.25, + "Z": -3.05 + }, + { + "X": -11.6, + "Y": 6.25, + "Z": -3.05 + } + ] + }, + { + "Id": 4, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": 3.05 + }, + "Vertices": [ + { + "X": -9.625, + "Y": 6.25, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 3.125, + "Z": -3.05 + }, + { + "X": -6.25, + "Y": 3.125, + "Z": -3.05 + }, + { + "X": -6.25, + "Y": 6.25, + "Z": -3.05 + } + ] + }, + { + "Id": 5, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": 3.05 + }, + "Vertices": [ + { + "X": -6.25, + "Y": 3.125, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 3.125, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 0, + "Z": -3.05 + }, + { + "X": -6.25, + "Y": 0, + "Z": -3.05 + } + ] + }, + { + "Id": 6, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": 3.05 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 9.375, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 9.375, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 12.5, + "Z": -3.05 + }, + { + "X": -11.6, + "Y": 12.5, + "Z": -3.05 + } + ] + }, + { + "Id": 7, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": 3.05 + }, + "Vertices": [ + { + "X": -9.625, + "Y": 12.5, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 9.375, + "Z": -3.05 + }, + { + "X": -6.25, + "Y": 9.375, + "Z": -3.05 + }, + { + "X": -6.25, + "Y": 12.5, + "Z": -3.05 + } + ] + }, + { + "Id": 8, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": 3.05 + }, + "Vertices": [ + { + "X": -6.25, + "Y": 9.375, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 9.375, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 6.25, + "Z": -3.05 + }, + { + "X": -6.25, + "Y": 6.25, + "Z": -3.05 + } + ] + }, + { + "Id": 9, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": 3.05 + }, + "Vertices": [ + { + "X": -9.625, + "Y": 6.25, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 9.375, + "Z": -3.05 + }, + { + "X": -11.6, + "Y": 9.375, + "Z": -3.05 + }, + { + "X": -11.6, + "Y": 6.25, + "Z": -3.05 + } + ] + }, + { + "Id": 10, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 1, + "Y": 0, + "Z": 0 + }, + "D": 11.6 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 6.25, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 9.375, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 9.375, + "Z": -0.2 + }, + { + "X": -11.6, + "Y": 6.25, + "Z": -0.2 + } + ] + }, + { + "Id": 11, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 1, + "Y": 0, + "Z": 0 + }, + "D": 11.6 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 9.375, + "Z": -0.2 + }, + { + "X": -11.6, + "Y": 9.375, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 12.5, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 12.5, + "Z": -0.2 + } + ] + }, + { + "Id": 12, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 1, + "Y": 0, + "Z": 0 + }, + "D": 11.6 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 12.5, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 9.375, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 9.375, + "Z": -3.05 + }, + { + "X": -11.6, + "Y": 12.5, + "Z": -3.05 + } + ] + }, + { + "Id": 13, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 1, + "Y": 0, + "Z": 0 + }, + "D": 11.6 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 9.375, + "Z": -3.05 + }, + { + "X": -11.6, + "Y": 9.375, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 6.25, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 6.25, + "Z": -3.05 + } + ] + }, + { + "Id": 14, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 1, + "Y": 0, + "Z": 0 + }, + "D": 11.6 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 0, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 3.125, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 3.125, + "Z": -0.2 + }, + { + "X": -11.6, + "Y": 0, + "Z": -0.2 + } + ] + }, + { + "Id": 15, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 1, + "Y": 0, + "Z": 0 + }, + "D": 11.6 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 3.125, + "Z": -0.2 + }, + { + "X": -11.6, + "Y": 3.125, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 6.25, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 6.25, + "Z": -0.2 + } + ] + }, + { + "Id": 16, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 1, + "Y": 0, + "Z": 0 + }, + "D": 11.6 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 6.25, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 3.125, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 3.125, + "Z": -3.05 + }, + { + "X": -11.6, + "Y": 6.25, + "Z": -3.05 + } + ] + }, + { + "Id": 17, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 1, + "Y": 0, + "Z": 0 + }, + "D": 11.6 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 3.125, + "Z": -3.05 + }, + { + "X": -11.6, + "Y": 3.125, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 0, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 0, + "Z": -3.05 + } + ] + }, + { + "Id": 18, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": -1, + "Z": 0 + }, + "D": 12.5 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 12.5, + "Z": -1.55 + }, + { + "X": -9.625, + "Y": 12.5, + "Z": -1.55 + }, + { + "X": -9.625, + "Y": 12.5, + "Z": -0.2 + }, + { + "X": -11.6, + "Y": 12.5, + "Z": -0.2 + } + ] + }, + { + "Id": 19, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": -1, + "Z": 0 + }, + "D": 12.5 + }, + "Vertices": [ + { + "X": -9.625, + "Y": 12.5, + "Z": -0.2 + }, + { + "X": -9.625, + "Y": 12.5, + "Z": -1.55 + }, + { + "X": -6.25, + "Y": 12.5, + "Z": -1.55 + }, + { + "X": -6.25, + "Y": 12.5, + "Z": -0.2 + } + ] + }, + { + "Id": 20, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": -1, + "Z": 0 + }, + "D": 12.5 + }, + "Vertices": [ + { + "X": -6.25, + "Y": 12.5, + "Z": -1.55 + }, + { + "X": -9.625, + "Y": 12.5, + "Z": -1.55 + }, + { + "X": -9.625, + "Y": 12.5, + "Z": -3.05 + }, + { + "X": -6.25, + "Y": 12.5, + "Z": -3.05 + } + ] + }, + { + "Id": 21, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": -1, + "Z": 0 + }, + "D": 12.5 + }, + "Vertices": [ + { + "X": -9.625, + "Y": 12.5, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 12.5, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 12.5, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 12.5, + "Z": -3.05 + } + ] + }, + { + "Id": 22, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 1, + "Z": 0 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -6.25, + "Y": 0, + "Z": -1.55 + }, + { + "X": -9.625, + "Y": 0, + "Z": -1.55 + }, + { + "X": -9.625, + "Y": 0, + "Z": -0.2 + }, + { + "X": -6.25, + "Y": 0, + "Z": -0.2 + } + ] + }, + { + "Id": 23, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 1, + "Z": 0 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -9.625, + "Y": 0, + "Z": -0.2 + }, + { + "X": -9.625, + "Y": 0, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 0, + "Z": -1.55 + }, + { + "X": -11.6, + "Y": 0, + "Z": -0.2 + } + ] + }, + { + "Id": 24, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 1, + "Z": 0 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 0, + "Z": -1.55 + }, + { + "X": -9.625, + "Y": 0, + "Z": -1.55 + }, + { + "X": -9.625, + "Y": 0, + "Z": -3.05 + }, + { + "X": -11.6, + "Y": 0, + "Z": -3.05 + } + ] + }, + { + "Id": 25, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 1, + "Z": 0 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -9.625, + "Y": 0, + "Z": -3.05 + }, + { + "X": -9.625, + "Y": 0, + "Z": -1.55 + }, + { + "X": -6.25, + "Y": 0, + "Z": -1.55 + }, + { + "X": -6.25, + "Y": 0, + "Z": -3.05 + } + ] + }, + { + "Id": 26, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": -1 + }, + "D": -0.2 + }, + "Vertices": [ + { + "X": -8, + "Y": 12.5, + "Z": -0.2 + }, + { + "X": -8, + "Y": 0, + "Z": -0.2 + }, + { + "X": -10, + "Y": 2.8, + "Z": -0.2 + } + ] + }, + { + "Id": 27, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": -1 + }, + "D": -0.2 + }, + "Vertices": [ + { + "X": -8, + "Y": 12.5, + "Z": -0.2 + }, + { + "X": -10, + "Y": 2.8, + "Z": -0.2 + }, + { + "X": -10, + "Y": 7.6, + "Z": -0.2 + } + ] + }, + { + "Id": 28, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": -1 + }, + "D": -0.2 + }, + "Vertices": [ + { + "X": -8, + "Y": 12.5, + "Z": -0.2 + }, + { + "X": -10, + "Y": 7.6, + "Z": -0.2 + }, + { + "X": -11.6, + "Y": 7.6, + "Z": -0.2 + }, + { + "X": -11.6, + "Y": 12.5, + "Z": -0.2 + } + ] + }, + { + "Id": 29, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": -1 + }, + "D": -0.2 + }, + "Vertices": [ + { + "X": -8, + "Y": 0, + "Z": -0.2 + }, + { + "X": -11.6, + "Y": 0, + "Z": -0.2 + }, + { + "X": -10, + "Y": 2.8, + "Z": -0.2 + } + ] + }, + { + "Id": 30, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": -1 + }, + "D": -0.2 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 0, + "Z": -0.2 + }, + { + "X": -11.6, + "Y": 2.8, + "Z": -0.2 + }, + { + "X": -10, + "Y": 2.8, + "Z": -0.2 + } + ] + }, + { + "Id": 31, + "NumPoints": 5, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": -1, + "Z": 0 + }, + "D": 12.5 + }, + "Vertices": [ + { + "X": -4.625, + "Y": 12.5, + "Z": -1.625 + }, + { + "X": -4.625, + "Y": 12.5, + "Z": -0.2 + }, + { + "X": -6.25, + "Y": 12.5, + "Z": -0.2 + }, + { + "X": -6.25, + "Y": 12.5, + "Z": -1.55 + }, + { + "X": -4.79478, + "Y": 12.5, + "Z": -1.77388 + } + ] + }, + { + "Id": 32, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": -1, + "Z": 0 + }, + "D": 12.5 + }, + "Vertices": [ + { + "X": -3, + "Y": 12.5, + "Z": -0.2 + }, + { + "X": -4.625, + "Y": 12.5, + "Z": -0.2 + }, + { + "X": -4.625, + "Y": 12.5, + "Z": -1.625 + } + ] + }, + { + "Id": 33, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": -1, + "Z": 0 + }, + "D": 12.5 + }, + "Vertices": [ + { + "X": -4.79478, + "Y": 12.5, + "Z": -1.77388 + }, + { + "X": -6.25, + "Y": 12.5, + "Z": -1.55 + }, + { + "X": -6.25, + "Y": 12.5, + "Z": -3.05 + } + ] + }, + { + "Id": 34, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 1, + "Z": 0 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -4.625, + "Y": 0, + "Z": -1.625 + }, + { + "X": -4.625, + "Y": 0, + "Z": -0.2 + }, + { + "X": -3, + "Y": 0, + "Z": -0.2 + } + ] + }, + { + "Id": 35, + "NumPoints": 5, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 1, + "Z": 0 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -4.79478, + "Y": 0, + "Z": -1.77388 + }, + { + "X": -6.25, + "Y": 0, + "Z": -1.55 + }, + { + "X": -6.25, + "Y": 0, + "Z": -0.2 + }, + { + "X": -4.625, + "Y": 0, + "Z": -0.2 + }, + { + "X": -4.625, + "Y": 0, + "Z": -1.625 + } + ] + }, + { + "Id": 36, + "NumPoints": 3, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 1, + "Z": 0 + }, + "D": -0 + }, + "Vertices": [ + { + "X": -6.25, + "Y": 0, + "Z": -3.05 + }, + { + "X": -6.25, + "Y": 0, + "Z": -1.55 + }, + { + "X": -4.79478, + "Y": 0, + "Z": -1.77388 + } + ] + }, + { + "Id": 37, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0, + "Y": 0, + "Z": 1 + }, + "D": 0.2 + }, + "Vertices": [ + { + "X": -11.6, + "Y": 2.8, + "Z": -0.2 + }, + { + "X": -10, + "Y": 2.8, + "Z": -0.2 + }, + { + "X": -10, + "Y": 7.6, + "Z": -0.2 + }, + { + "X": -11.6, + "Y": 7.6, + "Z": -0.2 + } + ] + }, + { + "Id": 38, + "NumPoints": 4, + "SidesType": 0, + "Plane": { + "Normal": { + "X": 0.6593231, + "Y": 0, + "Z": -0.75185966 + }, + "D": 1.8275975 + }, + "Vertices": [ + { + "X": -3, + "Y": 12.5, + "Z": -0.2 + }, + { + "X": -3, + "Y": 0, + "Z": -0.2 + }, + { + "X": -6.25, + "Y": 0, + "Z": -3.05 + }, + { + "X": -6.25, + "Y": 12.5, + "Z": -3.05 + } + ] + } + ], + "Portals": [ + { + "OtherCellId": 326, + "PolygonId": 37, + "Flags": 1 + }, + { + "OtherCellId": 328, + "PolygonId": 38, + "Flags": 1 + } + ], + "VisibleCellIds": [ + 2847146303, + 2847146304, + 2847146305, + 2847146306, + 2847146307, + 2847146308, + 2847146309, + 2847146310, + 2847146312, + 2847146313, + 2847146314, + 2847146315, + 2847146316, + 2847146317, + 2847146318, + 2847146319, + 2847146320 + ] +} \ No newline at end of file