Move all projects from Source/ to repository root for simpler navigation. - Remove External/ dependency DLLs (will use NuGet packages) - Remove Installer/ NSIS script - Replace PartCollection/PlateCollection with ObservableList - Add packages.config for NuGet dependencies 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
56 lines
1.2 KiB
C#
56 lines
1.2 KiB
C#
using System;
|
|
|
|
namespace OpenNest
|
|
{
|
|
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}", Math.Round(Height, decimalPlaces), Math.Round(Width, decimalPlaces));
|
|
}
|
|
}
|
|
}
|