From 479bf5d980261337b726c65a6ac57b03ed4d0022 Mon Sep 17 00:00:00 2001 From: Andrew Date: Thu, 30 Nov 2023 06:22:11 -0500 Subject: [PATCH] Set parent space on generated furniture --- .../LayoutFunctionCommon/LayoutGeneration.cs | 17 ++--------------- .../LayoutFunctionCommon/LayoutStrategies.cs | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/LayoutFunctions/LayoutFunctionCommon/LayoutGeneration.cs b/LayoutFunctions/LayoutFunctionCommon/LayoutGeneration.cs index 0df484a8..e4b444c8 100644 --- a/LayoutFunctions/LayoutFunctionCommon/LayoutGeneration.cs +++ b/LayoutFunctions/LayoutFunctionCommon/LayoutGeneration.cs @@ -82,7 +82,8 @@ public virtual LayoutGenerationResult StandardLayoutOnAllLevels(string programTy var (configInfo, wallCandidates) = SelectTheBestOfPossibleConfigs(possibleConfigs); var layout = InstantiateLayoutByFit(configInfo, room.Transform); - SetLevelVolume(layout.Instance, levelVolume?.Id); + LayoutStrategies.SetLevelVolume(layout.Instance, levelVolume?.Id); + LayoutStrategies.SetParentSpace(layout.Instance, room.Id); wallCandidateLines.AddRange(wallCandidates); outputModel.AddElement(layout.Instance); seatsCount = CountSeats(layout); @@ -289,19 +290,5 @@ protected virtual SeatsCount CountSeats(LayoutInstantiated layoutInstantiated) { return new SeatsCount(0, 0, 0, 0); } - - private static void SetLevelVolume(ComponentInstance componentInstance, Guid? levelVolumeId) - { - if (componentInstance != null) - { - foreach (var instance in componentInstance.Instances) - { - if (instance != null) - { - instance.AdditionalProperties["Level"] = levelVolumeId; - } - } - } - } } } \ No newline at end of file diff --git a/LayoutFunctions/LayoutFunctionCommon/LayoutStrategies.cs b/LayoutFunctions/LayoutFunctionCommon/LayoutStrategies.cs index 1883daa3..a957de05 100644 --- a/LayoutFunctions/LayoutFunctionCommon/LayoutStrategies.cs +++ b/LayoutFunctions/LayoutFunctionCommon/LayoutStrategies.cs @@ -352,6 +352,7 @@ private static bool ProcessRoom( { success = true; SetLevelVolume(layout.Instance, levelVolume?.Id); + SetParentSpace(layout.Instance, room.Id); wallCandidateLines.AddRange(WallCandidates); @@ -849,5 +850,19 @@ public static void SetLevelVolume(ComponentInstance componentInstance, Guid? lev } } } + + public static void SetParentSpace(ComponentInstance componentInstance, Guid? parentSpaceId) + { + if (componentInstance != null) + { + foreach (var instance in componentInstance.Instances) + { + if (instance != null) + { + instance.AdditionalProperties["Space"] = parentSpaceId; + } + } + } + } } } \ No newline at end of file