From 2ca17a4a647df9e6c7f907dd8ed365b9ab98b49a Mon Sep 17 00:00:00 2001 From: That_One_Nerd Date: Mon, 7 Aug 2023 15:33:19 -0400 Subject: [PATCH] Quickie. Some additions to the IPolygon interface. --- Nerd_STF/Mathematics/Abstract/IPolygon.cs | 7 +++++++ Nerd_STF/Mathematics/Abstract/ITriangulate.cs | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 Nerd_STF/Mathematics/Abstract/IPolygon.cs diff --git a/Nerd_STF/Mathematics/Abstract/IPolygon.cs b/Nerd_STF/Mathematics/Abstract/IPolygon.cs new file mode 100644 index 0000000..5d3c323 --- /dev/null +++ b/Nerd_STF/Mathematics/Abstract/IPolygon.cs @@ -0,0 +1,7 @@ +namespace Nerd_STF.Mathematics.Abstract; + +public interface IPolygon : ITriangulate +{ + public Float3[] GetAllVerts(); + public float[] ToFloatArray(); +} diff --git a/Nerd_STF/Mathematics/Abstract/ITriangulate.cs b/Nerd_STF/Mathematics/Abstract/ITriangulate.cs index 01620cd..ffa5c2f 100644 --- a/Nerd_STF/Mathematics/Abstract/ITriangulate.cs +++ b/Nerd_STF/Mathematics/Abstract/ITriangulate.cs @@ -2,13 +2,13 @@ public interface ITriangulate { - public static Triangle[] TriangulateAll(params ITriangulate[] triangulatables) + public static virtual Triangle[] TriangulateAll(params ITriangulate[] triangulatables) { List res = new(); foreach (ITriangulate triangulatable in triangulatables) res.AddRange(triangulatable.Triangulate()); return res.ToArray(); } - public static Triangle[] TriangulateAll(params T[] triangulatables) where T : ITriangulate + public static virtual Triangle[] TriangulateAll(params T[] triangulatables) where T : ITriangulate { List res = new(); foreach (ITriangulate triangulatable in triangulatables) res.AddRange(triangulatable.Triangulate());