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());