diff --git a/Build/Program.cs b/Build/Program.cs index 950cf413b..eb277f11f 100644 --- a/Build/Program.cs +++ b/Build/Program.cs @@ -198,6 +198,8 @@ void RemoveDirectory(string d) "dotnet", $"build {file} -c Release --no-restore -warnaserror -p:Version={version} -p:FileVersion={fileVersion} -v:m" ); + + RunAsync("dotnet", $"pack {file} -c Release -o output --no-build"); } ); diff --git a/Importers/Ifc/Speckle.Importers.Ifc.Tester/Program.cs b/Importers/Ifc/Speckle.Importers.Ifc.Tester/Program.cs index 3116abfbb..a8d0c4758 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc.Tester/Program.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc.Tester/Program.cs @@ -3,11 +3,11 @@ using Ara3D.Utils; //using JetBrains.Profiler.SelfApi; using Microsoft.Extensions.DependencyInjection; -using Speckle.Connectors.Ifc; -using Speckle.Connectors.Ifc.Ara3D.IfcParser; -using Speckle.Connectors.Ifc.Converters; -using Speckle.Connectors.Ifc.Types; +using Speckle.Importers.Ifc; +using Speckle.Importers.Ifc.Ara3D.IfcParser; +using Speckle.Importers.Ifc.Converters; using Speckle.Importers.Ifc.Tester; +using Speckle.Importers.Ifc.Types; using Speckle.Sdk.Serialisation.V2.Send; using Speckle.Sdk.SQLite; diff --git a/Importers/Ifc/Speckle.Importers.Ifc.Tester/packages.lock.json b/Importers/Ifc/Speckle.Importers.Ifc.Tester/packages.lock.json index 473d40e8f..955f7aa61 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc.Tester/packages.lock.json +++ b/Importers/Ifc/Speckle.Importers.Ifc.Tester/packages.lock.json @@ -217,8 +217,7 @@ "Ara3D.Utils": "[1.4.5, )", "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Objects": "[3.1.0-dev.227, )", - "Speckle.Sdk": "[3.1.0-dev.227, )", - "Speckle.WebIfc": "[0.0.64-speckle1, )" + "Speckle.Sdk": "[3.1.0-dev.227, )" } }, "Ara3D.Buffers": { @@ -302,12 +301,6 @@ "requested": "[3.1.0-dev.227, )", "resolved": "3.1.0-dev.227", "contentHash": "pdfBEvgXUHcZ2uCxTJ7bRt0Xs60iIvPvwzjUo3RaSYcHpcljPrOG0Ki1JRR844ZON66KPp7yesByjLvI0Ttujw==" - }, - "Speckle.WebIfc": { - "type": "CentralTransitive", - "requested": "[0.0.64-speckle1, )", - "resolved": "0.0.64-speckle1", - "contentHash": "oJgPu/LCypQLelDrtV6+dk0Qm+3VSEYWXCjeXHs2/ekOZEKwpFKhcKVOd1uMjtVLh+n3CZ/6tMgO1nZq9FpwMw==" } } } diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/Extensions.cs b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/Extensions.cs index a013a3203..dc5933a1d 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/Extensions.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/Extensions.cs @@ -1,8 +1,8 @@ using System.Text; using Ara3D.Buffers; -using Speckle.Connectors.Ifc.Ara3D.StepParser; +using Speckle.Importers.Ifc.Ara3D.StepParser; -namespace Speckle.Connectors.Ifc.Ara3D.IfcParser; +namespace Speckle.Importers.Ifc.Ara3D.IfcParser; public static class IfcExtensions { diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcEntity.cs b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcEntity.cs index 5de595212..899daa146 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcEntity.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcEntity.cs @@ -1,6 +1,6 @@ -using Speckle.Connectors.Ifc.Ara3D.StepParser; +using Speckle.Importers.Ifc.Ara3D.StepParser; -namespace Speckle.Connectors.Ifc.Ara3D.IfcParser; +namespace Speckle.Importers.Ifc.Ara3D.IfcParser; /// /// It represents an entity definition. It is usually a single line in a STEP file. diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcGraph.cs b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcGraph.cs index ec021eaa3..1f2664e6d 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcGraph.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcGraph.cs @@ -1,9 +1,9 @@ using System.Diagnostics; using Ara3D.Logging; using Ara3D.Utils; -using Speckle.Connectors.Ifc.Ara3D.StepParser; +using Speckle.Importers.Ifc.Ara3D.StepParser; -namespace Speckle.Connectors.Ifc.Ara3D.IfcParser; +namespace Speckle.Importers.Ifc.Ara3D.IfcParser; /// /// This is a high-level representation of an IFC model as a graph of nodes and relations. diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcNode.cs b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcNode.cs index 7d8183f32..36b333f61 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcNode.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcNode.cs @@ -1,6 +1,6 @@ -using Speckle.Connectors.Ifc.Ara3D.StepParser; +using Speckle.Importers.Ifc.Ara3D.StepParser; -namespace Speckle.Connectors.Ifc.Ara3D.IfcParser; +namespace Speckle.Importers.Ifc.Ara3D.IfcParser; public class IfcNode : IfcEntity { diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcProp.cs b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcProp.cs index 8df33b725..575c3894b 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcProp.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcProp.cs @@ -1,6 +1,6 @@ -using Speckle.Connectors.Ifc.Ara3D.StepParser; +using Speckle.Importers.Ifc.Ara3D.StepParser; -namespace Speckle.Connectors.Ifc.Ara3D.IfcParser; +namespace Speckle.Importers.Ifc.Ara3D.IfcParser; public class IfcProp : IfcNode { diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcPropSet.cs b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcPropSet.cs index 3540d95bd..cd388a77d 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcPropSet.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcPropSet.cs @@ -1,7 +1,7 @@ using System.Diagnostics; -using Speckle.Connectors.Ifc.Ara3D.StepParser; +using Speckle.Importers.Ifc.Ara3D.StepParser; -namespace Speckle.Connectors.Ifc.Ara3D.IfcParser; +namespace Speckle.Importers.Ifc.Ara3D.IfcParser; // This merges two separate entity types: IfcPropertySet and IfcElementQuantity. // Both of which are derived from IfcPropertySetDefinition. diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcPropSetRelation.cs b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcPropSetRelation.cs index ab9408c03..13c30b0f5 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcPropSetRelation.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcPropSetRelation.cs @@ -1,6 +1,6 @@ -using Speckle.Connectors.Ifc.Ara3D.StepParser; +using Speckle.Importers.Ifc.Ara3D.StepParser; -namespace Speckle.Connectors.Ifc.Ara3D.IfcParser; +namespace Speckle.Importers.Ifc.Ara3D.IfcParser; // https://standards.buildingsmart.org/IFC/RELEASE/IFC2x3/TC1/HTML/ifckernel/lexical/ifcreldefinesbyproperties.htm public class IfcPropSetRelation : IfcRelation diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcRelation.cs b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcRelation.cs index e346916a7..276b7cf97 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcRelation.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcRelation.cs @@ -1,6 +1,6 @@ -using Speckle.Connectors.Ifc.Ara3D.StepParser; +using Speckle.Importers.Ifc.Ara3D.StepParser; -namespace Speckle.Connectors.Ifc.Ara3D.IfcParser; +namespace Speckle.Importers.Ifc.Ara3D.IfcParser; /// /// Always express a 1-to-many relation diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcRelationAggregate.cs b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcRelationAggregate.cs index b28dcc10b..5b826a1a0 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcRelationAggregate.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcRelationAggregate.cs @@ -1,6 +1,6 @@ -using Speckle.Connectors.Ifc.Ara3D.StepParser; +using Speckle.Importers.Ifc.Ara3D.StepParser; -namespace Speckle.Connectors.Ifc.Ara3D.IfcParser; +namespace Speckle.Importers.Ifc.Ara3D.IfcParser; public class IfcRelationAggregate : IfcRelation { diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcRelationSpatial.cs b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcRelationSpatial.cs index 8cebd6079..1509d0ae0 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcRelationSpatial.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcRelationSpatial.cs @@ -1,6 +1,6 @@ -using Speckle.Connectors.Ifc.Ara3D.StepParser; +using Speckle.Importers.Ifc.Ara3D.StepParser; -namespace Speckle.Connectors.Ifc.Ara3D.IfcParser; +namespace Speckle.Importers.Ifc.Ara3D.IfcParser; public class IfcRelationSpatial : IfcRelation { diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcRelationType.cs b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcRelationType.cs index 7f2a13734..f049e1b55 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcRelationType.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.IfcParser/IfcRelationType.cs @@ -1,6 +1,6 @@ -using Speckle.Connectors.Ifc.Ara3D.StepParser; +using Speckle.Importers.Ifc.Ara3D.StepParser; -namespace Speckle.Connectors.Ifc.Ara3D.IfcParser; +namespace Speckle.Importers.Ifc.Ara3D.IfcParser; public class IfcRelationType : IfcRelation { diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/AlignedMemoryReader.cs b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/AlignedMemoryReader.cs index 6fe9290de..2d61b9a9f 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/AlignedMemoryReader.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/AlignedMemoryReader.cs @@ -1,7 +1,7 @@ using System.Diagnostics; using Ara3D.Buffers; -namespace Speckle.Connectors.Ifc.Ara3D.StepParser; +namespace Speckle.Importers.Ifc.Ara3D.StepParser; public static class AlignedMemoryReader { diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/ByteSpanExtensions.cs b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/ByteSpanExtensions.cs index 40c337b6f..60bccc81a 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/ByteSpanExtensions.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/ByteSpanExtensions.cs @@ -1,7 +1,7 @@ using System.Runtime.CompilerServices; using Ara3D.Buffers; -namespace Speckle.Connectors.Ifc.Ara3D.StepParser; +namespace Speckle.Importers.Ifc.Ara3D.StepParser; public static class ByteSpanExtensions { diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepDocument.cs b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepDocument.cs index 0e062f3e4..e56a490d3 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepDocument.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepDocument.cs @@ -3,7 +3,7 @@ using Ara3D.Logging; using Ara3D.Utils; -namespace Speckle.Connectors.Ifc.Ara3D.StepParser; +namespace Speckle.Importers.Ifc.Ara3D.StepParser; public sealed unsafe class StepDocument : IDisposable { diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepFactory.cs b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepFactory.cs index be1734a6d..e7cb5bbab 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepFactory.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepFactory.cs @@ -1,4 +1,4 @@ -namespace Speckle.Connectors.Ifc.Ara3D.StepParser; +namespace Speckle.Importers.Ifc.Ara3D.StepParser; public static unsafe class StepFactory { diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepGraph.cs b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepGraph.cs index a8a1cbdbd..dd45cba98 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepGraph.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepGraph.cs @@ -1,7 +1,7 @@ using Ara3D.Utils; using Speckle.Sdk.Common; -namespace Speckle.Connectors.Ifc.Ara3D.StepParser; +namespace Speckle.Importers.Ifc.Ara3D.StepParser; public class StepGraph { diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepInstance.cs b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepInstance.cs index 4af68338d..8d405acc5 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepInstance.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepInstance.cs @@ -1,4 +1,4 @@ -namespace Speckle.Connectors.Ifc.Ara3D.StepParser; +namespace Speckle.Importers.Ifc.Ara3D.StepParser; public class StepInstance { diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepLineParser.cs b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepLineParser.cs index 9aa5e8f75..48316abfe 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepLineParser.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepLineParser.cs @@ -3,7 +3,7 @@ using System.Runtime.Intrinsics.X86; using Ara3D.Buffers; -namespace Speckle.Connectors.Ifc.Ara3D.StepParser; +namespace Speckle.Importers.Ifc.Ara3D.StepParser; public static class StepLineParser { diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepNode.cs b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepNode.cs index 644ebc688..c23188c7a 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepNode.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepNode.cs @@ -1,6 +1,6 @@ using Ara3D.Utils; -namespace Speckle.Connectors.Ifc.Ara3D.StepParser; +namespace Speckle.Importers.Ifc.Ara3D.StepParser; public class StepNode { diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepRawInstance.cs b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepRawInstance.cs index d025dd44a..ee15dd920 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepRawInstance.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepRawInstance.cs @@ -2,7 +2,7 @@ using System.Runtime.InteropServices; using Ara3D.Buffers; -namespace Speckle.Connectors.Ifc.Ara3D.StepParser; +namespace Speckle.Importers.Ifc.Ara3D.StepParser; /// /// Contains information about where an instance is within a file. diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepToken.cs b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepToken.cs index 674e2cfcc..19fc352ee 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepToken.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepToken.cs @@ -1,7 +1,7 @@ using System.Diagnostics; using Ara3D.Buffers; -namespace Speckle.Connectors.Ifc.Ara3D.StepParser; +namespace Speckle.Importers.Ifc.Ara3D.StepParser; public readonly struct StepToken { diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepTokenType.cs b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepTokenType.cs index fc0c4b7bf..f42e11b6b 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepTokenType.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepTokenType.cs @@ -1,4 +1,4 @@ -namespace Speckle.Connectors.Ifc.Ara3D.StepParser; +namespace Speckle.Importers.Ifc.Ara3D.StepParser; public enum StepTokenType : byte { diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepTokenizer.cs b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepTokenizer.cs index d31229e39..a23a2e949 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepTokenizer.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepTokenizer.cs @@ -2,7 +2,7 @@ using System.Runtime.CompilerServices; using Ara3D.Buffers; -namespace Speckle.Connectors.Ifc.Ara3D.StepParser; +namespace Speckle.Importers.Ifc.Ara3D.StepParser; public static class StepTokenizer { diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepValue.cs b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepValue.cs index 8c8af4008..6b1e93bf9 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepValue.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Ara3D.StepParser/StepValue.cs @@ -2,7 +2,7 @@ using Ara3D.Buffers; using Ara3D.Utils; -namespace Speckle.Connectors.Ifc.Ara3D.StepParser; +namespace Speckle.Importers.Ifc.Ara3D.StepParser; /// /// The base class of the different type of value items that can be found in a STEP file. diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Converters/GeometryConverter.cs b/Importers/Ifc/Speckle.Importers.Ifc/Converters/GeometryConverter.cs index 708281805..c59ad90b9 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Converters/GeometryConverter.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Converters/GeometryConverter.cs @@ -1,8 +1,8 @@ -using Speckle.Connectors.Ifc.Types; +using Speckle.Importers.Ifc.Types; using Speckle.InterfaceGenerator; using Speckle.Sdk.Models.Collections; -namespace Speckle.Connectors.Ifc.Converters; +namespace Speckle.Importers.Ifc.Converters; [GenerateAutoInterface] public class GeometryConverter(IMeshConverter meshConverter) : IGeometryConverter diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Converters/GraphConverter.cs b/Importers/Ifc/Speckle.Importers.Ifc/Converters/GraphConverter.cs index 2026ddff0..3c6c3f88d 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Converters/GraphConverter.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Converters/GraphConverter.cs @@ -1,10 +1,10 @@ -using Speckle.Connectors.Ifc.Ara3D.IfcParser; -using Speckle.Connectors.Ifc.Types; +using Speckle.Importers.Ifc.Ara3D.IfcParser; +using Speckle.Importers.Ifc.Types; using Speckle.InterfaceGenerator; using Speckle.Sdk.Models; using Speckle.Sdk.Models.Collections; -namespace Speckle.Connectors.Ifc.Converters; +namespace Speckle.Importers.Ifc.Converters; [GenerateAutoInterface] public class GraphConverter(INodeConverter nodeConverter) : IGraphConverter diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Converters/MeshConverter.cs b/Importers/Ifc/Speckle.Importers.Ifc/Converters/MeshConverter.cs index 837d7145d..961bc3297 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Converters/MeshConverter.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Converters/MeshConverter.cs @@ -1,8 +1,8 @@ -using Speckle.Connectors.Ifc.Types; +using Speckle.Importers.Ifc.Types; using Speckle.InterfaceGenerator; using Speckle.Objects.Geometry; -namespace Speckle.Connectors.Ifc.Converters; +namespace Speckle.Importers.Ifc.Converters; [GenerateAutoInterface] public class MeshConverter : IMeshConverter diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Converters/NodeConverter.cs b/Importers/Ifc/Speckle.Importers.Ifc/Converters/NodeConverter.cs index 84b63e151..f9b246d27 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Converters/NodeConverter.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Converters/NodeConverter.cs @@ -1,10 +1,10 @@ using System.Reflection; -using Speckle.Connectors.Ifc.Ara3D.IfcParser; -using Speckle.Connectors.Ifc.Types; +using Speckle.Importers.Ifc.Ara3D.IfcParser; +using Speckle.Importers.Ifc.Types; using Speckle.InterfaceGenerator; using Speckle.Sdk.Models; -namespace Speckle.Connectors.Ifc.Converters; +namespace Speckle.Importers.Ifc.Converters; [GenerateAutoInterface] public class NodeConverter(IGeometryConverter geometryConverter) : INodeConverter diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Import.cs b/Importers/Ifc/Speckle.Importers.Ifc/Import.cs index d66441aad..b32fa2c2e 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Import.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Import.cs @@ -2,9 +2,9 @@ using System.Reflection; using Ara3D.Utils; using Microsoft.Extensions.DependencyInjection; -using Speckle.Connectors.Ifc.Ara3D.IfcParser; -using Speckle.Connectors.Ifc.Converters; -using Speckle.Connectors.Ifc.Types; +using Speckle.Importers.Ifc.Ara3D.IfcParser; +using Speckle.Importers.Ifc.Converters; +using Speckle.Importers.Ifc.Types; using Speckle.Objects.Geometry; using Speckle.Sdk; using Speckle.Sdk.Api; @@ -17,7 +17,7 @@ using Speckle.Sdk.Serialisation.V2.Send; using Speckle.Sdk.Transports; -namespace Speckle.Connectors.Ifc; +namespace Speckle.Importers.Ifc; public static class Import { diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Native/WebIfc.cs b/Importers/Ifc/Speckle.Importers.Ifc/Native/WebIfc.cs new file mode 100644 index 000000000..52f182185 --- /dev/null +++ b/Importers/Ifc/Speckle.Importers.Ifc/Native/WebIfc.cs @@ -0,0 +1,108 @@ +using System.Diagnostics.CodeAnalysis; +using System.Runtime.InteropServices; + +namespace Speckle.Importers.Ifc.Native; + +[SuppressMessage("Globalization", "CA2101:Specify marshaling for P/Invoke string arguments")] +[SuppressMessage("Interoperability", "CA1401:P/Invokes should not be visible")] +[SuppressMessage("Security", "CA5393:Do not use unsafe DllImportSearchPath value")] +public static class WebIfc +{ +#if WINDOWS + private const string DllName = "web-ifc.dll"; + private const CharSet Set = CharSet.Ansi; +#else + private const string DllName = "libweb-ifc.so"; + private const CharSet Set = CharSet.Auto; +#endif + + private const DllImportSearchPath ImportSearchPath = DllImportSearchPath.AssemblyDirectory; + + [DllImport(DllName)] + [DefaultDllImportSearchPaths(ImportSearchPath)] + public static extern IntPtr InitializeApi(); + + [DllImport(DllName)] + [DefaultDllImportSearchPaths(ImportSearchPath)] + public static extern void FinalizeApi(IntPtr api); + + [DllImport(DllName, CharSet = Set)] + [DefaultDllImportSearchPaths(ImportSearchPath)] + public static extern IntPtr LoadModel(IntPtr api, string fileName); + + [DllImport(DllName, CharSet = Set)] + [DefaultDllImportSearchPaths(ImportSearchPath)] + public static extern string GetVersion(); + + [DllImport(DllName)] + [DefaultDllImportSearchPaths(ImportSearchPath)] + public static extern IntPtr GetMesh(IntPtr geometry, int index); + + [DllImport(DllName)] + [DefaultDllImportSearchPaths(ImportSearchPath)] + public static extern int GetNumMeshes(IntPtr geometry); + + [DllImport(DllName)] + [DefaultDllImportSearchPaths(ImportSearchPath)] + public static extern uint GetGeometryType(IntPtr geometry); + + [DllImport(DllName)] + [DefaultDllImportSearchPaths(ImportSearchPath)] + public static extern uint GetGeometryId(IntPtr geometry); + + [DllImport(DllName)] + [DefaultDllImportSearchPaths(ImportSearchPath)] + public static extern uint GetLineId(IntPtr line); + + [DllImport(DllName)] + [DefaultDllImportSearchPaths(ImportSearchPath)] + public static extern uint GetLineType(IntPtr line); + + [DllImport(DllName)] + [DefaultDllImportSearchPaths(ImportSearchPath)] + public static extern string GetLineArguments(IntPtr line); + + [DllImport(DllName)] + [DefaultDllImportSearchPaths(ImportSearchPath)] + public static extern int GetNumVertices(IntPtr mesh); + + [DllImport(DllName)] + [DefaultDllImportSearchPaths(ImportSearchPath)] + public static extern IntPtr GetVertices(IntPtr mesh); + + [DllImport(DllName)] + [DefaultDllImportSearchPaths(ImportSearchPath)] + public static extern IntPtr GetTransform(IntPtr mesh); + + [DllImport(DllName)] + [DefaultDllImportSearchPaths(ImportSearchPath)] + public static extern int GetNumIndices(IntPtr mesh); + + [DllImport(DllName)] + [DefaultDllImportSearchPaths(ImportSearchPath)] + public static extern IntPtr GetIndices(IntPtr mesh); + + [DllImport(DllName)] + [DefaultDllImportSearchPaths(ImportSearchPath)] + public static extern IntPtr GetColor(IntPtr mesh); + + [DllImport(DllName)] + [DefaultDllImportSearchPaths(ImportSearchPath)] + public static extern IntPtr GetGeometryFromId(IntPtr model, uint id); + + [DllImport(DllName)] + [DefaultDllImportSearchPaths(ImportSearchPath)] + public static extern int GetNumGeometries(IntPtr model); + + [DllImport(DllName)] + [DefaultDllImportSearchPaths(ImportSearchPath)] + public static extern IntPtr GetGeometryFromIndex(IntPtr model, int index); + + [DllImport(DllName)] + [DefaultDllImportSearchPaths(ImportSearchPath)] + public static extern uint GetMaxId(IntPtr model); + + [DllImport(DllName)] + [DefaultDllImportSearchPaths(ImportSearchPath)] + public static extern IntPtr GetLineFromModel(IntPtr model, uint id); +} diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Native/libweb-ifc.so b/Importers/Ifc/Speckle.Importers.Ifc/Native/libweb-ifc.so new file mode 100644 index 000000000..b303c198d Binary files /dev/null and b/Importers/Ifc/Speckle.Importers.Ifc/Native/libweb-ifc.so differ diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Native/web-ifc.dll b/Importers/Ifc/Speckle.Importers.Ifc/Native/web-ifc.dll new file mode 100644 index 000000000..35808817c Binary files /dev/null and b/Importers/Ifc/Speckle.Importers.Ifc/Native/web-ifc.dll differ diff --git a/Importers/Ifc/Speckle.Importers.Ifc/ServiceRegistration.cs b/Importers/Ifc/Speckle.Importers.Ifc/ServiceRegistration.cs index 036e9e511..129d398d6 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/ServiceRegistration.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/ServiceRegistration.cs @@ -1,10 +1,10 @@ using System.Reflection; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; -using Speckle.Connectors.Ifc.Types; +using Speckle.Importers.Ifc.Types; using Speckle.Sdk; -namespace Speckle.Connectors.Ifc; +namespace Speckle.Importers.Ifc; public static class ServiceRegistration { diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Speckle.Importers.Ifc.csproj b/Importers/Ifc/Speckle.Importers.Ifc/Speckle.Importers.Ifc.csproj index 3f51b9d7f..ec3cd0772 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Speckle.Importers.Ifc.csproj +++ b/Importers/Ifc/Speckle.Importers.Ifc/Speckle.Importers.Ifc.csproj @@ -3,6 +3,9 @@ net8.0 true + + WINDOWS + LINUX @@ -12,7 +15,7 @@ - IDE1006;IDE0130;IDE0011;CA1051;CA1720;CA1002;CA1054;CA1028;CA1721;CA1502;CA1065; + IDE1006;IDE0130;IDE0011;CA1051;CA1720;CA1002;CA1054;CA1028;CA1721;CA1502;CA1065;NU5104; $(NoWarn) @@ -24,6 +27,17 @@ - + + + + + + PreserveNewest + true + + + PreserveNewest + true + diff --git a/Importers/Ifc/Speckle.Importers.Ifc/SpeckleIfcException.cs b/Importers/Ifc/Speckle.Importers.Ifc/SpeckleIfcException.cs index b94bbb4b2..4ab39d11c 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/SpeckleIfcException.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/SpeckleIfcException.cs @@ -1,6 +1,6 @@ using Speckle.Sdk; -namespace Speckle.Connectors.Ifc; +namespace Speckle.Importers.Ifc; public class SpeckleIfcException : SpeckleException { diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcColor.cs b/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcColor.cs index cf090a355..508a57d48 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcColor.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcColor.cs @@ -1,6 +1,6 @@ using System.Runtime.InteropServices; -namespace Speckle.Connectors.Ifc.Types; +namespace Speckle.Importers.Ifc.Types; [StructLayout(LayoutKind.Sequential, Pack = 1)] public struct IfcColor diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcFactory.cs b/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcFactory.cs index b36cd1933..567453924 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcFactory.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcFactory.cs @@ -1,12 +1,12 @@ using Speckle.InterfaceGenerator; -namespace Speckle.Connectors.Ifc.Types; +namespace Speckle.Importers.Ifc.Types; [GenerateAutoInterface] public class IfcFactory : IIfcFactory { //probably never disposing this - private static readonly IntPtr _ptr = WebIfc.WebIfc.InitializeApi(); + private static readonly IntPtr _ptr = Importers.Ifc.Native.WebIfc.InitializeApi(); public IfcModel Open(string fullPath) { @@ -14,8 +14,8 @@ public IfcModel Open(string fullPath) { throw new ArgumentException($"File does not exist: {fullPath}"); } - return new(WebIfc.WebIfc.LoadModel(_ptr, fullPath)); + return new(Importers.Ifc.Native.WebIfc.LoadModel(_ptr, fullPath)); } - public string Version => WebIfc.WebIfc.GetVersion(); + public string Version => Importers.Ifc.Native.WebIfc.GetVersion(); } diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcGeometry.cs b/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcGeometry.cs index f05452124..099d94618 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcGeometry.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcGeometry.cs @@ -1,12 +1,12 @@ -namespace Speckle.Connectors.Ifc.Types; +namespace Speckle.Importers.Ifc.Types; public class IfcGeometry(IntPtr geometry) { - public IfcMesh GetMesh(int i) => new(WebIfc.WebIfc.GetMesh(geometry, i)); + public IfcMesh GetMesh(int i) => new(Importers.Ifc.Native.WebIfc.GetMesh(geometry, i)); - public int MeshCount => WebIfc.WebIfc.GetNumMeshes(geometry); + public int MeshCount => Importers.Ifc.Native.WebIfc.GetNumMeshes(geometry); - public IfcSchemaType Type => (IfcSchemaType)WebIfc.WebIfc.GetGeometryType(geometry); + public IfcSchemaType Type => (IfcSchemaType)Importers.Ifc.Native.WebIfc.GetGeometryType(geometry); public IEnumerable GetMeshes() { diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcLine.cs b/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcLine.cs index 87e44b15c..a3c2306f1 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcLine.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcLine.cs @@ -1,9 +1,9 @@ -namespace Speckle.Connectors.Ifc.Types; +namespace Speckle.Importers.Ifc.Types; public class IfcLine(IntPtr line) { - public uint Id => WebIfc.WebIfc.GetLineId(line); - public IfcSchemaType Type => (IfcSchemaType)WebIfc.WebIfc.GetLineType(line); + public uint Id => Importers.Ifc.Native.WebIfc.GetLineId(line); + public IfcSchemaType Type => (IfcSchemaType)Importers.Ifc.Native.WebIfc.GetLineType(line); - public string Arguments() => WebIfc.WebIfc.GetLineArguments(line); + public string Arguments() => Importers.Ifc.Native.WebIfc.GetLineArguments(line); } diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcMesh.cs b/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcMesh.cs index 9cd43f9d0..e0b34e73c 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcMesh.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcMesh.cs @@ -1,15 +1,15 @@ -namespace Speckle.Connectors.Ifc.Types; +namespace Speckle.Importers.Ifc.Types; public class IfcMesh(IntPtr mesh) { - public int VertexCount => WebIfc.WebIfc.GetNumVertices(mesh); + public int VertexCount => Importers.Ifc.Native.WebIfc.GetNumVertices(mesh); - public unsafe IfcVertex* GetVertices() => (IfcVertex*)WebIfc.WebIfc.GetVertices(mesh); + public unsafe IfcVertex* GetVertices() => (IfcVertex*)Importers.Ifc.Native.WebIfc.GetVertices(mesh); - public IntPtr Transform => WebIfc.WebIfc.GetTransform(mesh); - public int IndexCount => WebIfc.WebIfc.GetNumIndices(mesh); + public IntPtr Transform => Importers.Ifc.Native.WebIfc.GetTransform(mesh); + public int IndexCount => Importers.Ifc.Native.WebIfc.GetNumIndices(mesh); - public unsafe int* GetIndexes() => (int*)WebIfc.WebIfc.GetIndices(mesh); + public unsafe int* GetIndexes() => (int*)Importers.Ifc.Native.WebIfc.GetIndices(mesh); - public unsafe IfcColor* GetColor() => (IfcColor*)WebIfc.WebIfc.GetColor(mesh); + public unsafe IfcColor* GetColor() => (IfcColor*)Importers.Ifc.Native.WebIfc.GetColor(mesh); } diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcModel.cs b/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcModel.cs index 33e8b26b5..6da106e9b 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcModel.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcModel.cs @@ -1,21 +1,21 @@ -namespace Speckle.Connectors.Ifc.Types; +namespace Speckle.Importers.Ifc.Types; public class IfcModel(IntPtr model) { - public int GetNumGeometries() => WebIfc.WebIfc.GetNumGeometries(model); + public int GetNumGeometries() => Importers.Ifc.Native.WebIfc.GetNumGeometries(model); public IfcGeometry? GetGeometry(uint id) { - var geometry = WebIfc.WebIfc.GetGeometryFromId(model, id); + var geometry = Importers.Ifc.Native.WebIfc.GetGeometryFromId(model, id); return geometry == IntPtr.Zero ? null : new IfcGeometry(geometry); } public IEnumerable GetGeometries() { - var numGeometries = WebIfc.WebIfc.GetNumGeometries(model); + var numGeometries = Importers.Ifc.Native.WebIfc.GetNumGeometries(model); for (int i = 0; i < numGeometries; ++i) { - var gPtr = WebIfc.WebIfc.GetGeometryFromIndex(model, i); + var gPtr = Importers.Ifc.Native.WebIfc.GetGeometryFromIndex(model, i); if (gPtr != IntPtr.Zero) { yield return new IfcGeometry(gPtr); @@ -23,11 +23,11 @@ public IEnumerable GetGeometries() } } - public uint GetMaxId() => WebIfc.WebIfc.GetMaxId(model); + public uint GetMaxId() => Importers.Ifc.Native.WebIfc.GetMaxId(model); public IfcLine? GetLine(uint id) { - var line = WebIfc.WebIfc.GetLineFromModel(model, id); + var line = Importers.Ifc.Native.WebIfc.GetLineFromModel(model, id); return line == IntPtr.Zero ? null : new IfcLine(line); } } diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcSchemaType.cs b/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcSchemaType.cs index 7033ec57e..6c25971d8 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcSchemaType.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcSchemaType.cs @@ -1,4 +1,4 @@ -namespace Speckle.Connectors.Ifc.Types; +namespace Speckle.Importers.Ifc.Types; #pragma warning disable CA1028 #pragma warning disable CA1008 diff --git a/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcVertex.cs b/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcVertex.cs index ba29bfe5a..c4b28722e 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcVertex.cs +++ b/Importers/Ifc/Speckle.Importers.Ifc/Types/IfcVertex.cs @@ -1,6 +1,6 @@ using System.Runtime.InteropServices; -namespace Speckle.Connectors.Ifc.Types; +namespace Speckle.Importers.Ifc.Types; [StructLayout(LayoutKind.Sequential, Pack = 1)] public struct IfcVertex diff --git a/Importers/Ifc/Speckle.Importers.Ifc/packages.lock.json b/Importers/Ifc/Speckle.Importers.Ifc/packages.lock.json index 563eb4ef0..4937f1dad 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/packages.lock.json +++ b/Importers/Ifc/Speckle.Importers.Ifc/packages.lock.json @@ -91,12 +91,6 @@ "Speckle.Sdk.Dependencies": "3.1.0-dev.227" } }, - "Speckle.WebIfc": { - "type": "Direct", - "requested": "[0.0.64-speckle1, )", - "resolved": "0.0.64-speckle1", - "contentHash": "oJgPu/LCypQLelDrtV6+dk0Qm+3VSEYWXCjeXHs2/ekOZEKwpFKhcKVOd1uMjtVLh+n3CZ/6tMgO1nZq9FpwMw==" - }, "GraphQL.Client": { "type": "Transitive", "resolved": "6.0.0",