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

View File

@@ -0,0 +1,55 @@
using System;
namespace OpenNest.Geometry
{
public struct Size
{
public Size(double width, double height)
{
Height = height;
Width = width;
}
public double Height;
public double Width;
public static Size Parse(string size)
{
var a = size.ToUpper().Split('X');
if (a.Length > 2)
throw new FormatException("Invalid size format.");
var height = double.Parse(a[0]);
var width = double.Parse(a[1]);
return new Size(width, height);
}
public static bool TryParse(string s, out Size size)
{
try
{
size = Parse(s);
}
catch
{
size = new Size(0, 0);
return false;
}
return true;
}
public override string ToString()
{
return string.Format("{0} x {1}", Height, Width);
}
public string ToString(int decimalPlaces)
{
return string.Format("{0} x {1}", System.Math.Round(Height, decimalPlaces), System.Math.Round(Width, decimalPlaces));
}
}
}