diff --git a/src/geode/inspector/topology/brep_topology.cpp b/src/geode/inspector/topology/brep_topology.cpp index 565fc44..87986c8 100644 --- a/src/geode/inspector/topology/brep_topology.cpp +++ b/src/geode/inspector/topology/brep_topology.cpp @@ -176,22 +176,29 @@ namespace geode const BRepTopologyInspector& brep_topology_inspector ) const { BRepTopologyInspectionResult result; - async::parallel_invoke( - [&result, &brep_topology_inspector] { - result.corners = - brep_topology_inspector.inspect_corners_topology(); - }, - [&result, &brep_topology_inspector] { - result.lines = - brep_topology_inspector.inspect_lines_topology(); - }, - [&result, &brep_topology_inspector] { - result.surfaces = - brep_topology_inspector.inspect_surfaces_topology(); - }, - [&result, &brep_topology_inspector] { - result.blocks = brep_topology_inspector.inspect_blocks(); - } ); + try + { + async::parallel_invoke( + [&result, &brep_topology_inspector] { + result.corners = + brep_topology_inspector.inspect_corners_topology(); + }, + [&result, &brep_topology_inspector] { + result.lines = + brep_topology_inspector.inspect_lines_topology(); + }, + [&result, &brep_topology_inspector] { + result.surfaces = + brep_topology_inspector.inspect_surfaces_topology(); + }, + [&result, &brep_topology_inspector] { + result.blocks = + brep_topology_inspector.inspect_blocks(); + } ); + } + catch( OpenGeodeException& ) + { + } add_unique_vertices_with_wrong_cmv_link( result ); return result; } diff --git a/src/geode/inspector/topology/section_topology.cpp b/src/geode/inspector/topology/section_topology.cpp index be5ce65..9adeda1 100644 --- a/src/geode/inspector/topology/section_topology.cpp +++ b/src/geode/inspector/topology/section_topology.cpp @@ -23,6 +23,8 @@ #include +#include + #include #include @@ -170,10 +172,25 @@ namespace geode const SectionTopologyInspector& section_topology_inspector ) const { SectionTopologyInspectionResult result; - result.corners = - section_topology_inspector.inspect_corners_topology(); - result.lines = section_topology_inspector.inspect_lines_topology(); - result.surfaces = section_topology_inspector.inspect_surfaces(); + try + { + async::parallel_invoke( + [&result, §ion_topology_inspector] { + result.corners = section_topology_inspector + .inspect_corners_topology(); + }, + [&result, §ion_topology_inspector] { + result.lines = + section_topology_inspector.inspect_lines_topology(); + }, + [&result, §ion_topology_inspector] { + result.surfaces = + section_topology_inspector.inspect_surfaces(); + } ); + } + catch( OpenGeodeException& ) + { + } add_unique_vertices_with_wrong_cmv_link( result ); return result; }