@@ -143,12 +143,12 @@ public static void RemapEdges(List<Edge> edges, IReadOnlyList<int> mapping)
143143 // -------------------------------------------------------------------------
144144
145145 /// <summary>Extracts all unique edges from a triangle list.</summary>
146- /// <param name="triangles">The triangle list to extract edges from.</param>
146+ /// <param name="triangles">The triangles to extract edges from.</param>
147147 /// <returns>A set containing all unique edges in the triangulation.</returns>
148- public static HashSet < Edge > ExtractEdgesFromTriangles ( IReadOnlyList < Triangle > triangles )
148+ public static HashSet < Edge > ExtractEdgesFromTriangles ( ReadOnlySpan < Triangle > triangles )
149149 {
150- var edges = new HashSet < Edge > ( triangles . Count * 3 ) ;
151- foreach ( var t in triangles )
150+ var edges = new HashSet < Edge > ( triangles . Length * 3 ) ;
151+ foreach ( ref readonly var t in triangles )
152152 {
153153 edges . Add ( new Edge ( t . V0 , t . V1 ) ) ;
154154 edges . Add ( new Edge ( t . V1 , t . V2 ) ) ;
@@ -167,12 +167,12 @@ public static HashSet<Edge> ExtractEdgesFromTriangles(IReadOnlyList<Triangle> tr
167167 /// A read-only list of read-only lists: for each vertex index, the list of adjacent triangle indices.
168168 /// </returns>
169169 public static IReadOnlyList < IReadOnlyList < int > > CalculateTrianglesByVertex (
170- IReadOnlyList < Triangle > triangles ,
170+ ReadOnlySpan < Triangle > triangles ,
171171 int verticesCount )
172172 {
173173 var result = new List < int > [ verticesCount ] ;
174174 for ( int i = 0 ; i < verticesCount ; i ++ ) result [ i ] = new List < int > ( ) ;
175- for ( int i = 0 ; i < triangles . Count ; i ++ )
175+ for ( int i = 0 ; i < triangles . Length ; i ++ )
176176 {
177177 var t = triangles [ i ] ;
178178 result [ t . V0 ] . Add ( i ) ;
0 commit comments