using Speckle.Newtonsoft.Json;
using Speckle.Sdk.Models;
namespace Speckle.Objects.Geometry;
///
/// Represents a UV Trim Closed Loop on one of the 's surfaces.
///
[SpeckleType("Objects.Geometry.BrepLoop")]
public class BrepLoop : Base
{
[JsonIgnore]
public required Brep Brep { get; set; }
public required int FaceIndex { get; set; }
public required List TrimIndices { get; set; }
public required BrepLoopType Type { get; set; }
[JsonIgnore]
public BrepFace Face => Brep.Faces[FaceIndex];
[JsonIgnore]
public List Trims => TrimIndices.Select(i => Brep.Trims[i]).ToList();
}