From 46caeafdffb3a0f68c044ccdad020760a62162c3 Mon Sep 17 00:00:00 2001 From: KatKatKateryna Date: Thu, 20 Jun 2024 14:24:05 +0100 Subject: [PATCH] Revert "receive only Typed primitive properties from non-native apps" This reverts commit 9754ac58759eba077a12f3c77dee9b19f513f742. --- .../Utils/ArcGISFieldUtils.cs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/DUI3-DX/Converters/ArcGIS/Speckle.Converters.ArcGIS3/Utils/ArcGISFieldUtils.cs b/DUI3-DX/Converters/ArcGIS/Speckle.Converters.ArcGIS3/Utils/ArcGISFieldUtils.cs index 8207b13ebb..2e89367c1a 100644 --- a/DUI3-DX/Converters/ArcGIS/Speckle.Converters.ArcGIS3/Utils/ArcGISFieldUtils.cs +++ b/DUI3-DX/Converters/ArcGIS/Speckle.Converters.ArcGIS3/Utils/ArcGISFieldUtils.cs @@ -107,7 +107,15 @@ public List GetFieldsFromSpeckleLayer(VectorLayer target) foreach (var baseObj in target) { // get all members by default, but only Dynamic ones from the basic geometry - Dictionary members = baseObj.GetMembers(DynamicBaseMemberType.Instance); + Dictionary members = new(); + if (baseObj.speckle_type.StartsWith("Objects.Geometry")) + { + members = baseObj.GetMembers(DynamicBaseMemberType.Dynamic); + } + else + { + members = baseObj.GetMembers(DynamicBaseMemberType.All); + } foreach (KeyValuePair field in members) { @@ -143,9 +151,6 @@ List fieldAdded { if (field.Value is Base attributeBase) { - // ignore all properties of Base type, until we find a common approach for host apps to send them - return; - /* // only traverse Base if it's Rhino userStrings, or Revit parameter, or Base containing Revit parameters if (field.Key == "parameters") { @@ -189,10 +194,7 @@ attributField.Value is Objects.BuiltElements.Revit.Parameter { // for now, ignore all other properties of Base type } - */ } - // also ignore lists before we find a strategy for hostApps to send properties in a common way - /* else if (field.Value is IList attributeList) { int count = 0; @@ -204,7 +206,6 @@ attributField.Value is Objects.BuiltElements.Revit.Parameter count += 1; } } - */ else { TryAddField(field, function, fieldsAndFunctions, fieldAdded);