@@ -293,49 +293,49 @@ namespace
293293 }
294294 const auto position_it =
295295 absl::c_find ( facet_vertices, polyhedron_vertex );
296- if ( position_it ! = facet_vertices.end () )
296+ if ( position_it = = facet_vertices.end () )
297297 {
298- geode::PolyhedronFacetVertices facet_vertices_id;
299- facet_vertices_id.reserve ( nb_facet_vertices );
300- for ( const auto & v : facet_vertices )
301- {
302- facet_vertices_id.emplace_back (
303- solid.polyhedron_vertex ( v ) );
304- }
298+ continue ;
299+ }
300+ geode::PolyhedronFacetVertices facet_vertices_id;
301+ facet_vertices_id.reserve ( nb_facet_vertices );
302+ for ( const auto & v : facet_vertices )
303+ {
304+ facet_vertices_id.emplace_back ( solid.polyhedron_vertex ( v ) );
305+ }
305306
306- const auto position = static_cast < geode::index_t >(
307- std::distance ( facet_vertices.begin (), position_it ) );
307+ const auto position = static_cast < geode::index_t >(
308+ std::distance ( facet_vertices.begin (), position_it ) );
308309
309- if ( solid.are_facets_enabled () )
310+ if ( solid.are_facets_enabled () )
311+ {
312+ auto facets = builder.facets_builder ();
313+ facets.update_facet_vertex (
314+ facet_vertices_id, position, new_vertex_id );
315+ }
316+
317+ if ( solid.are_edges_enabled () )
318+ {
319+ auto edges = builder.edges_builder ();
320+ const auto next =
321+ position + 1 == nb_facet_vertices ? 0 : position + 1 ;
322+ std::array< geode::index_t , 2 > next_edge_vertices{
323+ facet_vertices_id[position], facet_vertices_id[next]
324+ };
325+ if ( next_edge_vertices[0 ] < next_edge_vertices[1 ] )
310326 {
311- auto facets = builder.facets_builder ();
312- facets.update_facet_vertex (
313- facet_vertices_id, position, new_vertex_id );
327+ edges.update_edge_vertex (
328+ next_edge_vertices, 0 , new_vertex_id );
314329 }
315-
316- if ( solid.are_edges_enabled () )
330+ const auto prev =
331+ position == 0 ? nb_facet_vertices - 1 : position - 1 ;
332+ std::array< geode::index_t , 2 > previous_edge_vertices{
333+ facet_vertices_id[prev], facet_vertices_id[position]
334+ };
335+ if ( previous_edge_vertices[0 ] < previous_edge_vertices[1 ] )
317336 {
318- auto edges = builder.edges_builder ();
319- const auto next =
320- position + 1 == nb_facet_vertices ? 0 : position + 1 ;
321- std::array< geode::index_t , 2 > next_edge_vertices{
322- facet_vertices_id[position], facet_vertices_id[next]
323- };
324- if ( next_edge_vertices[0 ] < next_edge_vertices[1 ] )
325- {
326- edges.update_edge_vertex (
327- next_edge_vertices, 0 , new_vertex_id );
328- }
329- const auto prev =
330- position == 0 ? nb_facet_vertices - 1 : position - 1 ;
331- std::array< geode::index_t , 2 > previous_edge_vertices{
332- facet_vertices_id[prev], facet_vertices_id[position]
333- };
334- if ( previous_edge_vertices[0 ] < previous_edge_vertices[1 ] )
335- {
336- edges.update_edge_vertex (
337- previous_edge_vertices, 1 , new_vertex_id );
338- }
337+ edges.update_edge_vertex (
338+ previous_edge_vertices, 1 , new_vertex_id );
339339 }
340340 }
341341 }
0 commit comments