@@ -72,7 +72,7 @@ public virtual int[] AddTriangleFan_OrderedVertexLoop(int center, int[] vertex_l
7272
7373 Index3i newT = new Index3i ( center , b , a ) ;
7474 int new_tid = Mesh . AppendTriangle ( newT , group_id ) ;
75- if ( new_tid == DMesh3 . InvalidID )
75+ if ( new_tid < 0 )
7676 goto operation_failed ;
7777
7878 new_tris [ i ] = new_tid ;
@@ -109,7 +109,7 @@ public virtual int[] AddTriangleFan_OrderedEdgeLoop(int center, int[] edge_loop,
109109
110110 Index3i newT = new Index3i ( center , b , a ) ;
111111 int new_tid = Mesh . AppendTriangle ( newT , group_id ) ;
112- if ( new_tid == DMesh3 . InvalidID )
112+ if ( new_tid < 0 )
113113 goto operation_failed ;
114114
115115 new_tris [ i ] = new_tid ;
@@ -156,7 +156,7 @@ public virtual int[] StitchLoop(int[] vloop1, int[] vloop2, int group_id = -1)
156156 int tid1 = Mesh . AppendTriangle ( t1 , group_id ) ;
157157 int tid2 = Mesh . AppendTriangle ( t2 , group_id ) ;
158158
159- if ( tid1 == DMesh3 . InvalidID || tid2 == DMesh3 . InvalidID )
159+ if ( tid1 < 0 || tid2 < 0 )
160160 goto operation_failed ;
161161
162162 new_tris [ 2 * i ] = tid1 ;
@@ -218,7 +218,7 @@ public virtual int[] StitchUnorderedEdges(List<Index2i> EdgePairs, int group_id
218218 int tid1 = Mesh . AppendTriangle ( t1 , group_id ) ;
219219 int tid2 = Mesh . AppendTriangle ( t2 , group_id ) ;
220220
221- if ( tid1 == DMesh3 . InvalidID || tid2 == DMesh3 . InvalidID )
221+ if ( tid1 < 0 || tid2 < 0 )
222222 goto operation_failed ;
223223
224224 new_tris [ 2 * i ] = tid1 ;
@@ -268,7 +268,7 @@ public virtual int[] StitchSpan(IList<int> vspan1, IList<int> vspan2, int group_
268268 int tid1 = Mesh . AppendTriangle ( t1 , group_id ) ;
269269 int tid2 = Mesh . AppendTriangle ( t2 , group_id ) ;
270270
271- if ( tid1 == DMesh3 . InvalidID || tid2 == DMesh3 . InvalidID )
271+ if ( tid1 < 0 || tid2 < 0 )
272272 goto operation_failed ;
273273
274274 new_tris [ 2 * i ] = tid1 ;
@@ -539,9 +539,10 @@ static int bowtie_sorter(List<int> l1, List<int> l2) {
539539
540540 /// <summary>
541541 /// Disconnect all bowtie vertices in mesh. Iterates because sometimes
542- /// disconnecting a bowtie creates new bowties (how??)
542+ /// disconnecting a bowtie creates new bowties (how??).
543+ /// Returns number of remaining bowties after iterations.
543544 /// </summary>
544- public void DisconnectAllBowties ( int nMaxIters = 10 )
545+ public int DisconnectAllBowties ( int nMaxIters = 10 )
545546 {
546547 List < int > bowties = new List < int > ( MeshIterators . BowtieVertices ( Mesh ) ) ;
547548 int iter = 0 ;
@@ -550,6 +551,7 @@ public void DisconnectAllBowties(int nMaxIters = 10)
550551 DisconnectBowtie ( vid ) ;
551552 bowties = new List < int > ( MeshIterators . BowtieVertices ( Mesh ) ) ;
552553 }
554+ return bowties . Count ;
553555 }
554556
555557
0 commit comments