feat: Shape.CreateCopy

This commit is contained in:
Syntriax 2024-01-26 12:34:01 +03:00
parent ceebe21041
commit 238bf2d574
1 changed files with 3 additions and 0 deletions

View File

@ -11,6 +11,8 @@ public record Shape(IList<Vector2D> Vertices) : IEnumerable<Vector2D>
{
public Vector2D this[Index index] => Vertices[index];
public static Shape CreateCopy(Shape shape) => new(new List<Vector2D>(shape.Vertices));
public static Triangle GetSuperTriangle(Shape shape)
{
float minX = float.MaxValue, minY = float.MaxValue;
@ -90,6 +92,7 @@ public record Shape(IList<Vector2D> Vertices) : IEnumerable<Vector2D>
public static class ShapeExtensions
{
public static Shape CreateCopy(Shape shape) => Shape.CreateCopy(shape);
public static Triangle ToSuperTriangle(this Shape shape) => Shape.GetSuperTriangle(shape);
public static void ToLines(this Shape shape, IList<Line> lines) => Shape.GetLines(shape, lines);
public static List<Line> ToLines(this Shape shape) => Shape.GetLines(shape);