Move geometry primitives to OpenNest.Geometry namespace

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-06 13:02:12 -05:00
parent 8d9aebb83f
commit 67a66e10fd
46 changed files with 67 additions and 28 deletions
+2 -1
View File
@@ -1,4 +1,5 @@
 using OpenNest.Geometry;
namespace OpenNest.CNC namespace OpenNest.CNC
{ {
public class ArcMove : Motion public class ArcMove : Motion
+3 -1
View File
@@ -1,4 +1,6 @@
namespace OpenNest.CNC using OpenNest.Geometry;
namespace OpenNest.CNC
{ {
public class LinearMove : Motion public class LinearMove : Motion
{ {
+2 -1
View File
@@ -1,4 +1,5 @@
 using OpenNest.Geometry;
namespace OpenNest.CNC namespace OpenNest.CNC
{ {
public abstract class Motion : ICode public abstract class Motion : ICode
+2 -1
View File
@@ -1,4 +1,5 @@
 using OpenNest.Geometry;
namespace OpenNest.CNC namespace OpenNest.CNC
{ {
public class RapidMove : Motion public class RapidMove : Motion
+1
View File
@@ -1,4 +1,5 @@
using OpenNest.CNC; using OpenNest.CNC;
using OpenNest.Geometry;
namespace OpenNest namespace OpenNest
{ {
+1
View File
@@ -1,6 +1,7 @@
using System.Drawing; using System.Drawing;
using System.Linq; using System.Linq;
using OpenNest.CNC; using OpenNest.CNC;
using OpenNest.Geometry;
namespace OpenNest namespace OpenNest
{ {
@@ -1,7 +1,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
namespace OpenNest namespace OpenNest.Geometry
{ {
public static class BoundingBox public static class BoundingBox
{ {
@@ -1,6 +1,6 @@
using OpenNest.Math; using OpenNest.Math;
namespace OpenNest namespace OpenNest.Geometry
{ {
public class Box public class Box
{ {
@@ -1,4 +1,4 @@
namespace OpenNest namespace OpenNest.Geometry
{ {
public static class BoxSplitter public static class BoxSplitter
{ {
@@ -1,5 +1,5 @@
 
namespace OpenNest namespace OpenNest.Geometry
{ {
public interface IBoundable public interface IBoundable
{ {
@@ -1,6 +1,6 @@
using System; using System;
namespace OpenNest namespace OpenNest.Geometry
{ {
public struct Size public struct Size
{ {
@@ -1,4 +1,4 @@
namespace OpenNest namespace OpenNest.Geometry
{ {
public struct Spacing public struct Spacing
{ {
@@ -1,7 +1,7 @@
using System; using System;
using OpenNest.Math; using OpenNest.Math;
namespace OpenNest namespace OpenNest.Geometry
{ {
public struct Vector public struct Vector
{ {
+1
View File
@@ -1,5 +1,6 @@
using System; using System;
using OpenNest.Collections; using OpenNest.Collections;
using OpenNest.Geometry;
namespace OpenNest namespace OpenNest
{ {
+7 -7
View File
@@ -60,15 +60,15 @@
<Compile Include="CNC\SubProgramCall.cs" /> <Compile Include="CNC\SubProgramCall.cs" />
<Compile Include="Math\Generic.cs" /> <Compile Include="Math\Generic.cs" />
<Compile Include="Geometry\Arc.cs" /> <Compile Include="Geometry\Arc.cs" />
<Compile Include="BoundingBox.cs" /> <Compile Include="Geometry\BoundingBox.cs" />
<Compile Include="Box.cs" /> <Compile Include="Geometry\Box.cs" />
<Compile Include="BoxSplitter.cs" /> <Compile Include="Geometry\BoxSplitter.cs" />
<Compile Include="Geometry\Circle.cs" /> <Compile Include="Geometry\Circle.cs" />
<Compile Include="Geometry\DefinedShape.cs" /> <Compile Include="Geometry\DefinedShape.cs" />
<Compile Include="Geometry\Entity.cs" /> <Compile Include="Geometry\Entity.cs" />
<Compile Include="Geometry\EntityType.cs" /> <Compile Include="Geometry\EntityType.cs" />
<Compile Include="Helper.cs" /> <Compile Include="Helper.cs" />
<Compile Include="IBoundable.cs" /> <Compile Include="Geometry\IBoundable.cs" />
<Compile Include="Geometry\Layer.cs" /> <Compile Include="Geometry\Layer.cs" />
<Compile Include="Geometry\Line.cs" /> <Compile Include="Geometry\Line.cs" />
<Compile Include="OffsetSide.cs" /> <Compile Include="OffsetSide.cs" />
@@ -76,10 +76,10 @@
<Compile Include="RelativePosition.cs" /> <Compile Include="RelativePosition.cs" />
<Compile Include="RotationType.cs" /> <Compile Include="RotationType.cs" />
<Compile Include="Geometry\Shape.cs" /> <Compile Include="Geometry\Shape.cs" />
<Compile Include="Size.cs" /> <Compile Include="Geometry\Size.cs" />
<Compile Include="Math\Tolerance.cs" /> <Compile Include="Math\Tolerance.cs" />
<Compile Include="Units.cs" /> <Compile Include="Units.cs" />
<Compile Include="Vector.cs" /> <Compile Include="Geometry\Vector.cs" />
<Compile Include="IPostProcessor.cs" /> <Compile Include="IPostProcessor.cs" />
<Compile Include="NestConstraints.cs" /> <Compile Include="NestConstraints.cs" />
<Compile Include="Sequence.cs" /> <Compile Include="Sequence.cs" />
@@ -94,7 +94,7 @@
<Compile Include="ConvertProgram.cs" /> <Compile Include="ConvertProgram.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="DwgQty.cs" /> <Compile Include="DwgQty.cs" />
<Compile Include="Spacing.cs" /> <Compile Include="Geometry\Spacing.cs" />
<Compile Include="Timing.cs" /> <Compile Include="Timing.cs" />
<Compile Include="TimingInfo.cs" /> <Compile Include="TimingInfo.cs" />
<Compile Include="Math\Trigonometry.cs" /> <Compile Include="Math\Trigonometry.cs" />
+1
View File
@@ -1,5 +1,6 @@
using System.Collections.Generic; using System.Collections.Generic;
using OpenNest.CNC; using OpenNest.CNC;
using OpenNest.Geometry;
namespace OpenNest namespace OpenNest
{ {
+1
View File
@@ -2,6 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using OpenNest.Collections; using OpenNest.Collections;
using OpenNest.Geometry;
using OpenNest.Math; using OpenNest.Math;
namespace OpenNest namespace OpenNest
+1
View File
@@ -1,4 +1,5 @@
using System.Collections.Generic; using System.Collections.Generic;
using OpenNest.Geometry;
namespace OpenNest namespace OpenNest
{ {
+1
View File
@@ -1,5 +1,6 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using OpenNest.Geometry;
namespace OpenNest.CirclePacking namespace OpenNest.CirclePacking
{ {
@@ -1,4 +1,5 @@
using System; using System;
using OpenNest.Geometry;
using OpenNest.Math; using OpenNest.Math;
namespace OpenNest.CirclePacking namespace OpenNest.CirclePacking
@@ -1,4 +1,5 @@
using System; using System;
using OpenNest.Geometry;
using OpenNest.Math; using OpenNest.Math;
namespace OpenNest.CirclePacking namespace OpenNest.CirclePacking
+1
View File
@@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using OpenNest.Geometry;
using OpenNest.Math; using OpenNest.Math;
using OpenNest.RectanglePacking; using OpenNest.RectanglePacking;
+1
View File
@@ -1,5 +1,6 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using OpenNest.Geometry;
namespace OpenNest.RectanglePacking namespace OpenNest.RectanglePacking
{ {
@@ -1,4 +1,5 @@
using System; using System;
using OpenNest.Geometry;
using OpenNest.Math; using OpenNest.Math;
namespace OpenNest.RectanglePacking namespace OpenNest.RectanglePacking
@@ -1,4 +1,5 @@
using System.Collections.Generic; using System.Collections.Generic;
using OpenNest.Geometry;
namespace OpenNest.RectanglePacking namespace OpenNest.RectanglePacking
{ {
@@ -1,4 +1,5 @@
using System; using System;
using OpenNest.Geometry;
using OpenNest.Math; using OpenNest.Math;
namespace OpenNest.RectanglePacking namespace OpenNest.RectanglePacking
@@ -1,4 +1,5 @@
using OpenNest.Math; using OpenNest.Geometry;
using OpenNest.Math;
namespace OpenNest.RectanglePacking namespace OpenNest.RectanglePacking
{ {
+1
View File
@@ -1,4 +1,5 @@
using System.Collections.Generic; using System.Collections.Generic;
using OpenNest.Geometry;
using OpenNest.Math; using OpenNest.Math;
namespace OpenNest.RectanglePacking namespace OpenNest.RectanglePacking
@@ -1,5 +1,6 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using OpenNest.Geometry;
using OpenNest.Math; using OpenNest.Math;
namespace OpenNest.RectanglePacking namespace OpenNest.RectanglePacking
@@ -1,4 +1,5 @@
using System.Collections.Generic; using System.Collections.Generic;
using OpenNest.Geometry;
namespace OpenNest.RectanglePacking namespace OpenNest.RectanglePacking
{ {
@@ -1,5 +1,6 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using OpenNest.Geometry;
namespace OpenNest.RectanglePacking namespace OpenNest.RectanglePacking
{ {
+1
View File
@@ -2,6 +2,7 @@
using System.ComponentModel; using System.ComponentModel;
using System.Windows.Forms; using System.Windows.Forms;
using OpenNest.Controls; using OpenNest.Controls;
using OpenNest.Geometry;
namespace OpenNest.Actions namespace OpenNest.Actions
{ {
+1
View File
@@ -2,6 +2,7 @@
using System.ComponentModel; using System.ComponentModel;
using System.Windows.Forms; using System.Windows.Forms;
using OpenNest.Controls; using OpenNest.Controls;
using OpenNest.Geometry;
namespace OpenNest.Actions namespace OpenNest.Actions
{ {
+1
View File
@@ -2,6 +2,7 @@
using System.Drawing; using System.Drawing;
using System.Windows.Forms; using System.Windows.Forms;
using OpenNest.Controls; using OpenNest.Controls;
using OpenNest.Geometry;
namespace OpenNest.Actions namespace OpenNest.Actions
{ {
+1
View File
@@ -5,6 +5,7 @@ using System.Drawing;
using System.Linq; using System.Linq;
using System.Windows.Forms; using System.Windows.Forms;
using OpenNest.Controls; using OpenNest.Controls;
using OpenNest.Geometry;
namespace OpenNest.Actions namespace OpenNest.Actions
{ {
+1
View File
@@ -2,6 +2,7 @@
using System.Drawing; using System.Drawing;
using System.Windows.Forms; using System.Windows.Forms;
using OpenNest.Controls; using OpenNest.Controls;
using OpenNest.Geometry;
namespace OpenNest.Actions namespace OpenNest.Actions
{ {
+1
View File
@@ -2,6 +2,7 @@
using System.Drawing; using System.Drawing;
using System.Drawing.Drawing2D; using System.Drawing.Drawing2D;
using System.Windows.Forms; using System.Windows.Forms;
using OpenNest.Geometry;
namespace OpenNest.Controls namespace OpenNest.Controls
{ {
+1
View File
@@ -5,6 +5,7 @@ using OpenTK.Graphics.OpenGL;
using System; using System;
using System.Drawing; using System.Drawing;
using System.Windows.Forms; using System.Windows.Forms;
using OpenNest.Geometry;
using OpenNest.Math; using OpenNest.Math;
namespace OpenNest.Controls namespace OpenNest.Controls
+1
View File
@@ -9,6 +9,7 @@ using System.Windows.Forms;
using OpenNest.Actions; using OpenNest.Actions;
using OpenNest.CNC; using OpenNest.CNC;
using OpenNest.Collections; using OpenNest.Collections;
using OpenNest.Geometry;
using OpenNest.Math; using OpenNest.Math;
using Action = OpenNest.Actions.Action; using Action = OpenNest.Actions.Action;
using Timer = System.Timers.Timer; using Timer = System.Timers.Timer;
+3 -2
View File
@@ -1,5 +1,6 @@
using System; using System;
using System.Windows.Forms; using System.Windows.Forms;
using OpenNest.Geometry;
using Timer = System.Timers.Timer; using Timer = System.Timers.Timer;
namespace OpenNest.Forms namespace OpenNest.Forms
@@ -160,7 +161,7 @@ namespace OpenNest.Forms
{ {
Size size; Size size;
if (!OpenNest.Size.TryParse(sizeBox.Text, out size)) if (!OpenNest.Geometry.Size.TryParse(sizeBox.Text, out size))
{ {
applyButton.Enabled = false; applyButton.Enabled = false;
return; return;
@@ -209,7 +210,7 @@ namespace OpenNest.Forms
nest.DateCreated = DateCreated; nest.DateCreated = DateCreated;
nest.DateLastModified = DateLastModified; nest.DateLastModified = DateLastModified;
nest.PlateDefaults.Thickness = Thickness; nest.PlateDefaults.Thickness = Thickness;
nest.PlateDefaults.Size = OpenNest.Size.Parse(SizeString); nest.PlateDefaults.Size = OpenNest.Geometry.Size.Parse(SizeString);
nest.PlateDefaults.PartSpacing = PartSpacing; nest.PlateDefaults.PartSpacing = PartSpacing;
nest.PlateDefaults.EdgeSpacing = new Spacing(LeftSpacing, BottomSpacing, RightSpacing, TopSpacing); nest.PlateDefaults.EdgeSpacing = new Spacing(LeftSpacing, BottomSpacing, RightSpacing, TopSpacing);
nest.PlateDefaults.Quadrant = Quadrant; nest.PlateDefaults.Quadrant = Quadrant;
+4 -3
View File
@@ -1,5 +1,6 @@
using System; using System;
using System.Windows.Forms; using System.Windows.Forms;
using OpenNest.Geometry;
using Timer = System.Timers.Timer; using Timer = System.Timers.Timer;
namespace OpenNest.Forms namespace OpenNest.Forms
@@ -130,9 +131,9 @@ namespace OpenNest.Forms
public void EnableCheck() public void EnableCheck()
{ {
OpenNest.Size size; OpenNest.Geometry.Size size;
if (!OpenNest.Size.TryParse(SizeString, out size)) if (!OpenNest.Geometry.Size.TryParse(SizeString, out size))
{ {
applyButton.Enabled = false; applyButton.Enabled = false;
return; return;
@@ -168,7 +169,7 @@ namespace OpenNest.Forms
private void Save() private void Save()
{ {
plate.Size = OpenNest.Size.Parse(SizeString); plate.Size = OpenNest.Geometry.Size.Parse(SizeString);
plate.EdgeSpacing.Left = LeftSpacing; plate.EdgeSpacing.Left = LeftSpacing;
plate.EdgeSpacing.Top = TopSpacing; plate.EdgeSpacing.Top = TopSpacing;
plate.EdgeSpacing.Right = RightSpacing; plate.EdgeSpacing.Right = RightSpacing;
+2 -1
View File
@@ -2,6 +2,7 @@
using System.Windows.Forms; using System.Windows.Forms;
using OpenNest.Collections; using OpenNest.Collections;
using OpenNest.Controls; using OpenNest.Controls;
using OpenNest.Geometry;
namespace OpenNest.Forms namespace OpenNest.Forms
{ {
@@ -36,7 +37,7 @@ namespace OpenNest.Forms
control.AllowSelect = false; control.AllowSelect = false;
control.AllowZoom = false; control.AllowZoom = false;
control.BackColor = Color.White; control.BackColor = Color.White;
control.Plate.Size = new OpenNest.Size(0, 0); control.Plate.Size = new OpenNest.Geometry.Size(0, 0);
control.AddPartFromDrawing(dwg, Vector.Zero); control.AddPartFromDrawing(dwg, Vector.Zero);
control.MouseDoubleClick += (sender, e) => control.MouseDoubleClick += (sender, e) =>
{ {
+2 -1
View File
@@ -6,6 +6,7 @@ using System.Reflection;
using System.Windows.Forms; using System.Windows.Forms;
using OpenNest.Actions; using OpenNest.Actions;
using OpenNest.Collections; using OpenNest.Collections;
using OpenNest.Geometry;
using OpenNest.IO; using OpenNest.IO;
using OpenNest.Properties; using OpenNest.Properties;
@@ -314,7 +315,7 @@ namespace OpenNest.Forms
nest.Units = Properties.Settings.Default.DefaultUnit; nest.Units = Properties.Settings.Default.DefaultUnit;
nest.PlateDefaults.EdgeSpacing = new Spacing(0, 0, 0, 0); nest.PlateDefaults.EdgeSpacing = new Spacing(0, 0, 0, 0);
nest.PlateDefaults.PartSpacing = 0; nest.PlateDefaults.PartSpacing = 0;
nest.PlateDefaults.Size = new OpenNest.Size(100, 100); nest.PlateDefaults.Size = new OpenNest.Geometry.Size(100, 100);
nest.PlateDefaults.Quadrant = 1; nest.PlateDefaults.Quadrant = 1;
} }
+3 -2
View File
@@ -7,6 +7,7 @@ using System.Linq;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Xml; using System.Xml;
using OpenNest.CNC; using OpenNest.CNC;
using OpenNest.Geometry;
using OpenNest.Math; using OpenNest.Math;
namespace OpenNest.IO namespace OpenNest.IO
@@ -138,7 +139,7 @@ namespace OpenNest.IO
break; break;
case "Size": case "Size":
nest.PlateDefaults.Size = Size.Parse(reader.ReadString()); nest.PlateDefaults.Size = OpenNest.Geometry.Size.Parse(reader.ReadString());
break; break;
case "Thickness": case "Thickness":
@@ -293,7 +294,7 @@ namespace OpenNest.IO
break; break;
case "Size": case "Size":
plate.Size = Size.Parse(reader.ReadString()); plate.Size = OpenNest.Geometry.Size.Parse(reader.ReadString());
break; break;
case "Qty": case "Qty":
+1
View File
@@ -2,6 +2,7 @@
using System.IO; using System.IO;
using System.Text; using System.Text;
using OpenNest.CNC; using OpenNest.CNC;
using OpenNest.Geometry;
namespace OpenNest.IO namespace OpenNest.IO
{ {
+1
View File
@@ -2,6 +2,7 @@
using System.Drawing.Drawing2D; using System.Drawing.Drawing2D;
using System.Windows.Forms; using System.Windows.Forms;
using OpenNest.Controls; using OpenNest.Controls;
using OpenNest.Geometry;
namespace OpenNest namespace OpenNest
{ {