2675 lines
82 KiB
C++

// 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<FLevelEditorModule>(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<UStaticMesh> MeshAsset(TEXT("/OculusXR/Meshes/SM_Bevelcube"));
GridSliceResizerComponent = CreateDefaultSubobject<UMRUKGridSliceResizerComponent>(TEXT("Grid slice resizer"));
SetRootComponent(GridSliceResizerComponent);
GridSliceResizerComponent->Mesh = MeshAsset.Object;
}