// Copyright (c) Meta Platforms, Inc. and affiliates. #include "TestHelper.h" #include "LevelEditor.h" #include "UnrealEdGlobals.h" #include "Editor/UnrealEdEngine.h" #include "Tests/AutomationEditorCommon.h" #include "UObject/ConstructorHelpers.h" bool StartPIE(bool bSimulateInEditor) { FLevelEditorModule& LevelEditorModule = FModuleManager::Get().GetModuleChecked(TEXT("LevelEditor")); FRequestPlaySessionParams Params; Params.DestinationSlateViewport = LevelEditorModule.GetFirstActiveViewport(); if (bSimulateInEditor) { Params.WorldType = EPlaySessionWorldType::SimulateInEditor; } // Make sure the player start location is a valid location. if (GUnrealEd->CheckForPlayerStart() == nullptr) { FAutomationEditorCommonUtils::SetPlaySessionStartToActiveViewport(Params); } GUnrealEd->RequestPlaySession(Params); return true; } const TCHAR* ExampleRoomJson = TEXT(R"( { "Rooms": [ { "UUID": "5CDDA638E08442FF193FD34FE9E42850", "RoomLayout": { "FloorUuid": "4408BCA30B3EA779992A41339E9BD15E", "CeilingUuid": "4C1D763C44C3462F4DA730971E171502", "WallsUuid": [ "195FA745A478AF0C8FB57CEB03B22863", "A9EC4ACC695D848A817A9638C4084117", "1C751664D717BE40458D9EC34BD5D378", "FDB6E9B321F59B54A2C5C86E5C7115E6", "9FEBCF7BD9E0A320A3BD68E2D7573255", "684B956C3E0B9B03333C994A34A4E6FE", "61345A4CA1A00C5C18C7AC3423376901", "934CE75D63F0856A9438DAB3ADA95409" ] }, "Anchors": [ { "UUID": "195FA745A478AF0C8FB57CEB03B22863", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -237.12472915651662, 19.925808906578482, 1.5676200352898995 ], "Rotation": [ -1.1819296446447803e-05, -169.70749357033259, 0.057707750157921504 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -163.47031593322754, -131.50515556335449 ], "Max": [ 163.47026824951172, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -163.47032165527344, -131.50515747070312 ], [ 163.47027587890625, -131.50515747070312 ], [ 163.47027587890625, 131.50515747070312 ], [ -163.47032165527344, 131.50515747070312 ] ] }, { "UUID": "A9EC4ACC695D848A817A9638C4084117", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -219.91224288941592, 188.27182054521873, 1.8210597299298268 ], "Rotation": [ 7.4741822743562458e-07, 99.198330970154288, 0.098590620438120544 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -47.028231620788574, -131.50515556335449 ], "Max": [ 47.028231620788574, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -47.028232574462891, -131.50515747070312 ], [ 47.028232574462891, -131.50515747070312 ], [ 47.028232574462891, 131.50515747070312 ], [ -47.028232574462891, 131.50515747070312 ] ] }, { "UUID": "1C751664D717BE40458D9EC34BD5D378", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -171.26309871674914, 180.48512935640233, 1.8855862290118015 ], "Rotation": [ 6.4467732645053494e-06, 8.2745309490490655, -0.061610071422649071 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -15.465247631072998, -131.50515556335449 ], "Max": [ 15.465259552001953, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -15.465248107910156, -131.50515747070312 ], [ 15.465259552001953, -131.50515747070312 ], [ 15.465259552001953, 131.50515747070312 ], [ -15.465248107910156, 131.50515747070312 ] ] }, { "UUID": "FDB6E9B321F59B54A2C5C86E5C7115E6", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -100.43122768403643, 174.61351156235941, 1.9896067660616943 ], "Rotation": [ 1.2842223247239193e-06, 97.827956772803347, 0.097884147130853222 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -69.250226020812988, -131.50515556335449 ], "Max": [ 69.250202178955078, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -69.250228881835938, -131.50515747070312 ], [ 69.250198364257812, -131.50515747070312 ], [ 69.250198364257812, 131.50515747070312 ], [ -69.250228881835938, 131.50515747070312 ] ] }, { "UUID": "9FEBCF7BD9E0A320A3BD68E2D7573255", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -34.790527820602257, 202.89564132691075, 2.1287299684011187 ], "Rotation": [ -1.0115972258972956e-05, -171.06118467085236, 0.06147233833058962 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -19.081306457519531, -131.50515556335449 ], "Max": [ 19.081234931945801, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -19.081306457519531, -131.50515747070312 ], [ 19.081233978271484, -131.50515747070312 ], [ 19.081233978271484, 131.50515747070312 ], [ -19.081306457519531, 131.50515747070312 ] ] }, { "UUID": "684B956C3E0B9B03333C994A34A4E6FE", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ 16.105192899689577, 231.2756061553977, 2.2447273133977301 ], "Rotation": [ 7.2258907058959033e-07, 100.03382109181877, 0.10042065591246373 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -54.698985815048218, -131.50515556335449 ], "Max": [ 54.699009656906128, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -54.698986053466797, -131.50515747070312 ], [ 54.699008941650391, -131.50515747070312 ], [ 54.699008941650391, 131.50515747070312 ], [ -54.698986053466797, 131.50515747070312 ] ] }, { "UUID": "61345A4CA1A00C5C18C7AC3423376901", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ 105.0693631171911, 76.471978425973873, 2.1759346142524829 ], "Rotation": [ 8.2498766259047504e-06, 12.057146123987874, -0.056147079105301173 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -168.04091930389404, -131.50515556335449 ], "Max": [ 168.04091930389404, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -168.04092407226562, -131.50515747070312 ], [ 168.04092407226562, -131.50515747070312 ], [ 168.04092407226562, 131.50515747070312 ], [ -168.04092407226562, 131.50515747070312 ] ] }, { "UUID": "934CE75D63F0856A9438DAB3ADA95409", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -33.873659372366134, -114.39212560653117, 1.7077162858417783 ], "Rotation": [ -2.0387201971063733e-06, -81.333117613062029, -0.098900144058006831 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -176.05507373809814, -131.50515556335449 ], "Max": [ 176.05516910552979, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -176.05506896972656, -131.50515747070312 ], [ 176.05517578125, -131.50515747070312 ], [ 176.05517578125, 131.50515747070312 ], [ -176.05506896972656, 131.50515747070312 ] ] },)" /* Split to avoid C2026 compile error */ R"( { "UUID": "4408BCA30B3EA779992A41339E9BD15E", "SemanticClassifications": [ "FLOOR" ], "Transform": { "Translation": [ -62.879419324774886, 46.623498201168552, -129.62889671430307 ], "Rotation": [ -90, 5.7098574004030409, 4.5827907590734602 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -168.46499443054199, -175.98437070846558 ], "Max": [ 168.46499443054199, 175.98425149917603 ] }, "PlaneBoundary2D": [ [ -158.47563171386719, -175.98432922363281 ], [ 168.46498107910156, -175.984375 ], [ 166.66807556152344, -81.945053100585938 ], [ 135.75675964355469, -83.034469604492188 ], [ 129.80014038085938, 55.337821960449219 ], [ 167.95199584960938, 56.239284515380859 ], [ 167.45750427246094, 165.63619995117188 ], [ -168.46499633789062, 175.9842529296875 ] ] }, { "UUID": "4C1D763C44C3462F4DA730971E171502", "SemanticClassifications": [ "CEILING" ], "Transform": { "Translation": [ -68.207877876431567, 45.219242573003598, 133.37569236642736 ], "Rotation": [ 90, 5.8687227517986269, -6.1892048707873073 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -173.80368709564209, -175.7470965385437 ], "Max": [ 173.8037109375, 175.74702501296997 ] }, "PlaneBoundary2D": [ [ -173.80368041992188, -175.74710083007812 ], [ 162.27815246582031, -175.74705505371094 ], [ 166.14077758789062, -66.417259216308594 ], [ 128.03475952148438, -64.341514587402344 ], [ 138.24908447265625, 73.781753540039062 ], [ 169.11221313476562, 71.741104125976562 ], [ 173.8037109375, 165.68048095703125 ], [ -152.98185729980469, 175.74703979492188 ] ] }, { "UUID": "BEEE3CD75BC02ABF219D9989481AE798", "SemanticClassifications": [ "COUCH" ], "Transform": { "Translation": [ -145.87221145497207, 107.07900524127058, -85.245281460326424 ], "Rotation": [ -90, -90, -169.62584716890692 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -101.4635443687439, -45.093107223510742 ], "Max": [ 101.4635443687439, 45.093107223510742 ] }, "PlaneBoundary2D": [ [ -101.46353149414062, -45.093109130859375 ], [ 101.46354675292969, -45.093082427978516 ], [ 101.46352386474609, 45.093109130859375 ], [ -101.46354675292969, 45.093109130859375 ] ], "VolumeBounds": { "Min": [ -12.15549111366272, -101.46353244781494, -45.093107223510742 ], "Max": [ 44.450020790100098, 101.46348476409912, 45.093095302581787 ] } }, { "UUID": "B369DAC9913F4653CF0006D292B47E67", "SemanticClassifications": [ "DOOR_FRAME" ], "Transform": { "Translation": [ -164.08888101534376, -134.22880172732661, -28.83420884841345 ], "Rotation": [ -3.064696784341266e-06, -81.293136003547502, -0.079074311984811629 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -38.468444347381592, -100.21964311599731 ], "Max": [ 38.468444347381592, 100.2196192741394 ] }, "PlaneBoundary2D": [ [ -38.46844482421875, -100.21964263916016 ], [ 38.46844482421875, -100.21964263916016 ], [ 38.46844482421875, 100.21963500976562 ], [ -38.46844482421875, 100.21963500976562 ] ] }, { "UUID": "7882FF81023E5FB0164183884565F6B7", "SemanticClassifications": [ "WINDOW_FRAME" ], "Transform": { "Translation": [ 86.993300914358954, 160.30499935153722, 27.146616579190244 ], "Rotation": [ 1.0255014892597823e-05, 11.946979537953439, -0.012821439033643854 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -57.708847522735596, -86.471712589263916 ], "Max": [ 57.708847522735596, 86.471712589263916 ] }, "PlaneBoundary2D": [ [ -57.708847045898438, -86.471710205078125 ], [ 57.708847045898438, -86.471710205078125 ], [ 57.708847045898438, 86.471717834472656 ], [ -57.708847045898438, 86.471717834472656 ] ] }, { "UUID": "1E578C3E9E7B495E9F8BB00A3722B619", "SemanticClassifications": [ "TABLE" ], "Transform": { "Translation": [ 66.697609425381202, -9.7909413278979525, -51.18460655107765 ], "Rotation": [ -90, -9.1488098605304629, -70.663235424372601 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -38.959389925003052, -79.420942068099976 ], "Max": [ 38.959354162216187, 79.42090630531311 ] }, "PlaneBoundary2D": [ [ -38.959377288818359, -79.420944213867188 ], [ 38.959354400634766, -79.420928955078125 ], [ 38.959331512451172, 79.420913696289062 ], [ -38.959388732910156, 79.420913696289062 ] ], "VolumeBounds": { "Min": [ 5.9604644775390625e-06, -38.959383964538574, -79.420942068099976 ], "Max": [ 78.46105694770813, 38.959354162216187, 79.42090630531311 ] } }, { "UUID": "4F3D506941FCDF2CDE529B778F7E2CA0", "SemanticClassifications": [ "SCREEN" ], "Transform": { "Translation": [ 83.592164516498727, 41.190987825381569, -2.9855161893029019 ], "Rotation": [ -90, 19.567800483011322, -8.7111107546809308 ], "Scale": [ 1, 1, 1 ] }, "VolumeBounds": { "Min": [ 0, -29.970204830169678, -4.4041812419891357 ], "Max": [ 48.06218147277832, 29.970204830169678, 4.4041812419891357 ] } }, { "UUID": "1BC70912D34BC775AA6D9C55D200683A", "SemanticClassifications": [ "SCREEN" ], "Transform": { "Translation": [ 88.798236847054, -18.041059374830681, -8.5256248698528676 ], "Rotation": [ -90, -0.2501150240923925, -5.5051996855984839 ], "Scale": [ 1, 1, 1 ] }, "VolumeBounds": { "Min": [ 0, -27.590945363044739, -4.127839207649231 ], "Max": [ 42.597478628158569, 27.590939402580261, 4.127839207649231 ] } }, { "UUID": "96EEDAE94C716C89C0402CF62DADFEB3", "SemanticClassifications": [ "STORAGE" ], "Transform": { "Translation": [ -24.263715742939379, -84.267413616290682, -70.311057567836698 ], "Rotation": [ -90, 41.440284814176032, -121.04073774753104 ], "Scale": [ 1, 1, 1 ] }, "VolumeBounds": { "Min": [ 0, -21.163803339004517, -20.850077271461487 ], "Max": [ 59.604281187057495, 21.163803339004517, 20.850077271461487 ] } }, { "UUID": "B8823BA241D69E1B5A3E716FDC16C035", "SemanticClassifications": [ "STORAGE" ], "Transform": { "Translation": [ 21.055686474657758, -75.153601169672626, -52.926862239392129 ], "Rotation": [ -90, 28.361682644897524, -108.18860733843303 ], "Scale": [ 1, 1, 1 ] }, "VolumeBounds": { "Min": [ 0, -15.779599547386169, -26.403164863586426 ], "Max": [ 76.910203695297241, 15.779599547386169, 26.403164863586426 ] } }, { "UUID": "3902154E700E7DFCEFCDD31C7CEEA21D", "SemanticClassifications": [ "STORAGE" ], "Transform": { "Translation": [ 10.554808378627637, 190.61878919597299, -25.321662426136452 ], "Rotation": [ -90, -5.9319241808660053, 103.25628078485644 ], "Scale": [ 1, 1, 1 ] }, "VolumeBounds": { "Min": [ 0, -40.154829621315002, -22.992253303527832 ], "Max": [ 103.86097431182861, 40.154829621315002, 22.992253303527832 ] } }, { "UUID": "FE43EA80E4940D9BE1D4FC4F55400F5A", "SemanticClassifications": [ "STORAGE" ], "Transform": { "Translation": [ -217.31374263794015, 167.31386184697604, 20.74184566373647 ], "Rotation": [ -90, 90, 9.7579414672703049 ], "Scale": [ 1, 1, 1 ] }, "VolumeBounds": { "Min": [ 0, -43.242943286895752, -19.515424966812134 ], "Max": [ 150.6071925163269, 43.242943286895752, 19.515424966812134 ] } }, { "UUID": "FBB8A4242C93CC2BC546074B344D408A", "SemanticClassifications": [ "WALL_ART" ], "Transform": { "Translation": [ -140.19610881877907, 169.11414861687959, 47.865357992596394 ], "Rotation": [ 1.4241377381107315e-06, 97.805118132482875, 0.16563613933941604 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -22.393298149108887, -17.249716818332672 ], "Max": [ 22.393357753753662, 17.249719798564911 ] }, "PlaneBoundary2D": [ [ -22.393299102783203, -17.249717712402344 ], [ 22.39335823059082, -17.249717712402344 ], [ 22.39335823059082, 17.249711990356445 ], [ -22.393299102783203, 17.249717712402344 ] ] }, { "UUID": "63DD7C430C6AF808234FA1EA70EB1135", "SemanticClassifications": [ "WALL_ART" ], "Transform": { "Translation": [ -61.326617003108687, 179.92563247687792, 41.238221524910614 ], "Rotation": [ 2.9892305539357142e-06, 97.766337493616959, 0.15780471846346075 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -21.803402900695801, -17.437992990016937 ], "Max": [ 21.803414821624756, 17.437995970249176 ] }, "PlaneBoundary2D": [ [ -21.803401947021484, -17.437992095947266 ], [ 21.803415298461914, -17.437992095947266 ], [ 21.803415298461914, 17.437997817993164 ], [ -21.803401947021484, 17.437997817993164 ] ] }, { "UUID": "DE8DDDD990AD5FCB8E7E237E938CB0D3", "SemanticClassifications": [ "WALL_ART" ], "Transform": { "Translation": [ 16.382831334551845, 231.31909370427766, 34.696799516561285 ], "Rotation": [ 3.9054193939550909e-06, 100.14347625836002, 0.047545250325334014 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -17.035198211669922, -23.50517213344574 ], "Max": [ 17.035174369812012, 23.505175113677979 ] }, "PlaneBoundary2D": [ [ -17.035198211669922, -23.505172729492188 ], [ 17.035175323486328, -23.505172729492188 ], [ 17.035175323486328, 23.50517463684082 ], [ -17.035186767578125, 23.50517463684082 ] ] } ] } ] })"); const TCHAR* ExampleRoomMoreFurnitureAddedJson = TEXT(R"( { "Rooms": [ { "UUID": "7CDDA638E08442FF193FD34FE9E42850", "RoomLayout": { "FloorUuid": "4408BCA30B3EA779992A41339E9BD15E", "CeilingUuid": "4C1D763C44C3462F4DA730971E171502", "WallsUuid": [ "195FA745A478AF0C8FB57CEB03B22863", "A9EC4ACC695D848A817A9638C4084117", "1C751664D717BE40458D9EC34BD5D378", "FDB6E9B321F59B54A2C5C86E5C7115E6", "9FEBCF7BD9E0A320A3BD68E2D7573255", "684B956C3E0B9B03333C994A34A4E6FE", "61345A4CA1A00C5C18C7AC3423376901", "934CE75D63F0856A9438DAB3ADA95409" ] }, "Anchors": [ { "UUID": "195FA745A478AF0C8FB57CEB03B22863", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -237.12472915651662, 19.925808906578482, 1.5676200352898995 ], "Rotation": [ -1.1819296446447803e-05, -169.70749357033259, 0.057707750157921504 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -163.47031593322754, -131.50515556335449 ], "Max": [ 163.47026824951172, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -163.47032165527344, -131.50515747070312 ], [ 163.47027587890625, -131.50515747070312 ], [ 163.47027587890625, 131.50515747070312 ], [ -163.47032165527344, 131.50515747070312 ] ] }, { "UUID": "A9EC4ACC695D848A817A9638C4084117", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -219.91224288941592, 188.27182054521873, 1.8210597299298268 ], "Rotation": [ 7.4741822743562458e-07, 99.198330970154288, 0.098590620438120544 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -47.028231620788574, -131.50515556335449 ], "Max": [ 47.028231620788574, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -47.028232574462891, -131.50515747070312 ], [ 47.028232574462891, -131.50515747070312 ], [ 47.028232574462891, 131.50515747070312 ], [ -47.028232574462891, 131.50515747070312 ] ] }, { "UUID": "1C751664D717BE40458D9EC34BD5D378", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -171.26309871674914, 180.48512935640233, 1.8855862290118015 ], "Rotation": [ 6.4467732645053494e-06, 8.2745309490490655, -0.061610071422649071 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -15.465247631072998, -131.50515556335449 ], "Max": [ 15.465259552001953, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -15.465248107910156, -131.50515747070312 ], [ 15.465259552001953, -131.50515747070312 ], [ 15.465259552001953, 131.50515747070312 ], [ -15.465248107910156, 131.50515747070312 ] ] }, { "UUID": "FDB6E9B321F59B54A2C5C86E5C7115E6", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -100.43122768403643, 174.61351156235941, 1.9896067660616943 ], "Rotation": [ 1.2842223247239193e-06, 97.827956772803347, 0.097884147130853222 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -69.250226020812988, -131.50515556335449 ], "Max": [ 69.250202178955078, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -69.250228881835938, -131.50515747070312 ], [ 69.250198364257812, -131.50515747070312 ], [ 69.250198364257812, 131.50515747070312 ], [ -69.250228881835938, 131.50515747070312 ] ] }, { "UUID": "9FEBCF7BD9E0A320A3BD68E2D7573255", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -34.790527820602257, 202.89564132691075, 2.1287299684011187 ], "Rotation": [ -1.0115972258972956e-05, -171.06118467085236, 0.06147233833058962 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -19.081306457519531, -131.50515556335449 ], "Max": [ 19.081234931945801, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -19.081306457519531, -131.50515747070312 ], [ 19.081233978271484, -131.50515747070312 ], [ 19.081233978271484, 131.50515747070312 ], [ -19.081306457519531, 131.50515747070312 ] ] }, { "UUID": "684B956C3E0B9B03333C994A34A4E6FE", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ 16.105192899689577, 231.2756061553977, 2.2447273133977301 ], "Rotation": [ 7.2258907058959033e-07, 100.03382109181877, 0.10042065591246373 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -54.698985815048218, -131.50515556335449 ], "Max": [ 54.699009656906128, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -54.698986053466797, -131.50515747070312 ], [ 54.699008941650391, -131.50515747070312 ], [ 54.699008941650391, 131.50515747070312 ], [ -54.698986053466797, 131.50515747070312 ] ] }, { "UUID": "61345A4CA1A00C5C18C7AC3423376901", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ 105.0693631171911, 76.471978425973873, 2.1759346142524829 ], "Rotation": [ 8.2498766259047504e-06, 12.057146123987874, -0.056147079105301173 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -168.04091930389404, -131.50515556335449 ], "Max": [ 168.04091930389404, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -168.04092407226562, -131.50515747070312 ], [ 168.04092407226562, -131.50515747070312 ], [ 168.04092407226562, 131.50515747070312 ], [ -168.04092407226562, 131.50515747070312 ] ] }, { "UUID": "934CE75D63F0856A9438DAB3ADA95409", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -33.873659372366134, -114.39212560653117, 1.7077162858417783 ], "Rotation": [ -2.0387201971063733e-06, -81.333117613062029, -0.098900144058006831 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -176.05507373809814, -131.50515556335449 ], "Max": [ 176.05516910552979, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -176.05506896972656, -131.50515747070312 ], [ 176.05517578125, -131.50515747070312 ], [ 176.05517578125, 131.50515747070312 ], [ -176.05506896972656, 131.50515747070312 ] ] },)" /* Split to avoid C2026 compile error */ R"( { "UUID": "4408BCA30B3EA779992A41339E9BD15E", "SemanticClassifications": [ "FLOOR" ], "Transform": { "Translation": [ -62.879419324774886, 46.623498201168552, -129.62889671430307 ], "Rotation": [ -90, 5.7098574004030409, 4.5827907590734602 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -168.46499443054199, -175.98437070846558 ], "Max": [ 168.46499443054199, 175.98425149917603 ] }, "PlaneBoundary2D": [ [ -158.47563171386719, -175.98432922363281 ], [ 168.46498107910156, -175.984375 ], [ 166.66807556152344, -81.945053100585938 ], [ 135.75675964355469, -83.034469604492188 ], [ 129.80014038085938, 55.337821960449219 ], [ 167.95199584960938, 56.239284515380859 ], [ 167.45750427246094, 165.63619995117188 ], [ -168.46499633789062, 175.9842529296875 ] ] }, { "UUID": "4C1D763C44C3462F4DA730971E171502", "SemanticClassifications": [ "CEILING" ], "Transform": { "Translation": [ -68.207877876431567, 45.219242573003598, 133.37569236642736 ], "Rotation": [ 90, 5.8687227517986269, -6.1892048707873073 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -173.80368709564209, -175.7470965385437 ], "Max": [ 173.8037109375, 175.74702501296997 ] }, "PlaneBoundary2D": [ [ -173.80368041992188, -175.74710083007812 ], [ 162.27815246582031, -175.74705505371094 ], [ 166.14077758789062, -66.417259216308594 ], [ 128.03475952148438, -64.341514587402344 ], [ 138.24908447265625, 73.781753540039062 ], [ 169.11221313476562, 71.741104125976562 ], [ 173.8037109375, 165.68048095703125 ], [ -152.98185729980469, 175.74703979492188 ] ] }, { "UUID": "BEEE3CD75BC02ABF219D9989481AE798", "SemanticClassifications": [ "COUCH" ], "Transform": { "Translation": [ -145.87221145497207, 107.07900524127058, -85.245281460326424 ], "Rotation": [ -90, -90, -169.62584716890692 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -101.4635443687439, -45.093107223510742 ], "Max": [ 101.4635443687439, 45.093107223510742 ] }, "PlaneBoundary2D": [ [ -101.46353149414062, -45.093109130859375 ], [ 101.46354675292969, -45.093082427978516 ], [ 101.46352386474609, 45.093109130859375 ], [ -101.46354675292969, 45.093109130859375 ] ], "VolumeBounds": { "Min": [ -12.15549111366272, -101.46353244781494, -45.093107223510742 ], "Max": [ 44.450020790100098, 101.46348476409912, 45.093095302581787 ] } }, { "UUID": "AEEE3CD75BC02ABF219D9989481AE778", "SemanticClassifications": [ "COUCH" ], "Transform": { "Translation": [ -145.87221145497207, 107.07900524127058, -85.245281460326424 ], "Rotation": [ -90, -90, -169.62584716890692 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -101.4635443687439, -45.093107223510742 ], "Max": [ 101.4635443687439, 45.093107223510742 ] }, "PlaneBoundary2D": [ [ -101.46353149414062, -45.093109130859375 ], [ 101.46354675292969, -45.093082427978516 ], [ 101.46352386474609, 45.093109130859375 ], [ -101.46354675292969, 45.093109130859375 ] ], "VolumeBounds": { "Min": [ -12.15549111366272, -101.46353244781494, -45.093107223510742 ], "Max": [ 44.450020790100098, 101.46348476409912, 45.093095302581787 ] } }, { "UUID": "BAEE3CD65BC02ABF219D9989481AE798", "SemanticClassifications": [ "COUCH" ], "Transform": { "Translation": [ -145.87221145497207, 107.07900524127058, -85.245281460326424 ], "Rotation": [ -90, -90, -169.62584716890692 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -101.4635443687439, -45.093107223510742 ], "Max": [ 101.4635443687439, 45.093107223510742 ] }, "PlaneBoundary2D": [ [ -101.46353149414062, -45.093109130859375 ], [ 101.46354675292969, -45.093082427978516 ], [ 101.46352386474609, 45.093109130859375 ], [ -101.46354675292969, 45.093109130859375 ] ], "VolumeBounds": { "Min": [ -12.15549111366272, -101.46353244781494, -45.093107223510742 ], "Max": [ 44.450020790100098, 101.46348476409912, 45.093095302581787 ] } }, { "UUID": "B369DAC9913F4653CF0006D292B47E67", "SemanticClassifications": [ "DOOR_FRAME" ], "Transform": { "Translation": [ -164.08888101534376, -134.22880172732661, -28.83420884841345 ], "Rotation": [ -3.064696784341266e-06, -81.293136003547502, -0.079074311984811629 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -38.468444347381592, -100.21964311599731 ], "Max": [ 38.468444347381592, 100.2196192741394 ] }, "PlaneBoundary2D": [ [ -38.46844482421875, -100.21964263916016 ], [ 38.46844482421875, -100.21964263916016 ], [ 38.46844482421875, 100.21963500976562 ], [ -38.46844482421875, 100.21963500976562 ] ] }, { "UUID": "A379DAC9913F4653CF0006D292B47E67", "SemanticClassifications": [ "DOOR_FRAME" ], "Transform": { "Translation": [ -164.08888101534376, -134.22880172732661, -28.83420884841345 ], "Rotation": [ -3.064696784341266e-06, -81.293136003547502, -0.079074311984811629 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -38.468444347381592, -100.21964311599731 ], "Max": [ 38.468444347381592, 100.2196192741394 ] }, "PlaneBoundary2D": [ [ -38.46844482421875, -100.21964263916016 ], [ 38.46844482421875, -100.21964263916016 ], [ 38.46844482421875, 100.21963500976562 ], [ -38.46844482421875, 100.21963500976562 ] ] }, { "UUID": "7882FF81023E5FB0164183884565F6B7", "SemanticClassifications": [ "WINDOW_FRAME" ], "Transform": { "Translation": [ 86.993300914358954, 160.30499935153722, 27.146616579190244 ], "Rotation": [ 1.0255014892597823e-05, 11.946979537953439, -0.012821439033643854 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -57.708847522735596, -86.471712589263916 ], "Max": [ 57.708847522735596, 86.471712589263916 ] }, "PlaneBoundary2D": [ [ -57.708847045898438, -86.471710205078125 ], [ 57.708847045898438, -86.471710205078125 ], [ 57.708847045898438, 86.471717834472656 ], [ -57.708847045898438, 86.471717834472656 ] ] }, { "UUID": "1E578C3E9E7B495E9F8BB00A3722B619", "SemanticClassifications": [ "TABLE" ], "Transform": { "Translation": [ 66.697609425381202, -9.7909413278979525, -51.18460655107765 ], "Rotation": [ -90, -9.1488098605304629, -70.663235424372601 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -38.959389925003052, -79.420942068099976 ], "Max": [ 38.959354162216187, 79.42090630531311 ] }, "PlaneBoundary2D": [ [ -38.959377288818359, -79.420944213867188 ], [ 38.959354400634766, -79.420928955078125 ], [ 38.959331512451172, 79.420913696289062 ], [ -38.959388732910156, 79.420913696289062 ] ], "VolumeBounds": { "Min": [ 5.9604644775390625e-06, -38.959383964538574, -79.420942068099976 ], "Max": [ 78.46105694770813, 38.959354162216187, 79.42090630531311 ] } }, { "UUID": "4F3D506941FCDF2CDE529B778F7E2CA0", "SemanticClassifications": [ "SCREEN" ], "Transform": { "Translation": [ 83.592164516498727, 41.190987825381569, -2.9855161893029019 ], "Rotation": [ -90, 19.567800483011322, -8.7111107546809308 ], "Scale": [ 1, 1, 1 ] }, "VolumeBounds": { "Min": [ 0, -29.970204830169678, -4.4041812419891357 ], "Max": [ 48.06218147277832, 29.970204830169678, 4.4041812419891357 ] } }, { "UUID": "1BC70912D34BC775AA6D9C55D200683A", "SemanticClassifications": [ "SCREEN" ], "Transform": { "Translation": [ 88.798236847054, -18.041059374830681, -8.5256248698528676 ], "Rotation": [ -90, -0.2501150240923925, -5.5051996855984839 ], "Scale": [ 1, 1, 1 ] }, "VolumeBounds": { "Min": [ 0, -27.590945363044739, -4.127839207649231 ], "Max": [ 42.597478628158569, 27.590939402580261, 4.127839207649231 ] } }, { "UUID": "96EEDAE94C716C89C0402CF62DADFEB3", "SemanticClassifications": [ "STORAGE" ], "Transform": { "Translation": [ -24.263715742939379, -84.267413616290682, -70.311057567836698 ], "Rotation": [ -90, 41.440284814176032, -121.04073774753104 ], "Scale": [ 1, 1, 1 ] }, "VolumeBounds": { "Min": [ 0, -21.163803339004517, -20.850077271461487 ], "Max": [ 59.604281187057495, 21.163803339004517, 20.850077271461487 ] } }, { "UUID": "B8823BA241D69E1B5A3E716FDC16C035", "SemanticClassifications": [ "STORAGE" ], "Transform": { "Translation": [ 21.055686474657758, -75.153601169672626, -52.926862239392129 ], "Rotation": [ -90, 28.361682644897524, -108.18860733843303 ], "Scale": [ 1, 1, 1 ] }, "VolumeBounds": { "Min": [ 0, -15.779599547386169, -26.403164863586426 ], "Max": [ 76.910203695297241, 15.779599547386169, 26.403164863586426 ] } }, { "UUID": "3902154E700E7DFCEFCDD31C7CEEA21D", "SemanticClassifications": [ "STORAGE" ], "Transform": { "Translation": [ 10.554808378627637, 190.61878919597299, -25.321662426136452 ], "Rotation": [ -90, -5.9319241808660053, 103.25628078485644 ], "Scale": [ 1, 1, 1 ] }, "VolumeBounds": { "Min": [ 0, -40.154829621315002, -22.992253303527832 ], "Max": [ 103.86097431182861, 40.154829621315002, 22.992253303527832 ] } }, { "UUID": "FE43EA80E4940D9BE1D4FC4F55400F5A", "SemanticClassifications": [ "STORAGE" ], "Transform": { "Translation": [ -217.31374263794015, 167.31386184697604, 20.74184566373647 ], "Rotation": [ -90, 90, 9.7579414672703049 ], "Scale": [ 1, 1, 1 ] }, "VolumeBounds": { "Min": [ 0, -43.242943286895752, -19.515424966812134 ], "Max": [ 150.6071925163269, 43.242943286895752, 19.515424966812134 ] } }, { "UUID": "FBB8A4242C93CC2BC546074B344D408A", "SemanticClassifications": [ "WALL_ART" ], "Transform": { "Translation": [ -140.19610881877907, 169.11414861687959, 47.865357992596394 ], "Rotation": [ 1.4241377381107315e-06, 97.805118132482875, 0.16563613933941604 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -22.393298149108887, -17.249716818332672 ], "Max": [ 22.393357753753662, 17.249719798564911 ] }, "PlaneBoundary2D": [ [ -22.393299102783203, -17.249717712402344 ], [ 22.39335823059082, -17.249717712402344 ], [ 22.39335823059082, 17.249711990356445 ], [ -22.393299102783203, 17.249717712402344 ] ] }, { "UUID": "63DD7C430C6AF808234FA1EA70EB1135", "SemanticClassifications": [ "WALL_ART" ], "Transform": { "Translation": [ -61.326617003108687, 179.92563247687792, 41.238221524910614 ], "Rotation": [ 2.9892305539357142e-06, 97.766337493616959, 0.15780471846346075 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -21.803402900695801, -17.437992990016937 ], "Max": [ 21.803414821624756, 17.437995970249176 ] }, "PlaneBoundary2D": [ [ -21.803401947021484, -17.437992095947266 ], [ 21.803415298461914, -17.437992095947266 ], [ 21.803415298461914, 17.437997817993164 ], [ -21.803401947021484, 17.437997817993164 ] ] }, { "UUID": "DE8DDDD990AD5FCB8E7E237E938CB0D3", "SemanticClassifications": [ "WALL_ART" ], "Transform": { "Translation": [ 16.382831334551845, 231.31909370427766, 34.696799516561285 ], "Rotation": [ 3.9054193939550909e-06, 100.14347625836002, 0.047545250325334014 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -17.035198211669922, -23.50517213344574 ], "Max": [ 17.035174369812012, 23.505175113677979 ] }, "PlaneBoundary2D": [ [ -17.035198211669922, -23.505172729492188 ], [ 17.035175323486328, -23.505172729492188 ], [ 17.035175323486328, 23.50517463684082 ], [ -17.035186767578125, 23.50517463684082 ] ] } ] } ] })"); const TCHAR* ExampleRoomFurnitureAddedJson = TEXT(R"( { "Rooms": [ { "UUID": "7CDDA638E08442FF193FD34FE9E42850", "RoomLayout": { "FloorUuid": "4408BCA30B3EA779992A41339E9BD15E", "CeilingUuid": "4C1D763C44C3462F4DA730971E171502", "WallsUuid": [ "195FA745A478AF0C8FB57CEB03B22863", "A9EC4ACC695D848A817A9638C4084117", "1C751664D717BE40458D9EC34BD5D378", "FDB6E9B321F59B54A2C5C86E5C7115E6", "9FEBCF7BD9E0A320A3BD68E2D7573255", "684B956C3E0B9B03333C994A34A4E6FE", "61345A4CA1A00C5C18C7AC3423376901", "934CE75D63F0856A9438DAB3ADA95409" ] }, "Anchors": [ { "UUID": "195FA745A478AF0C8FB57CEB03B22863", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -237.12472915651662, 19.925808906578482, 1.5676200352898995 ], "Rotation": [ -1.1819296446447803e-05, -169.70749357033259, 0.057707750157921504 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -163.47031593322754, -131.50515556335449 ], "Max": [ 163.47026824951172, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -163.47032165527344, -131.50515747070312 ], [ 163.47027587890625, -131.50515747070312 ], [ 163.47027587890625, 131.50515747070312 ], [ -163.47032165527344, 131.50515747070312 ] ] }, { "UUID": "A9EC4ACC695D848A817A9638C4084117", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -219.91224288941592, 188.27182054521873, 1.8210597299298268 ], "Rotation": [ 7.4741822743562458e-07, 99.198330970154288, 0.098590620438120544 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -47.028231620788574, -131.50515556335449 ], "Max": [ 47.028231620788574, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -47.028232574462891, -131.50515747070312 ], [ 47.028232574462891, -131.50515747070312 ], [ 47.028232574462891, 131.50515747070312 ], [ -47.028232574462891, 131.50515747070312 ] ] }, { "UUID": "1C751664D717BE40458D9EC34BD5D378", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -171.26309871674914, 180.48512935640233, 1.8855862290118015 ], "Rotation": [ 6.4467732645053494e-06, 8.2745309490490655, -0.061610071422649071 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -15.465247631072998, -131.50515556335449 ], "Max": [ 15.465259552001953, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -15.465248107910156, -131.50515747070312 ], [ 15.465259552001953, -131.50515747070312 ], [ 15.465259552001953, 131.50515747070312 ], [ -15.465248107910156, 131.50515747070312 ] ] }, { "UUID": "FDB6E9B321F59B54A2C5C86E5C7115E6", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -100.43122768403643, 174.61351156235941, 1.9896067660616943 ], "Rotation": [ 1.2842223247239193e-06, 97.827956772803347, 0.097884147130853222 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -69.250226020812988, -131.50515556335449 ], "Max": [ 69.250202178955078, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -69.250228881835938, -131.50515747070312 ], [ 69.250198364257812, -131.50515747070312 ], [ 69.250198364257812, 131.50515747070312 ], [ -69.250228881835938, 131.50515747070312 ] ] }, { "UUID": "9FEBCF7BD9E0A320A3BD68E2D7573255", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -34.790527820602257, 202.89564132691075, 2.1287299684011187 ], "Rotation": [ -1.0115972258972956e-05, -171.06118467085236, 0.06147233833058962 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -19.081306457519531, -131.50515556335449 ], "Max": [ 19.081234931945801, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -19.081306457519531, -131.50515747070312 ], [ 19.081233978271484, -131.50515747070312 ], [ 19.081233978271484, 131.50515747070312 ], [ -19.081306457519531, 131.50515747070312 ] ] }, { "UUID": "684B956C3E0B9B03333C994A34A4E6FE", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ 16.105192899689577, 231.2756061553977, 2.2447273133977301 ], "Rotation": [ 7.2258907058959033e-07, 100.03382109181877, 0.10042065591246373 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -54.698985815048218, -131.50515556335449 ], "Max": [ 54.699009656906128, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -54.698986053466797, -131.50515747070312 ], [ 54.699008941650391, -131.50515747070312 ], [ 54.699008941650391, 131.50515747070312 ], [ -54.698986053466797, 131.50515747070312 ] ] }, { "UUID": "61345A4CA1A00C5C18C7AC3423376901", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ 105.0693631171911, 76.471978425973873, 2.1759346142524829 ], "Rotation": [ 8.2498766259047504e-06, 12.057146123987874, -0.056147079105301173 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -168.04091930389404, -131.50515556335449 ], "Max": [ 168.04091930389404, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -168.04092407226562, -131.50515747070312 ], [ 168.04092407226562, -131.50515747070312 ], [ 168.04092407226562, 131.50515747070312 ], [ -168.04092407226562, 131.50515747070312 ] ] }, { "UUID": "934CE75D63F0856A9438DAB3ADA95409", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -33.873659372366134, -114.39212560653117, 1.7077162858417783 ], "Rotation": [ -2.0387201971063733e-06, -81.333117613062029, -0.098900144058006831 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -176.05507373809814, -131.50515556335449 ], "Max": [ 176.05516910552979, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -176.05506896972656, -131.50515747070312 ], [ 176.05517578125, -131.50515747070312 ], [ 176.05517578125, 131.50515747070312 ], [ -176.05506896972656, 131.50515747070312 ] ] },)" /* Split to avoid C2026 compile error */ R"( { "UUID": "4408BCA30B3EA779992A41339E9BD15E", "SemanticClassifications": [ "FLOOR" ], "Transform": { "Translation": [ -62.879419324774886, 46.623498201168552, -129.62889671430307 ], "Rotation": [ -90, 5.7098574004030409, 4.5827907590734602 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -168.46499443054199, -175.98437070846558 ], "Max": [ 168.46499443054199, 175.98425149917603 ] }, "PlaneBoundary2D": [ [ -158.47563171386719, -175.98432922363281 ], [ 168.46498107910156, -175.984375 ], [ 166.66807556152344, -81.945053100585938 ], [ 135.75675964355469, -83.034469604492188 ], [ 129.80014038085938, 55.337821960449219 ], [ 167.95199584960938, 56.239284515380859 ], [ 167.45750427246094, 165.63619995117188 ], [ -168.46499633789062, 175.9842529296875 ] ] }, { "UUID": "4C1D763C44C3462F4DA730971E171502", "SemanticClassifications": [ "CEILING" ], "Transform": { "Translation": [ -68.207877876431567, 45.219242573003598, 133.37569236642736 ], "Rotation": [ 90, 5.8687227517986269, -6.1892048707873073 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -173.80368709564209, -175.7470965385437 ], "Max": [ 173.8037109375, 175.74702501296997 ] }, "PlaneBoundary2D": [ [ -173.80368041992188, -175.74710083007812 ], [ 162.27815246582031, -175.74705505371094 ], [ 166.14077758789062, -66.417259216308594 ], [ 128.03475952148438, -64.341514587402344 ], [ 138.24908447265625, 73.781753540039062 ], [ 169.11221313476562, 71.741104125976562 ], [ 173.8037109375, 165.68048095703125 ], [ -152.98185729980469, 175.74703979492188 ] ] }, { "UUID": "BEEE3CD75BC02ABF219D9989481AE798", "SemanticClassifications": [ "COUCH" ], "Transform": { "Translation": [ -145.87221145497207, 107.07900524127058, -85.245281460326424 ], "Rotation": [ -90, -90, -169.62584716890692 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -101.4635443687439, -45.093107223510742 ], "Max": [ 101.4635443687439, 45.093107223510742 ] }, "PlaneBoundary2D": [ [ -101.46353149414062, -45.093109130859375 ], [ 101.46354675292969, -45.093082427978516 ], [ 101.46352386474609, 45.093109130859375 ], [ -101.46354675292969, 45.093109130859375 ] ], "VolumeBounds": { "Min": [ -12.15549111366272, -101.46353244781494, -45.093107223510742 ], "Max": [ 44.450020790100098, 101.46348476409912, 45.093095302581787 ] } }, { "UUID": "BAEE3CD65BC02ABF219D9989481AE798", "SemanticClassifications": [ "COUCH" ], "Transform": { "Translation": [ -145.87221145497207, 107.07900524127058, -85.245281460326424 ], "Rotation": [ -90, -90, -169.62584716890692 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -101.4635443687439, -45.093107223510742 ], "Max": [ 101.4635443687439, 45.093107223510742 ] }, "PlaneBoundary2D": [ [ -101.46353149414062, -45.093109130859375 ], [ 101.46354675292969, -45.093082427978516 ], [ 101.46352386474609, 45.093109130859375 ], [ -101.46354675292969, 45.093109130859375 ] ], "VolumeBounds": { "Min": [ -12.15549111366272, -101.46353244781494, -45.093107223510742 ], "Max": [ 44.450020790100098, 101.46348476409912, 45.093095302581787 ] } }, { "UUID": "B369DAC9913F4653CF0006D292B47E67", "SemanticClassifications": [ "DOOR_FRAME" ], "Transform": { "Translation": [ -164.08888101534376, -134.22880172732661, -28.83420884841345 ], "Rotation": [ -3.064696784341266e-06, -81.293136003547502, -0.079074311984811629 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -38.468444347381592, -100.21964311599731 ], "Max": [ 38.468444347381592, 100.2196192741394 ] }, "PlaneBoundary2D": [ [ -38.46844482421875, -100.21964263916016 ], [ 38.46844482421875, -100.21964263916016 ], [ 38.46844482421875, 100.21963500976562 ], [ -38.46844482421875, 100.21963500976562 ] ] }, { "UUID": "A379DAC9913F4653CF0006D292B47E67", "SemanticClassifications": [ "DOOR_FRAME" ], "Transform": { "Translation": [ -164.08888101534376, -134.22880172732661, -28.83420884841345 ], "Rotation": [ -3.064696784341266e-06, -81.293136003547502, -0.079074311984811629 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -38.468444347381592, -100.21964311599731 ], "Max": [ 38.468444347381592, 100.2196192741394 ] }, "PlaneBoundary2D": [ [ -38.46844482421875, -100.21964263916016 ], [ 38.46844482421875, -100.21964263916016 ], [ 38.46844482421875, 100.21963500976562 ], [ -38.46844482421875, 100.21963500976562 ] ] }, { "UUID": "7882FF81023E5FB0164183884565F6B7", "SemanticClassifications": [ "WINDOW_FRAME" ], "Transform": { "Translation": [ 86.993300914358954, 160.30499935153722, 27.146616579190244 ], "Rotation": [ 1.0255014892597823e-05, 11.946979537953439, -0.012821439033643854 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -57.708847522735596, -86.471712589263916 ], "Max": [ 57.708847522735596, 86.471712589263916 ] }, "PlaneBoundary2D": [ [ -57.708847045898438, -86.471710205078125 ], [ 57.708847045898438, -86.471710205078125 ], [ 57.708847045898438, 86.471717834472656 ], [ -57.708847045898438, 86.471717834472656 ] ] }, { "UUID": "1E578C3E9E7B495E9F8BB00A3722B619", "SemanticClassifications": [ "TABLE" ], "Transform": { "Translation": [ 66.697609425381202, -9.7909413278979525, -51.18460655107765 ], "Rotation": [ -90, -9.1488098605304629, -70.663235424372601 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -38.959389925003052, -79.420942068099976 ], "Max": [ 38.959354162216187, 79.42090630531311 ] }, "PlaneBoundary2D": [ [ -38.959377288818359, -79.420944213867188 ], [ 38.959354400634766, -79.420928955078125 ], [ 38.959331512451172, 79.420913696289062 ], [ -38.959388732910156, 79.420913696289062 ] ], "VolumeBounds": { "Min": [ 5.9604644775390625e-06, -38.959383964538574, -79.420942068099976 ], "Max": [ 78.46105694770813, 38.959354162216187, 79.42090630531311 ] } }, { "UUID": "4F3D506941FCDF2CDE529B778F7E2CA0", "SemanticClassifications": [ "SCREEN" ], "Transform": { "Translation": [ 83.592164516498727, 41.190987825381569, -2.9855161893029019 ], "Rotation": [ -90, 19.567800483011322, -8.7111107546809308 ], "Scale": [ 1, 1, 1 ] }, "VolumeBounds": { "Min": [ 0, -29.970204830169678, -4.4041812419891357 ], "Max": [ 48.06218147277832, 29.970204830169678, 4.4041812419891357 ] } }, { "UUID": "1BC70912D34BC775AA6D9C55D200683A", "SemanticClassifications": [ "SCREEN" ], "Transform": { "Translation": [ 88.798236847054, -18.041059374830681, -8.5256248698528676 ], "Rotation": [ -90, -0.2501150240923925, -5.5051996855984839 ], "Scale": [ 1, 1, 1 ] }, "VolumeBounds": { "Min": [ 0, -27.590945363044739, -4.127839207649231 ], "Max": [ 42.597478628158569, 27.590939402580261, 4.127839207649231 ] } }, { "UUID": "96EEDAE94C716C89C0402CF62DADFEB3", "SemanticClassifications": [ "STORAGE" ], "Transform": { "Translation": [ -24.263715742939379, -84.267413616290682, -70.311057567836698 ], "Rotation": [ -90, 41.440284814176032, -121.04073774753104 ], "Scale": [ 1, 1, 1 ] }, "VolumeBounds": { "Min": [ 0, -21.163803339004517, -20.850077271461487 ], "Max": [ 59.604281187057495, 21.163803339004517, 20.850077271461487 ] } }, { "UUID": "B8823BA241D69E1B5A3E716FDC16C035", "SemanticClassifications": [ "STORAGE" ], "Transform": { "Translation": [ 21.055686474657758, -75.153601169672626, -52.926862239392129 ], "Rotation": [ -90, 28.361682644897524, -108.18860733843303 ], "Scale": [ 1, 1, 1 ] }, "VolumeBounds": { "Min": [ 0, -15.779599547386169, -26.403164863586426 ], "Max": [ 76.910203695297241, 15.779599547386169, 26.403164863586426 ] } }, { "UUID": "3902154E700E7DFCEFCDD31C7CEEA21D", "SemanticClassifications": [ "STORAGE" ], "Transform": { "Translation": [ 10.554808378627637, 190.61878919597299, -25.321662426136452 ], "Rotation": [ -90, -5.9319241808660053, 103.25628078485644 ], "Scale": [ 1, 1, 1 ] }, "VolumeBounds": { "Min": [ 0, -40.154829621315002, -22.992253303527832 ], "Max": [ 103.86097431182861, 40.154829621315002, 22.992253303527832 ] } }, { "UUID": "FE43EA80E4940D9BE1D4FC4F55400F5A", "SemanticClassifications": [ "STORAGE" ], "Transform": { "Translation": [ -217.31374263794015, 167.31386184697604, 20.74184566373647 ], "Rotation": [ -90, 90, 9.7579414672703049 ], "Scale": [ 1, 1, 1 ] }, "VolumeBounds": { "Min": [ 0, -43.242943286895752, -19.515424966812134 ], "Max": [ 150.6071925163269, 43.242943286895752, 19.515424966812134 ] } }, { "UUID": "FBB8A4242C93CC2BC546074B344D408A", "SemanticClassifications": [ "WALL_ART" ], "Transform": { "Translation": [ -140.19610881877907, 169.11414861687959, 47.865357992596394 ], "Rotation": [ 1.4241377381107315e-06, 97.805118132482875, 0.16563613933941604 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -22.393298149108887, -17.249716818332672 ], "Max": [ 22.393357753753662, 17.249719798564911 ] }, "PlaneBoundary2D": [ [ -22.393299102783203, -17.249717712402344 ], [ 22.39335823059082, -17.249717712402344 ], [ 22.39335823059082, 17.249711990356445 ], [ -22.393299102783203, 17.249717712402344 ] ] }, { "UUID": "63DD7C430C6AF808234FA1EA70EB1135", "SemanticClassifications": [ "WALL_ART" ], "Transform": { "Translation": [ -61.326617003108687, 179.92563247687792, 41.238221524910614 ], "Rotation": [ 2.9892305539357142e-06, 97.766337493616959, 0.15780471846346075 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -21.803402900695801, -17.437992990016937 ], "Max": [ 21.803414821624756, 17.437995970249176 ] }, "PlaneBoundary2D": [ [ -21.803401947021484, -17.437992095947266 ], [ 21.803415298461914, -17.437992095947266 ], [ 21.803415298461914, 17.437997817993164 ], [ -21.803401947021484, 17.437997817993164 ] ] }, { "UUID": "DE8DDDD990AD5FCB8E7E237E938CB0D3", "SemanticClassifications": [ "WALL_ART" ], "Transform": { "Translation": [ 16.382831334551845, 231.31909370427766, 34.696799516561285 ], "Rotation": [ 3.9054193939550909e-06, 100.14347625836002, 0.047545250325334014 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -17.035198211669922, -23.50517213344574 ], "Max": [ 17.035174369812012, 23.505175113677979 ] }, "PlaneBoundary2D": [ [ -17.035198211669922, -23.505172729492188 ], [ 17.035175323486328, -23.505172729492188 ], [ 17.035175323486328, 23.50517463684082 ], [ -17.035186767578125, 23.50517463684082 ] ] } ] } ] })"); const TCHAR* ExampleRoomFurnitureModifiedJson = TEXT(R"( { "Rooms": [ { "UUID": "9CDDA638E08442FF193FD34FE9E42850", "RoomLayout": { "FloorUuid": "4408BCA30B3EA779992A41339E9BD15E", "CeilingUuid": "4C1D763C44C3462F4DA730971E171502", "WallsUuid": [ "195FA745A478AF0C8FB57CEB03B22863", "A9EC4ACC695D848A817A9638C4084117", "1C751664D717BE40458D9EC34BD5D378", "FDB6E9B321F59B54A2C5C86E5C7115E6", "9FEBCF7BD9E0A320A3BD68E2D7573255", "684B956C3E0B9B03333C994A34A4E6FE", "61345A4CA1A00C5C18C7AC3423376901", "934CE75D63F0856A9438DAB3ADA95409" ] }, "Anchors": [ { "UUID": "195FA745A478AF0C8FB57CEB03B22863", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -237.12472915651662, 19.925808906578482, 1.5676200352898995 ], "Rotation": [ -1.1819296446447803e-05, -169.70749357033259, 0.057707750157921504 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -163.47031593322754, -131.50515556335449 ], "Max": [ 163.47026824951172, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -163.47032165527344, -131.50515747070312 ], [ 163.47027587890625, -131.50515747070312 ], [ 163.47027587890625, 131.50515747070312 ], [ -163.47032165527344, 131.50515747070312 ] ] }, { "UUID": "A9EC4ACC695D848A817A9638C4084117", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -219.91224288941592, 188.27182054521873, 1.8210597299298268 ], "Rotation": [ 7.4741822743562458e-07, 99.198330970154288, 0.098590620438120544 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -47.028231620788574, -131.50515556335449 ], "Max": [ 47.028231620788574, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -47.028232574462891, -131.50515747070312 ], [ 47.028232574462891, -131.50515747070312 ], [ 47.028232574462891, 131.50515747070312 ], [ -47.028232574462891, 131.50515747070312 ] ] }, { "UUID": "1C751664D717BE40458D9EC34BD5D378", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -171.26309871674914, 180.48512935640233, 1.8855862290118015 ], "Rotation": [ 6.4467732645053494e-06, 8.2745309490490655, -0.061610071422649071 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -15.465247631072998, -131.50515556335449 ], "Max": [ 15.465259552001953, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -15.465248107910156, -131.50515747070312 ], [ 15.465259552001953, -131.50515747070312 ], [ 15.465259552001953, 131.50515747070312 ], [ -15.465248107910156, 131.50515747070312 ] ] }, { "UUID": "FDB6E9B321F59B54A2C5C86E5C7115E6", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -100.43122768403643, 174.61351156235941, 1.9896067660616943 ], "Rotation": [ 1.2842223247239193e-06, 97.827956772803347, 0.097884147130853222 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -69.250226020812988, -131.50515556335449 ], "Max": [ 69.250202178955078, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -69.250228881835938, -131.50515747070312 ], [ 69.250198364257812, -131.50515747070312 ], [ 69.250198364257812, 131.50515747070312 ], [ -69.250228881835938, 131.50515747070312 ] ] }, { "UUID": "9FEBCF7BD9E0A320A3BD68E2D7573255", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -34.790527820602257, 202.89564132691075, 2.1287299684011187 ], "Rotation": [ -1.0115972258972956e-05, -171.06118467085236, 0.06147233833058962 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -19.081306457519531, -131.50515556335449 ], "Max": [ 19.081234931945801, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -19.081306457519531, -131.50515747070312 ], [ 19.081233978271484, -131.50515747070312 ], [ 19.081233978271484, 131.50515747070312 ], [ -19.081306457519531, 131.50515747070312 ] ] }, { "UUID": "684B956C3E0B9B03333C994A34A4E6FE", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ 16.105192899689577, 231.2756061553977, 2.2447273133977301 ], "Rotation": [ 7.2258907058959033e-07, 100.03382109181877, 0.10042065591246373 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -54.698985815048218, -131.50515556335449 ], "Max": [ 54.699009656906128, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -54.698986053466797, -131.50515747070312 ], [ 54.699008941650391, -131.50515747070312 ], [ 54.699008941650391, 131.50515747070312 ], [ -54.698986053466797, 131.50515747070312 ] ] }, { "UUID": "61345A4CA1A00C5C18C7AC3423376901", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ 105.0693631171911, 76.471978425973873, 2.1759346142524829 ], "Rotation": [ 8.2498766259047504e-06, 12.057146123987874, -0.056147079105301173 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -168.04091930389404, -131.50515556335449 ], "Max": [ 168.04091930389404, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -168.04092407226562, -131.50515747070312 ], [ 168.04092407226562, -131.50515747070312 ], [ 168.04092407226562, 131.50515747070312 ], [ -168.04092407226562, 131.50515747070312 ] ] }, { "UUID": "934CE75D63F0856A9438DAB3ADA95409", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -33.873659372366134, -114.39212560653117, 1.7077162858417783 ], "Rotation": [ -2.0387201971063733e-06, -81.333117613062029, -0.098900144058006831 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -176.05507373809814, -131.50515556335449 ], "Max": [ 176.05516910552979, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -176.05506896972656, -131.50515747070312 ], [ 176.05517578125, -131.50515747070312 ], [ 176.05517578125, 131.50515747070312 ], [ -176.05506896972656, 131.50515747070312 ] ] },)" /* Split to avoid C2026 compile error */ R"( { "UUID": "4408BCA30B3EA779992A41339E9BD15E", "SemanticClassifications": [ "FLOOR" ], "Transform": { "Translation": [ -62.879419324774886, 46.623498201168552, -129.62889671430307 ], "Rotation": [ -90, 5.7098574004030409, 4.5827907590734602 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -168.46499443054199, -175.98437070846558 ], "Max": [ 168.46499443054199, 175.98425149917603 ] }, "PlaneBoundary2D": [ [ -158.47563171386719, -175.98432922363281 ], [ 168.46498107910156, -175.984375 ], [ 166.66807556152344, -81.945053100585938 ], [ 135.75675964355469, -83.034469604492188 ], [ 129.80014038085938, 55.337821960449219 ], [ 167.95199584960938, 56.239284515380859 ], [ 167.45750427246094, 165.63619995117188 ], [ -168.46499633789062, 175.9842529296875 ] ] }, { "UUID": "4C1D763C44C3462F4DA730971E171502", "SemanticClassifications": [ "CEILING" ], "Transform": { "Translation": [ -68.207877876431567, 45.219242573003598, 133.37569236642736 ], "Rotation": [ 90, 5.8687227517986269, -6.1892048707873073 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -173.80368709564209, -175.7470965385437 ], "Max": [ 173.8037109375, 175.74702501296997 ] }, "PlaneBoundary2D": [ [ -173.80368041992188, -175.74710083007812 ], [ 162.27815246582031, -175.74705505371094 ], [ 166.14077758789062, -66.417259216308594 ], [ 128.03475952148438, -64.341514587402344 ], [ 138.24908447265625, 73.781753540039062 ], [ 169.11221313476562, 71.741104125976562 ], [ 173.8037109375, 165.68048095703125 ], [ -152.98185729980469, 175.74703979492188 ] ] }, { "UUID": "BEEE3CD75BC02ABF219D9989481AE798", "SemanticClassifications": [ "COUCH" ], "Transform": { "Translation": [ -145.87221145497207, 107.07900524127058, -85.245281460326424 ], "Rotation": [ -90, -90, -169.62584716890692 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -101.4635443687439, -45.093107223510742 ], "Max": [ 101.4635443687439, 45.093107223510742 ] }, "PlaneBoundary2D": [ [ -101.46353149414062, -45.093109130859375 ], [ 101.46354675292969, -45.093082427978516 ], [ 101.46352386474609, 45.093109130859375 ], [ -101.46354675292969, 45.093109130859375 ] ], "VolumeBounds": { "Min": [ -12.15549111366272, -101.46353244781494, -45.093107223510742 ], "Max": [ 44.450020790100098, 101.46348476409912, 45.093095302581787 ] } }, { "UUID": "BAEE3CD65BC02ABF219D9989481AE798", "SemanticClassifications": [ "COUCH" ], "Transform": { "Translation": [ -145.87221145497207, 107.07900524127058, -85.245281460326424 ], "Rotation": [ -90, -90, -169.62584716890692 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -101.4635443687439, -45.093107223510742 ], "Max": [ 101.4635443687439, 45.093107223510742 ] }, "PlaneBoundary2D": [ [ -101.46353149414062, -45.093109130859375 ], [ 101.46354675292969, -45.093082427978516 ], [ 101.46352386474609, 45.093109130859375 ], [ -101.46354675292969, 45.093109130859375 ] ], "VolumeBounds": { "Min": [ -12.15549111366272, -101.46353244781494, -45.093107223510742 ], "Max": [ 54.450020790100098, 101.46348476409912, 45.093095302581787 ] } }, { "UUID": "B369DAC9913F4653CF0006D292B47E67", "SemanticClassifications": [ "DOOR_FRAME" ], "Transform": { "Translation": [ -164.08888101534376, -134.22880172732661, -28.83420884841345 ], "Rotation": [ -3.064696784341266e-06, -81.293136003547502, -0.079074311984811629 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -38.468444347381592, -100.21964311599731 ], "Max": [ 38.468444347381592, 100.2196192741394 ] }, "PlaneBoundary2D": [ [ -38.46844482421875, -100.21964263916016 ], [ 38.46844482421875, -100.21964263916016 ], [ 38.46844482421875, 100.21963500976562 ], [ -38.46844482421875, 100.21963500976562 ] ] }, { "UUID": "A379DAC9913F4653CF0006D292B47E67", "SemanticClassifications": [ "DOOR_FRAME" ], "Transform": { "Translation": [ -164.08888101534376, -134.22880172732661, -28.83420884841345 ], "Rotation": [ -3.064696784341266e-06, -81.293136003547502, -0.079074311984811629 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -48.468444347381592, -100.21964311599731 ], "Max": [ 48.468444347381592, 100.2196192741394 ] }, "PlaneBoundary2D": [ [ -48.46844482421875, -100.21964263916016 ], [ 48.46844482421875, -100.21964263916016 ], [ 48.46844482421875, 100.21963500976562 ], [ -48.46844482421875, 100.21963500976562 ] ] }, { "UUID": "7882FF81023E5FB0164183884565F6B7", "SemanticClassifications": [ "WINDOW_FRAME" ], "Transform": { "Translation": [ 86.993300914358954, 160.30499935153722, 27.146616579190244 ], "Rotation": [ 1.0255014892597823e-05, 11.946979537953439, -0.012821439033643854 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -57.708847522735596, -86.471712589263916 ], "Max": [ 57.708847522735596, 86.471712589263916 ] }, "PlaneBoundary2D": [ [ -57.708847045898438, -86.471710205078125 ], [ 57.708847045898438, -86.471710205078125 ], [ 57.708847045898438, 86.471717834472656 ], [ -57.708847045898438, 86.471717834472656 ] ] }, { "UUID": "1E578C3E9E7B495E9F8BB00A3722B619", "SemanticClassifications": [ "TABLE" ], "Transform": { "Translation": [ 66.697609425381202, -9.7909413278979525, -51.18460655107765 ], "Rotation": [ -90, -9.1488098605304629, -70.663235424372601 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -38.959389925003052, -79.420942068099976 ], "Max": [ 38.959354162216187, 79.42090630531311 ] }, "PlaneBoundary2D": [ [ -38.959377288818359, -79.420944213867188 ], [ 38.959354400634766, -79.420928955078125 ], [ 38.959331512451172, 79.420913696289062 ], [ -38.959388732910156, 79.420913696289062 ] ], "VolumeBounds": { "Min": [ 5.9604644775390625e-06, -38.959383964538574, -79.420942068099976 ], "Max": [ 78.46105694770813, 38.959354162216187, 79.42090630531311 ] } }, { "UUID": "4F3D506941FCDF2CDE529B778F7E2CA0", "SemanticClassifications": [ "SCREEN" ], "Transform": { "Translation": [ 83.592164516498727, 41.190987825381569, -2.9855161893029019 ], "Rotation": [ -90, 19.567800483011322, -8.7111107546809308 ], "Scale": [ 1, 1, 1 ] }, "VolumeBounds": { "Min": [ 0, -29.970204830169678, -4.4041812419891357 ], "Max": [ 48.06218147277832, 29.970204830169678, 4.4041812419891357 ] } }, { "UUID": "1BC70912D34BC775AA6D9C55D200683A", "SemanticClassifications": [ "SCREEN" ], "Transform": { "Translation": [ 88.798236847054, -18.041059374830681, -8.5256248698528676 ], "Rotation": [ -90, -0.2501150240923925, -5.5051996855984839 ], "Scale": [ 1, 1, 1 ] }, "VolumeBounds": { "Min": [ 0, -27.590945363044739, -4.127839207649231 ], "Max": [ 42.597478628158569, 27.590939402580261, 4.127839207649231 ] } }, { "UUID": "96EEDAE94C716C89C0402CF62DADFEB3", "SemanticClassifications": [ "STORAGE" ], "Transform": { "Translation": [ -24.263715742939379, -84.267413616290682, -70.311057567836698 ], "Rotation": [ -90, 41.440284814176032, -121.04073774753104 ], "Scale": [ 1, 1, 1 ] }, "VolumeBounds": { "Min": [ 0, -21.163803339004517, -20.850077271461487 ], "Max": [ 59.604281187057495, 21.163803339004517, 20.850077271461487 ] } }, { "UUID": "B8823BA241D69E1B5A3E716FDC16C035", "SemanticClassifications": [ "STORAGE" ], "Transform": { "Translation": [ 21.055686474657758, -75.153601169672626, -52.926862239392129 ], "Rotation": [ -90, 28.361682644897524, -108.18860733843303 ], "Scale": [ 1, 1, 1 ] }, "VolumeBounds": { "Min": [ 0, -15.779599547386169, -26.403164863586426 ], "Max": [ 76.910203695297241, 15.779599547386169, 26.403164863586426 ] } }, { "UUID": "3902154E700E7DFCEFCDD31C7CEEA21D", "SemanticClassifications": [ "STORAGE" ], "Transform": { "Translation": [ 10.554808378627637, 190.61878919597299, -25.321662426136452 ], "Rotation": [ -90, -5.9319241808660053, 103.25628078485644 ], "Scale": [ 1, 1, 1 ] }, "VolumeBounds": { "Min": [ 0, -40.154829621315002, -22.992253303527832 ], "Max": [ 103.86097431182861, 40.154829621315002, 22.992253303527832 ] } }, { "UUID": "FE43EA80E4940D9BE1D4FC4F55400F5A", "SemanticClassifications": [ "STORAGE" ], "Transform": { "Translation": [ -217.31374263794015, 167.31386184697604, 20.74184566373647 ], "Rotation": [ -90, 90, 9.7579414672703049 ], "Scale": [ 1, 1, 1 ] }, "VolumeBounds": { "Min": [ 0, -43.242943286895752, -19.515424966812134 ], "Max": [ 150.6071925163269, 43.242943286895752, 19.515424966812134 ] } }, { "UUID": "FBB8A4242C93CC2BC546074B344D408A", "SemanticClassifications": [ "WALL_ART" ], "Transform": { "Translation": [ -140.19610881877907, 169.11414861687959, 47.865357992596394 ], "Rotation": [ 1.4241377381107315e-06, 97.805118132482875, 0.16563613933941604 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -22.393298149108887, -17.249716818332672 ], "Max": [ 22.393357753753662, 17.249719798564911 ] }, "PlaneBoundary2D": [ [ -22.393299102783203, -17.249717712402344 ], [ 22.39335823059082, -17.249717712402344 ], [ 22.39335823059082, 17.249711990356445 ], [ -22.393299102783203, 17.249717712402344 ] ] }, { "UUID": "63DD7C430C6AF808234FA1EA70EB1135", "SemanticClassifications": [ "WALL_ART" ], "Transform": { "Translation": [ -61.326617003108687, 179.92563247687792, 41.238221524910614 ], "Rotation": [ 2.9892305539357142e-06, 97.766337493616959, 0.15780471846346075 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -21.803402900695801, -17.437992990016937 ], "Max": [ 21.803414821624756, 17.437995970249176 ] }, "PlaneBoundary2D": [ [ -21.803401947021484, -17.437992095947266 ], [ 21.803415298461914, -17.437992095947266 ], [ 21.803415298461914, 17.437997817993164 ], [ -21.803401947021484, 17.437997817993164 ] ] }, { "UUID": "DE8DDDD990AD5FCB8E7E237E938CB0D3", "SemanticClassifications": [ "WALL_ART" ], "Transform": { "Translation": [ 16.382831334551845, 231.31909370427766, 34.696799516561285 ], "Rotation": [ 3.9054193939550909e-06, 100.14347625836002, 0.047545250325334014 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -17.035198211669922, -23.50517213344574 ], "Max": [ 17.035174369812012, 23.505175113677979 ] }, "PlaneBoundary2D": [ [ -17.035198211669922, -23.505172729492188 ], [ 17.035175323486328, -23.505172729492188 ], [ 17.035175323486328, 23.50517463684082 ], [ -17.035186767578125, 23.50517463684082 ] ] } ] } ] })"); const TCHAR* ExampleOtherRoomJson = TEXT(R"( { "Rooms": [ { "UUID": "2CDDA638E08442FF193FD34FE9E42850", "RoomLayout": { "FloorUuid": "5408BCA30B3EA779992A41339E9BD15E", "CeilingUuid": "5C1D763C44C3462F4DA730971E171502", "WallsUuid": [ "295FA745A478AF0C8FB57CEB03B22863", "B9EC4ACC695D848A817A9638C4084117", "2C751664D717BE40458D9EC34BD5D378", "ADB6E9B321F59B54A2C5C86E5C7115E6", "AFEBCF7BD9E0A320A3BD68E2D7573255", "784B956C3E0B9B03333C994A34A4E6FE", "71345A4CA1A00C5C18C7AC3423376901", "A34CE75D63F0856A9438DAB3ADA95409" ] }, "Anchors": [ { "UUID": "295FA745A478AF0C8FB57CEB03B22863", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -237.12472915651662, 19.925808906578482, 1.5676200352898995 ], "Rotation": [ -1.1819296446447803e-05, -169.70749357033259, 0.057707750157921504 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -163.47031593322754, -131.50515556335449 ], "Max": [ 163.47026824951172, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -163.47032165527344, -131.50515747070312 ], [ 163.47027587890625, -131.50515747070312 ], [ 163.47027587890625, 131.50515747070312 ], [ -163.47032165527344, 131.50515747070312 ] ] }, { "UUID": "B9EC4ACC695D848A817A9638C4084117", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -219.91224288941592, 188.27182054521873, 1.8210597299298268 ], "Rotation": [ 7.4741822743562458e-07, 99.198330970154288, 0.098590620438120544 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -47.028231620788574, -131.50515556335449 ], "Max": [ 47.028231620788574, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -47.028232574462891, -131.50515747070312 ], [ 47.028232574462891, -131.50515747070312 ], [ 47.028232574462891, 131.50515747070312 ], [ -47.028232574462891, 131.50515747070312 ] ] }, { "UUID": "2C751664D717BE40458D9EC34BD5D378", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -171.26309871674914, 180.48512935640233, 1.8855862290118015 ], "Rotation": [ 6.4467732645053494e-06, 8.2745309490490655, -0.061610071422649071 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -15.465247631072998, -131.50515556335449 ], "Max": [ 15.465259552001953, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -15.465248107910156, -131.50515747070312 ], [ 15.465259552001953, -131.50515747070312 ], [ 15.465259552001953, 131.50515747070312 ], [ -15.465248107910156, 131.50515747070312 ] ] }, { "UUID": "ADB6E9B321F59B54A2C5C86E5C7115E6", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -100.43122768403643, 174.61351156235941, 1.9896067660616943 ], "Rotation": [ 1.2842223247239193e-06, 97.827956772803347, 0.097884147130853222 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -69.250226020812988, -131.50515556335449 ], "Max": [ 69.250202178955078, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -69.250228881835938, -131.50515747070312 ], [ 69.250198364257812, -131.50515747070312 ], [ 69.250198364257812, 131.50515747070312 ], [ -69.250228881835938, 131.50515747070312 ] ] }, { "UUID": "AFEBCF7BD9E0A320A3BD68E2D7573255", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -34.790527820602257, 202.89564132691075, 2.1287299684011187 ], "Rotation": [ -1.0115972258972956e-05, -171.06118467085236, 0.06147233833058962 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -19.081306457519531, -131.50515556335449 ], "Max": [ 19.081234931945801, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -19.081306457519531, -131.50515747070312 ], [ 19.081233978271484, -131.50515747070312 ], [ 19.081233978271484, 131.50515747070312 ], [ -19.081306457519531, 131.50515747070312 ] ] }, { "UUID": "784B956C3E0B9B03333C994A34A4E6FE", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ 16.105192899689577, 231.2756061553977, 2.2447273133977301 ], "Rotation": [ 7.2258907058959033e-07, 100.03382109181877, 0.10042065591246373 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -54.698985815048218, -131.50515556335449 ], "Max": [ 54.699009656906128, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -54.698986053466797, -131.50515747070312 ], [ 54.699008941650391, -131.50515747070312 ], [ 54.699008941650391, 131.50515747070312 ], [ -54.698986053466797, 131.50515747070312 ] ] }, { "UUID": "71345A4CA1A00C5C18C7AC3423376901", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ 105.0693631171911, 76.471978425973873, 2.1759346142524829 ], "Rotation": [ 8.2498766259047504e-06, 12.057146123987874, -0.056147079105301173 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -168.04091930389404, -131.50515556335449 ], "Max": [ 168.04091930389404, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -168.04092407226562, -131.50515747070312 ], [ 168.04092407226562, -131.50515747070312 ], [ 168.04092407226562, 131.50515747070312 ], [ -168.04092407226562, 131.50515747070312 ] ] }, { "UUID": "A34CE75D63F0856A9438DAB3ADA95409", "SemanticClassifications": [ "WALL_FACE" ], "Transform": { "Translation": [ -33.873659372366134, -114.39212560653117, 1.7077162858417783 ], "Rotation": [ -2.0387201971063733e-06, -81.333117613062029, -0.098900144058006831 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -176.05507373809814, -131.50515556335449 ], "Max": [ 176.05516910552979, 131.50515556335449 ] }, "PlaneBoundary2D": [ [ -176.05506896972656, -131.50515747070312 ], [ 176.05517578125, -131.50515747070312 ], [ 176.05517578125, 131.50515747070312 ], [ -176.05506896972656, 131.50515747070312 ] ] },)" /* Split to avoid C2026 compile error */ R"( { "UUID": "5408BCA30B3EA779992A41339E9BD15E", "SemanticClassifications": [ "FLOOR" ], "Transform": { "Translation": [ -62.879419324774886, 46.623498201168552, -129.62889671430307 ], "Rotation": [ -90, 5.7098574004030409, 4.5827907590734602 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -168.46499443054199, -175.98437070846558 ], "Max": [ 168.46499443054199, 175.98425149917603 ] }, "PlaneBoundary2D": [ [ -158.47563171386719, -175.98432922363281 ], [ 168.46498107910156, -175.984375 ], [ 166.66807556152344, -81.945053100585938 ], [ 135.75675964355469, -83.034469604492188 ], [ 129.80014038085938, 55.337821960449219 ], [ 167.95199584960938, 56.239284515380859 ], [ 167.45750427246094, 165.63619995117188 ], [ -168.46499633789062, 175.9842529296875 ] ] }, { "UUID": "5C1D763C44C3462F4DA730971E171502", "SemanticClassifications": [ "CEILING" ], "Transform": { "Translation": [ -68.207877876431567, 45.219242573003598, 133.37569236642736 ], "Rotation": [ 90, 5.8687227517986269, -6.1892048707873073 ], "Scale": [ 1, 1, 1 ] }, "PlaneBounds": { "Min": [ -173.80368709564209, -175.7470965385437 ], "Max": [ 173.8037109375, 175.74702501296997 ] }, "PlaneBoundary2D": [ [ -173.80368041992188, -175.74710083007812 ], [ 162.27815246582031, -175.74705505371094 ], [ 166.14077758789062, -66.417259216308594 ], [ 128.03475952148438, -64.341514587402344 ], [ 138.24908447265625, 73.781753540039062 ], [ 169.11221313476562, 71.741104125976562 ], [ 173.8037109375, 165.68048095703125 ], [ -152.98185729980469, 175.74703979492188 ] ] } ] } ] })"); void URoomAndAnchorObserver::OnAnchorCreated(AMRUKAnchor* Anchor) { AnchorsCreated.Push(Anchor); } void URoomAndAnchorObserver::OnAnchorUpdated(AMRUKAnchor* Anchor) { AnchorsUpdated.Push(Anchor); } void URoomAndAnchorObserver::OnAnchorRemoved(AMRUKAnchor* Anchor) { AnchorsRemoved.Push(Anchor); } void URoomAndAnchorObserver::OnRoomCreated(AMRUKRoom* Room) { RoomsCreated.Push(Room); } void URoomAndAnchorObserver::OnRoomUpdated(AMRUKRoom* Room) { RoomsUpdated.Push(Room); } void URoomAndAnchorObserver::OnRoomRemoved(AMRUKRoom* Room) { RoomsRemoved.Push(Room); } void URoomAndAnchorObserver::Clear() { AnchorsCreated.Empty(); AnchorsUpdated.Empty(); AnchorsRemoved.Empty(); RoomsCreated.Empty(); RoomsUpdated.Empty(); RoomsRemoved.Empty(); } AMeshResizer::AMeshResizer() { static ConstructorHelpers::FObjectFinder MeshAsset(TEXT("/OculusXR/Meshes/SM_Bevelcube")); GridSliceResizerComponent = CreateDefaultSubobject(TEXT("Grid slice resizer")); SetRootComponent(GridSliceResizerComponent); GridSliceResizerComponent->Mesh = MeshAsset.Object; }