@@ -1211,6 +1211,10 @@ namespace geode
12111211 point0 = vertices0[non_colocated_points0[0 ]].get ();
12121212 point1 = cur_pt;
12131213 }
1214+ if ( min_distance <= GLOBAL_EPSILON )
1215+ {
1216+ return std::tuple{ min_distance, point0, point1 };
1217+ }
12141218 }
12151219 if ( non_colocated_points1.size () == 1 )
12161220 {
@@ -1222,6 +1226,10 @@ namespace geode
12221226 point0 = cur_pt;
12231227 point1 = vertices1[non_colocated_points1[0 ]].get ();
12241228 }
1229+ if ( min_distance <= GLOBAL_EPSILON )
1230+ {
1231+ return std::tuple{ min_distance, point0, point1 };
1232+ }
12251233 }
12261234 if ( non_colocated_points0.size () == 1
12271235 && non_colocated_points1.size () == 1 )
@@ -1235,6 +1243,10 @@ namespace geode
12351243 point0 = cur_pt0;
12361244 point1 = cur_pt1;
12371245 }
1246+ if ( min_distance <= GLOBAL_EPSILON )
1247+ {
1248+ return std::tuple{ min_distance, point0, point1 };
1249+ }
12381250 }
12391251 if ( non_colocated_points0.size () > 1 )
12401252 {
@@ -1246,6 +1258,10 @@ namespace geode
12461258 point0 = cur_pt0;
12471259 point1 = cur_pt1;
12481260 }
1261+ if ( min_distance <= GLOBAL_EPSILON )
1262+ {
1263+ return std::tuple{ min_distance, point0, point1 };
1264+ }
12491265 }
12501266 if ( non_colocated_points1.size () > 1 )
12511267 {
@@ -1257,6 +1273,10 @@ namespace geode
12571273 point0 = cur_pt0;
12581274 point1 = cur_pt1;
12591275 }
1276+ if ( min_distance <= GLOBAL_EPSILON )
1277+ {
1278+ return std::tuple{ min_distance, point0, point1 };
1279+ }
12601280 }
12611281 return std::tuple{ min_distance, point0, point1 };
12621282 }
0 commit comments