IMesh.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. namespace UnityEngine.U2D.Animation.TriangleNet
  2. .Meshing
  3. {
  4. using System.Collections.Generic;
  5. using Animation.TriangleNet.Topology;
  6. using Animation.TriangleNet.Geometry;
  7. /// <summary>
  8. /// Mesh interface.
  9. /// </summary>
  10. internal interface IMesh
  11. {
  12. /// <summary>
  13. /// Gets the vertices of the mesh.
  14. /// </summary>
  15. ICollection<Vertex> Vertices { get; }
  16. /// <summary>
  17. /// Gets the edges of the mesh.
  18. /// </summary>
  19. IEnumerable<Edge> Edges { get; }
  20. /// <summary>
  21. /// Gets the segments (constraint edges) of the mesh.
  22. /// </summary>
  23. ICollection<SubSegment> Segments { get; }
  24. /// <summary>
  25. /// Gets the triangles of the mesh.
  26. /// </summary>
  27. ICollection<Triangle> Triangles { get; }
  28. /// <summary>
  29. /// Gets the holes of the mesh.
  30. /// </summary>
  31. IList<Point> Holes { get; }
  32. /// <summary>
  33. /// Gets the bounds of the mesh.
  34. /// </summary>
  35. Rectangle Bounds { get; }
  36. /// <summary>
  37. /// Renumber mesh vertices and triangles.
  38. /// </summary>
  39. void Renumber();
  40. /// <summary>
  41. /// Refine the mesh.
  42. /// </summary>
  43. /// <param name="quality">The quality constraints.</param>
  44. /// <param name="conforming">
  45. /// A value indicating, if the refined mesh should be Conforming Delaunay.
  46. /// </param>
  47. void Refine(QualityOptions quality, bool delaunay);
  48. }
  49. }