rj-action-library/External/Triangle.NET/Triangle/Geometry/ITriangle.cs

70 lines
2.2 KiB
C#

// -----------------------------------------------------------------------
// <copyright file="ITriangle.cs" company="">
// Triangle.NET code by Christian Woltering, http://triangle.codeplex.com/
// </copyright>
// -----------------------------------------------------------------------
namespace TriangleNet.Geometry
{
using TriangleNet.Topology;
/// <summary>
/// Triangle interface.
/// </summary>
public interface ITriangle
{
/// <summary>
/// Gets or sets the triangle ID.
/// </summary>
int ID { get; set; }
/// <summary>
/// Gets or sets a general-purpose label.
/// </summary>
/// <remarks>
/// This is used for region information.
/// </remarks>
int Label { get; set; }
/// <summary>
/// Gets or sets the triangle area constraint.
/// </summary>
double Area { get; set; }
/// <summary>
/// Gets the vertex at given index.
/// </summary>
/// <param name="index">The local index (0, 1 or 2).</param>
/// <returns>The vertex.</returns>
Vertex GetVertex(int index);
/// <summary>
/// Gets the ID of the vertex at given index.
/// </summary>
/// <param name="index">The local index (0, 1 or 2).</param>
/// <returns>The vertex ID.</returns>
int GetVertexID(int index);
/// <summary>
/// Gets the neighbor triangle at given index.
/// </summary>
/// <param name="index">The local index (0, 1 or 2).</param>
/// <returns>The neighbor triangle.</returns>
ITriangle GetNeighbor(int index);
/// <summary>
/// Gets the ID of the neighbor triangle at given index.
/// </summary>
/// <param name="index">The local index (0, 1 or 2).</param>
/// <returns>The neighbor triangle ID.</returns>
int GetNeighborID(int index);
/// <summary>
/// Gets the segment at given index.
/// </summary>
/// <param name="index">The local index (0, 1 or 2).</param>
/// <returns>The segment.</returns>
ISegment GetSegment(int index);
}
}