File tree Expand file tree Collapse file tree 2 files changed +30
-4
lines changed Expand file tree Collapse file tree 2 files changed +30
-4
lines changed Original file line number Diff line number Diff line change @@ -161,11 +161,19 @@ namespace geode
161161 const auto & mesh = surface.mesh ();
162162 for ( const auto & pair : surface_pair.second )
163163 {
164- for ( auto & polygon_vertex :
165- mesh.polygons_from_edge_vertices ( pair ) )
164+ if ( auto edge = mesh.polygon_edge_from_vertices (
165+ pair[0 ], pair[1 ] ) )
166+
167+ {
168+ edges[surface.id ()].emplace_back (
169+ std::move ( edge.value () ) );
170+ continue ;
171+ }
172+ if ( auto edge = mesh.polygon_edge_from_vertices (
173+ pair[1 ], pair[0 ] ) )
166174 {
167175 edges[surface.id ()].emplace_back (
168- std::move ( polygon_vertex ) );
176+ std::move ( edge. value () ) );
169177 }
170178 }
171179 }
Original file line number Diff line number Diff line change @@ -219,7 +219,25 @@ namespace geode
219219 }
220220 for ( auto & edge : it->second )
221221 {
222- edges.emplace_back ( std::move ( edge ) );
222+ const auto & surface_mesh = surface.mesh ();
223+ const auto & edge_vertices =
224+ surface_mesh.polygon_edge_vertices ( edge );
225+ edges.emplace_back (
226+ surface_mesh
227+ .polygon_edge_from_vertices (
228+ edge_vertices[0 ], edge_vertices[1 ] )
229+ .value () );
230+ if ( surface_mesh
231+ .polygon_edge_from_vertices (
232+ edge_vertices[1 ], edge_vertices[0 ] )
233+ .has_value () )
234+ {
235+ edges.emplace_back (
236+ surface_mesh
237+ .polygon_edge_from_vertices (
238+ edge_vertices[1 ], edge_vertices[0 ] )
239+ .value () );
240+ }
223241 }
224242 }
225243 }
You can’t perform that action at this time.
0 commit comments