diff --git a/Triangle.NET/Triangle/Data/Triangle.cs b/Triangle.NET/Triangle/Data/Triangle.cs
index fef0b8e..adabc22 100644
--- a/Triangle.NET/Triangle/Data/Triangle.cs
+++ b/Triangle.NET/Triangle/Data/Triangle.cs
@@ -146,12 +146,22 @@ namespace TriangleNet.Data
/// Gets a triangles' neighbor.
///
/// The neighbor index (0, 1 or 2).
- /// The triangles' neigbbor.
+ /// The neigbbor opposite of vertex with given index.
public ITriangle GetNeighbor(int index)
{
return neighbors[index].triangle == Mesh.dummytri ? null : neighbors[index].triangle;
}
+ ///
+ /// Gets a triangles segment.
+ ///
+ /// The vertex index (0, 1 or 2).
+ /// The segment opposite of vertex with given index.
+ public Segment GetSegment(int index)
+ {
+ return subsegs[index].seg == Mesh.dummysub ? null : subsegs[index].seg;
+ }
+
///
/// Gets the triangle area constraint.
///
diff --git a/Triangle.NET/Triangle/Geometry/ITriangle.cs b/Triangle.NET/Triangle/Geometry/ITriangle.cs
index 78e8fae..8aa5dd1 100644
--- a/Triangle.NET/Triangle/Geometry/ITriangle.cs
+++ b/Triangle.NET/Triangle/Geometry/ITriangle.cs
@@ -63,10 +63,17 @@ namespace TriangleNet.Geometry
///
/// Gets a triangles neighbor.
///
- /// The neighbor index (0, 1 or 2).
- /// The triangles' neigbbor.
+ /// The vertex index (0, 1 or 2).
+ /// The neigbbor opposite of vertex with given index.
ITriangle GetNeighbor(int index);
+ ///
+ /// Gets a triangles segment.
+ ///
+ /// The vertex index (0, 1 or 2).
+ /// The segment opposite of vertex with given index.
+ Segment GetSegment(int index);
+
///
/// Triangle area constraint.
///
diff --git a/Triangle.NET/Triangle/IO/InputTriangle.cs b/Triangle.NET/Triangle/IO/InputTriangle.cs
index 917e889..61c0939 100644
--- a/Triangle.NET/Triangle/IO/InputTriangle.cs
+++ b/Triangle.NET/Triangle/IO/InputTriangle.cs
@@ -92,6 +92,11 @@ namespace TriangleNet.IO
return null;
}
+ public Segment GetSegment(int index)
+ {
+ return null;
+ }
+
///
/// Gets the triangle area constraint.
///