Skip to content

Commit 49826ed

Browse files
committed
Replace Altium Primitives with shared Eda.Primitives
Add OriginalCircuit.Eda.Abstractions project references to both OriginalCircuit.Altium and OriginalCircuit.Altium.Rendering.Core. Delete duplicate Coord, CoordPoint, and CoordRect files from OriginalCircuit.Altium.Primitives namespace (now provided by OriginalCircuit.Eda.Primitives). Update all using statements across src, tests, and examples. Update source generator to reference Coord from Eda.Primitives namespace.
1 parent 79f3c99 commit 49826ed

135 files changed

Lines changed: 705 additions & 1702 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -358,4 +358,5 @@ AltiumScriptExamples/
358358
__Previews/
359359

360360
# Accidental nul files from bash/Windows interaction
361-
nul
361+
nul
362+
asharplogo.afdesign

examples/CreateFiles/Program.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,9 @@
3636
using OriginalCircuit.Altium;
3737
using OriginalCircuit.Altium.Models.Pcb;
3838
using OriginalCircuit.Altium.Models.Sch;
39-
using OriginalCircuit.Altium.Primitives;
39+
using OriginalCircuit.Eda.Enums;
40+
using PinElectricalType = OriginalCircuit.Altium.Models.Sch.PinElectricalType;
41+
using OriginalCircuit.Eda.Primitives;
4042
using OriginalCircuit.Altium.Serialization.Writers;
4143

4244
var outputDir = Path.Combine(Path.GetTempPath(), "AltiumExamples");

examples/LoadFiles/Program.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,9 @@
4040
using OriginalCircuit.Altium;
4141
using OriginalCircuit.Altium.Models.Pcb;
4242
using OriginalCircuit.Altium.Models.Sch;
43-
using OriginalCircuit.Altium.Primitives;
43+
using OriginalCircuit.Eda.Enums;
44+
using PinElectricalType = OriginalCircuit.Altium.Models.Sch.PinElectricalType;
45+
using OriginalCircuit.Eda.Primitives;
4446
using OriginalCircuit.Altium.Serialization.Readers;
4547
using OriginalCircuit.Altium.Serialization.Writers;
4648

examples/ModifyFiles/Program.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,9 @@
3939
using OriginalCircuit.Altium;
4040
using OriginalCircuit.Altium.Models.Pcb;
4141
using OriginalCircuit.Altium.Models.Sch;
42-
using OriginalCircuit.Altium.Primitives;
42+
using OriginalCircuit.Eda.Enums;
43+
using PinElectricalType = OriginalCircuit.Altium.Models.Sch.PinElectricalType;
44+
using OriginalCircuit.Eda.Primitives;
4345
using OriginalCircuit.Altium.Serialization.Readers;
4446
using OriginalCircuit.Altium.Serialization.Writers;
4547

examples/RenderFiles/Program.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,10 @@
3535

3636
using OriginalCircuit.Altium.Models.Pcb;
3737
using OriginalCircuit.Altium.Models.Sch;
38-
using OriginalCircuit.Altium.Primitives;
38+
using OriginalCircuit.Eda.Enums;
39+
using OriginalCircuit.Eda.Primitives;
3940
using OriginalCircuit.Altium.Rendering;
41+
using PinElectricalType = OriginalCircuit.Altium.Models.Sch.PinElectricalType;
4042
using OriginalCircuit.Altium.Rendering.Raster;
4143
using OriginalCircuit.Altium.Rendering.Svg;
4244

src/OriginalCircuit.Altium.Generators/AltiumRecordGenerator.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ private static string GenerateParameterCollection()
129129
using System.Collections.Generic;
130130
using System.Globalization;
131131
using System.Text;
132+
using OriginalCircuit.Eda.Primitives;
132133
133134
namespace OriginalCircuit.Altium.Primitives
134135
{
@@ -512,8 +513,8 @@ private static PropertyTypeKind GetPropertyTypeKind(ITypeSymbol type, bool isCoo
512513
// Check for actual Coord type (not just [AltiumCoord] attribute)
513514
var typeName = type.ToDisplayString();
514515
if (typeName.EndsWith("Coord", StringComparison.Ordinal) ||
515-
typeName == "OriginalCircuit.Altium.Primitives.Coord" ||
516-
typeName == "global::OriginalCircuit.Altium.Primitives.Coord")
516+
typeName == "OriginalCircuit.Eda.Primitives.Coord" ||
517+
typeName == "global::OriginalCircuit.Eda.Primitives.Coord")
517518
return PropertyTypeKind.Coord;
518519

519520
// Use actual property type for serialization
@@ -542,6 +543,7 @@ private static string GenerateSource(TypeToGenerate typeInfo)
542543
sb.AppendLine("using System;");
543544
sb.AppendLine("using System.Collections.Generic;");
544545
sb.AppendLine("using System.Globalization;");
546+
sb.AppendLine("using global::OriginalCircuit.Eda.Primitives;");
545547
sb.AppendLine("using global::OriginalCircuit.Altium.Primitives;");
546548
sb.AppendLine();
547549

@@ -803,7 +805,7 @@ private static string GetDefaultValue(PropertyToGenerate prop)
803805
case PropertyTypeKind.Bool:
804806
return "false";
805807
case PropertyTypeKind.Coord:
806-
return "global::OriginalCircuit.Altium.Primitives.Coord.Zero";
808+
return "global::OriginalCircuit.Eda.Primitives.Coord.Zero";
807809
case PropertyTypeKind.Enum:
808810
return $"default({prop.TypeName})";
809811
default:

src/OriginalCircuit.Altium.Rendering.Core/ColorHelper.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,25 @@
1+
using OriginalCircuit.Eda.Primitives;
2+
13
namespace OriginalCircuit.Altium.Rendering;
24

35
/// <summary>
46
/// Converts Altium packed BGR color integers to standard ARGB format.
57
/// </summary>
68
public static class ColorHelper
79
{
10+
/// <summary>
11+
/// Converts an EdaColor (R, G, B, A) to ARGB uint (0xAARRGGBB).
12+
/// </summary>
13+
public static uint EdaColorToArgb(EdaColor color)
14+
{
15+
return ((uint)color.A << 24) | ((uint)color.R << 16) | ((uint)color.G << 8) | color.B;
16+
}
17+
18+
/// <summary>
19+
/// Returns true if the EdaColor is non-zero (not default black).
20+
/// </summary>
21+
public static bool IsNonZero(EdaColor color) => color.R != 0 || color.G != 0 || color.B != 0;
22+
823
/// <summary>
924
/// Converts Altium BGR color (0x00BBGGRR) to ARGB (0xFFRRGGBB).
1025
/// </summary>

src/OriginalCircuit.Altium.Rendering.Core/CoordTransform.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using OriginalCircuit.Altium.Primitives;
1+
using OriginalCircuit.Eda.Primitives;
22

33
namespace OriginalCircuit.Altium.Rendering;
44

src/OriginalCircuit.Altium.Rendering.Core/IRenderer.cs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
using OriginalCircuit.Altium.Models;
22
using OriginalCircuit.Altium.Models.Pcb;
33
using OriginalCircuit.Altium.Models.Sch;
4-
using OriginalCircuit.Altium.Primitives;
4+
using OriginalCircuit.Eda.Models;
5+
using OriginalCircuit.Eda.Models.Sch;
6+
using OriginalCircuit.Eda.Models.Pcb;
7+
using OriginalCircuit.Eda.Primitives;
58

69
namespace OriginalCircuit.Altium.Rendering;
710

@@ -127,12 +130,12 @@ public interface ISchPrimitiveVisitor<in TContext> : IPrimitiveVisitor<TContext>
127130
void Visit(ISchImage image, TContext context);
128131
void Visit(ISchEllipticalArc ellipticalArc, TContext context);
129132
void Visit(ISchPowerObject powerObject, TContext context);
130-
void Visit(ISchNoErc noErc, TContext context);
133+
void Visit(ISchNoConnect noErc, TContext context);
131134
void Visit(ISchBusEntry busEntry, TContext context);
132135
void Visit(ISchBus bus, TContext context);
133136
void Visit(ISchPort port, TContext context);
134-
void Visit(ISchSheetSymbol sheetSymbol, TContext context);
135-
void Visit(ISchSheetEntry sheetEntry, TContext context);
137+
void Visit(ISchSheet sheetSymbol, TContext context);
138+
void Visit(ISchSheetPin sheetEntry, TContext context);
136139
}
137140

138141
/// <summary>

src/OriginalCircuit.Altium.Rendering.Core/OriginalCircuit.Altium.Rendering.Core.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
<ItemGroup>
1616
<ProjectReference Include="..\OriginalCircuit.Altium\OriginalCircuit.Altium.csproj" />
17+
<ProjectReference Include="..\..\..\OriginalCircuit.Eda.Abstractions\src\OriginalCircuit.Eda.Abstractions\OriginalCircuit.Eda.Abstractions.csproj" />
1718
</ItemGroup>
1819

1920
</Project>

0 commit comments

Comments
 (0)