Rasagar/Library/PackageCache/com.unity.probuilder/External/CSG/Classes/Polygon.cs
2024-08-26 23:07:20 +03:00

38 lines
877 B
C#

using UnityEngine;
using System.Collections.Generic;
namespace UnityEngine.ProBuilder.Csg
{
/// <summary>
/// Represents a polygon face with an arbitrary number of vertices.
/// </summary>
sealed class Polygon
{
public List<Vertex> vertices;
public Plane plane;
public Material material;
public Polygon(List<Vertex> list, Material mat)
{
vertices = list;
plane = new Plane(list[0].position, list[1].position, list[2].position);
material = mat;
}
public void Flip()
{
vertices.Reverse();
for (int i = 0; i < vertices.Count; i++)
vertices[i].Flip();
plane.Flip();
}
public override string ToString()
{
return $"[{vertices.Count}] {plane.normal}";
}
}
}