bc4757bfc5
* registed layer unpacker * nested layers logic moved to layerUnpacker * killed VectorLayerConverter * exposed Feature converter and Attributes in RootObjBuilder * send clean GisObject * refactor Rasters and PointClouds * send everything through 1 converter * proper object type * clean GIS objects and conversions * better layer names on Receive * fix raster position on send * switching to GIS layer, removing native geometry type checks (but keeping field check) * fix revit materials on child objects * remove IGisFeature interface * typo * remove empty converter * switch from attributes to properties * add required keyword * required attribute fix * attach dynamic "geometry" field to converted Polygons * refactor(arcgis): overhaul of arcgis connector and converter patterns to enable data extraction (#439) * rework 1 * additional restructuring of root object builder and converters * finalizes classes and patterns for converter and connector * fixes build errors * Update ArcGISHostObjectBuilder.cs * fixes some polygon conversions * refactor color manager to separate color unpacker * Delete GISLayerGeometryType.cs * disables receive * pr review issues * Update ArcGISRootObjectBuilder.cs * Update ArcGISRootObjectBuilder.cs * Update ArcGISRootObjectBuilder.cs * Update ArcGISRootObjectBuilder.cs * fixed color bugs * Update ArcGISLayerUnpacker.cs * don't cache repeated layers * Revert "don't cache repeated layers" This reverts commit48af025829. * remove flattened layers from root commit builder * Revert "remove flattened layers from root commit builder" This reverts commite0e7b1fb42. * layer order and duplication fixed * fix applicationIds * fix raster appId * yield; add comment * move appId to extensions --------- Co-authored-by: Claire Kuang <kuang.claire@gmail.com>
32 lines
1.4 KiB
C#
32 lines
1.4 KiB
C#
using ArcGIS.Core.Data.Raster;
|
|
|
|
namespace Speckle.Connectors.ArcGIS.HostApp.Extensions;
|
|
|
|
public static class SpeckleApplicationIdExtensions
|
|
{
|
|
/// <summary>
|
|
/// Retrieves the Speckle application id for map members
|
|
/// </summary>
|
|
public static string GetSpeckleApplicationId(this ADM.MapMember mapMember) => mapMember.URI;
|
|
|
|
/// <summary>
|
|
/// Constructs the Speckle application id for Features as a concatenation of the layer URI (applicationId)
|
|
/// and the row OID (index of row in layer).
|
|
/// </summary>
|
|
/// <exception cref="ACD.Exceptions.GeodatabaseException">Throws when this is *not* called on MCT. Use QueuedTask.Run.</exception>
|
|
public static string GetSpeckleApplicationId(this ACD.Row row, string layerApplicationId) =>
|
|
$"{layerApplicationId}_{row.GetObjectID()}";
|
|
|
|
/// <summary>
|
|
/// Constructs the Speckle application id for Raster as a concatenation of the layer URI (applicationId) and 0-index
|
|
/// </summary>
|
|
public static string GetSpeckleApplicationId(this Raster _, string layerApplicationId) => $"{layerApplicationId}_0";
|
|
|
|
/// <summary>
|
|
/// Constructs the Speckle application id for LasDatasets as a concatenation of the layer URI (applicationId)
|
|
/// and point OID.
|
|
/// </summary>
|
|
public static string GetSpeckleApplicationId(this ACD.Analyst3D.LasPoint point, string layerApplicationId) =>
|
|
$"{layerApplicationId}_{point.PointID}";
|
|
}
|