This commit is contained in:
Claire Kuang
2024-12-04 12:14:17 +00:00
parent d29450f0a9
commit 81007e0ecf
8 changed files with 19 additions and 22 deletions
+3 -2
View File
@@ -11,11 +11,12 @@ public class ArcgisObject : Base, IGisObject
public required string name { get; set; }
public required string type { get; set; }
public required List<Base>? displayValue { get; set; }
[DetachProperty]
public required List<Base> displayValue { get; set; }
public required Dictionary<string, object?> properties { get; set; }
public required string units { get; set; }
IReadOnlyList<Base>? IDataObject.displayValue => displayValue;
IReadOnlyList<Base> IDisplayValue<IReadOnlyList<Base>>.displayValue => displayValue;
}
+2 -1
View File
@@ -22,6 +22,7 @@ public class Civil3dObject : Base, ICivilObject
[DetachProperty]
public required List<Base> elements { get; set; }
[DetachProperty]
public required List<Base> displayValue { get; set; }
public required Dictionary<string, object?> properties { get; set; }
@@ -30,5 +31,5 @@ public class Civil3dObject : Base, ICivilObject
IReadOnlyList<Base> ICivilObject.elements => elements;
IReadOnlyList<Base> IDataObject.displayValue => displayValue;
IReadOnlyList<Base> IDisplayValue<IReadOnlyList<Base>>.displayValue => displayValue;
}
+2 -2
View File
@@ -8,9 +8,9 @@ public class DataObject : Base, IDataObject
public required string name { get; set; }
[DetachProperty]
public required List<Base>? displayValue { get; set; }
public required List<Base> displayValue { get; set; }
public required Dictionary<string, object?> properties { get; set; }
IReadOnlyList<Base>? IDataObject.displayValue => displayValue;
IReadOnlyList<Base> IDisplayValue<IReadOnlyList<Base>>.displayValue => displayValue;
}
+3 -2
View File
@@ -3,7 +3,7 @@ using Speckle.Sdk.Models;
namespace Speckle.Objects.Data;
/// <summary>
/// Represents a model object in ETABS
/// Represents a wrapper object in ETABS
/// </summary>
[SpeckleType("Objects.Data.EtabsObject")]
public class EtabsObject : Base, ICsiObject
@@ -17,6 +17,7 @@ public class EtabsObject : Base, ICsiObject
[DetachProperty]
public required List<EtabsObject> elements { get; set; }
[DetachProperty]
public required List<Base> displayValue { get; set; }
public required Dictionary<string, object?> properties { get; set; }
@@ -25,5 +26,5 @@ public class EtabsObject : Base, ICsiObject
IReadOnlyList<ICsiObject> ICsiObject.elements => elements;
IReadOnlyList<Base> IDataObject.displayValue => displayValue;
IReadOnlyList<Base> IDisplayValue<IReadOnlyList<Base>>.displayValue => displayValue;
}
+2 -1
View File
@@ -10,11 +10,12 @@ public class NavisworksObject : Base, INavisworksObject
{
public required string name { get; set; }
[DetachProperty]
public required List<Base> displayValue { get; set; }
public required Dictionary<string, object?> properties { get; set; }
public required string units { get; set; }
IReadOnlyList<Base> IDataObject.displayValue => displayValue;
IReadOnlyList<Base> IDisplayValue<IReadOnlyList<Base>>.displayValue => displayValue;
}
+2 -1
View File
@@ -25,6 +25,7 @@ public class RevitObject : Base, IRevitObject
[DetachProperty]
public required List<RevitObject> elements { get; set; }
[DetachProperty]
public required List<Mesh> displayValue { get; set; }
public required Dictionary<string, object?> properties { get; set; }
@@ -33,5 +34,5 @@ public class RevitObject : Base, IRevitObject
IReadOnlyList<IRevitObject> IRevitObject.elements => elements;
IReadOnlyList<Base> IDataObject.displayValue => displayValue;
IReadOnlyList<Base> IDisplayValue<IReadOnlyList<Base>>.displayValue => displayValue;
}
+2 -1
View File
@@ -17,6 +17,7 @@ public class TeklaObject : Base, ITeklaObject
[DetachProperty]
public required List<TeklaObject> elements { get; set; }
[DetachProperty]
public required List<Base> displayValue { get; set; }
public required Dictionary<string, object?> properties { get; set; }
@@ -25,5 +26,5 @@ public class TeklaObject : Base, ITeklaObject
IReadOnlyList<ITeklaObject> ITeklaObject.elements => elements;
IReadOnlyList<Base> IDataObject.displayValue => displayValue;
IReadOnlyList<Base> IDisplayValue<IReadOnlyList<Base>>.displayValue => displayValue;
}
+3 -12
View File
@@ -84,7 +84,7 @@ public interface ITransformable : ISpeckleObject
}
/// <summary>
/// Specifies displayable <see cref="Base"/> value(s) to be used as a fallback
/// Specifies displayable <see cref="Base"/> simple geometries to be used as a fallback
/// if a displayable form cannot be converted.
/// </summary>
/// <example>
@@ -95,7 +95,7 @@ public interface ITransformable : ISpeckleObject
/// <typeparam name="T">
/// Type of display value.
/// Expected to be either a <see cref="Base"/> type or a <see cref="List{T}"/> of <see cref="Base"/>s,
/// most likely <see cref="Mesh"/> or <see cref="Polyline"/>.
/// Should be constrained to types of <see cref="Point"/>, <see cref="Line"/>, <see cref="Mesh"/> or <see cref="Polyline"/>.
/// </typeparam>
public interface IDisplayValue<out T> : ISpeckleObject
{
@@ -126,21 +126,12 @@ public interface IProperties : ISpeckleObject
Dictionary<string, object?> properties { get; }
}
public interface IDataObject : ISpeckleObject, IProperties
public interface IDataObject : ISpeckleObject, IProperties, IDisplayValue<IReadOnlyList<Base>>
{
/// <summary>
/// The name of the object, primarily used to decorate the object for consumption in frontend and other apps
/// </summary>
string name { get; }
/// <summary>
/// The geometry used for visual representation.
/// </summary>
/// <remarks>
/// Should be simple geometry types: Point, Line, Polyline, and Mesh.
/// Null indicates a non-displayable data object.
/// </remarks>
IReadOnlyList<Base>? displayValue { get; }
}
public interface IRevitObject : IDataObject