Quickie. Some additions to the IPolygon interface.

This commit is contained in:
That_One_Nerd 2023-08-07 15:33:19 -04:00
parent d4250f83a9
commit 2ca17a4a64
2 changed files with 9 additions and 2 deletions

View File

@ -0,0 +1,7 @@
namespace Nerd_STF.Mathematics.Abstract;
public interface IPolygon : ITriangulate
{
public Float3[] GetAllVerts();
public float[] ToFloatArray();
}

View File

@ -2,13 +2,13 @@
public interface ITriangulate public interface ITriangulate
{ {
public static Triangle[] TriangulateAll(params ITriangulate[] triangulatables) public static virtual Triangle[] TriangulateAll(params ITriangulate[] triangulatables)
{ {
List<Triangle> res = new(); List<Triangle> res = new();
foreach (ITriangulate triangulatable in triangulatables) res.AddRange(triangulatable.Triangulate()); foreach (ITriangulate triangulatable in triangulatables) res.AddRange(triangulatable.Triangulate());
return res.ToArray(); return res.ToArray();
} }
public static Triangle[] TriangulateAll<T>(params T[] triangulatables) where T : ITriangulate public static virtual Triangle[] TriangulateAll<T>(params T[] triangulatables) where T : ITriangulate
{ {
List<Triangle> res = new(); List<Triangle> res = new();
foreach (ITriangulate triangulatable in triangulatables) res.AddRange(triangulatable.Triangulate()); foreach (ITriangulate triangulatable in triangulatables) res.AddRange(triangulatable.Triangulate());