Skip to content

fix(ComponentID): change componentid class to struct - #195

Merged
BotellaA merged 1 commit into
v18from
fix/change_ComponentID_to_struct
Aug 14, 2026
Merged

fix(ComponentID): change componentid class to struct#195
BotellaA merged 1 commit into
v18from
fix/change_ComponentID_to_struct

Conversation

@BenPinet

Copy link
Copy Markdown
Member

No description provided.

@BenPinet
BenPinet requested a review from panquez August 13, 2026 15:28
@github-actions

github-actions Bot commented Aug 13, 2026

Copy link
Copy Markdown

Cpp-Linter Report ⚠️

Some files did not pass the configured checks!

clang-tidy (v21.1.8) reports: 82 concern(s)
  • include/geode/inspector/inspection/topology/internal/topology_helpers.hpp:44:1: warning: [modernize-concat-nested-namespaces]

    nested namespaces can be concatenated

       44 | namespace geode
          | ^~~~~~~~~~~~~~~
       45 | {
          | ~
       46 |     namespace internal
          |     ~~~~~~~~~~~~~~~~~~
          |     namespace geode::internal
  • include/geode/inspector/inspection/topology/internal/topology_helpers.hpp:99:37: error: [clang-diagnostic-error]

    variable has incomplete type 'ComponentMeshVertex'

       99 |                 ComponentMeshVertex component_mesh_vertex{ component_id,
          |                                     ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/include/geode/inspector/inspection/topology/internal/topology_helpers.hpp:39:12: note: forward declaration of 'geode::ComponentMeshVertex'
       39 |     struct ComponentMeshVertex;
          |            ^
  • src/geode/inspector/inspection/criterion/colocation/unique_vertices_colocation.cpp:61:9: warning: [llvm-else-after-return]

    do not use 'else' after 'return'

       61 |         else if( cmv.component_id.type
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       62 |                  == geode::Surface< Model::dim >::component_type_static() )
          |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       63 |         {
          |         ~
       64 |             return point.inexact_equal( model.surface( cmv.component_id.id )
          |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       65 |                     .mesh()
          |                     ~~~~~~~
       66 |                     .point( cmv.vertex ) );
          |                     ~~~~~~~~~~~~~~~~~~~~~~~
       67 |         }
          |         ~
  • src/geode/inspector/inspection/criterion/colocation/unique_vertices_colocation.cpp:192:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

      192 |         Impl( const Model& model )
          |         ^
          |         explicit 
  • src/geode/inspector/inspection/criterion/colocation/unique_vertices_colocation.cpp:218:9: warning: [modernize-use-nodiscard]

    function 'model_has_unique_vertices_linked_to_different_points' should be marked [[nodiscard]]

      218 |         bool model_has_unique_vertices_linked_to_different_points() const
          |         ^
          |         [[nodiscard]] 
  • src/geode/inspector/inspection/criterion/colocation/unique_vertices_colocation.cpp:239:9: warning: [modernize-use-nodiscard]

    function 'model_has_colocated_unique_vertices' should be marked [[nodiscard]]

      239 |         bool model_has_colocated_unique_vertices() const
          |         ^
          |         [[nodiscard]] 
  • src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:85:13: warning: [bugprone-easily-swappable-parameters]

    2 adjacent parameters of 'BRepLineSurfacesIntersection' of similar type ('const geode::uuid &') are easily swapped by mistake

       85 |             const geode::uuid& surface_id,
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       86 |             const geode::uuid& line_id )
          |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:85:32: note: the first parameter in the range is 'surface_id'
       85 |             const geode::uuid& surface_id,
          |                                ^~~~~~~~~~
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:86:32: note: the last parameter in the range is 'line_id'
       86 |             const geode::uuid& line_id )
          |                                ^~~~~~~
  • src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:167:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

      167 |         ModelIntersectionBase( const Model& model ) : model_( model ) {}
          |         ^
          |         explicit 
  • src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:210:13: warning: [bugprone-easily-swappable-parameters]

    2 adjacent parameters of 'polygons_intersect' of similar type ('geode::index_t') are easily swapped by mistake

      210 |             geode::index_t p1_id, geode::index_t p2_id ) const
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:210:28: note: the first parameter in the range is 'p1_id'
      210 |             geode::index_t p1_id, geode::index_t p2_id ) const
          |                            ^~~~~
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:210:50: note: the last parameter in the range is 'p2_id'
      210 |             geode::index_t p1_id, geode::index_t p2_id ) const
          |                                                  ^~~~~
  • src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:252:17: warning: [bugprone-easily-swappable-parameters]

    2 adjacent parameters of 'triangles_common_vertices' of similar type ('const geode::PolygonVertices &') are easily swapped by mistake

      252 |                 const geode::PolygonVertices& t1_vertices,
          |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      253 |                 const geode::PolygonVertices& t2_vertices ) const
          |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:252:47: note: the first parameter in the range is 't1_vertices'
      252 |                 const geode::PolygonVertices& t1_vertices,
          |                                               ^~~~~~~~~~~
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:253:47: note: the last parameter in the range is 't2_vertices'
      253 |                 const geode::PolygonVertices& t2_vertices ) const
          |                                               ^~~~~~~~~~~
  • src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:428:58: warning: [readability-function-cognitive-complexity]

    function 'triangles_intersect' has cognitive complexity of 28 (threshold 10)

      428 |         ModelSurfacesIntersectionBase< geode::Section >::triangles_intersect(
          |                                                          ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:434:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      434 |         if( common_vertices.size() == 2 )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:442:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      442 |             if( geode::segment_segment_intersection_detection< 2 >(
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:446:17: note: +1
      446 |                 || geode::segment_segment_intersection_detection< 2 >(
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:458:20: note: +1
      458 |                    || geode::point_triangle_position( t2_third_pt, triangle1 )
          |                    ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:461:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      461 |         for( const auto t1_edge_v : geode::LRange{ 3 } )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:465:44: note: +2, including nesting penalty of 1, nesting level increased to 2
      465 |                 t1_vertices[t1_edge_v == 2 ? 0 : t1_edge_v + 1]
          |                                            ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:469:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      469 |             for( const auto t2_edge_v : geode::LRange{ 3 } )
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:473:48: note: +3, including nesting penalty of 2, nesting level increased to 3
      473 |                     t2_vertices[t2_edge_v == 2 ? 0 : t2_edge_v + 1]
          |                                                ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:479:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      479 |                 if( edge_edge_inter.first == geode::POSITION::outside
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:480:21: note: +1
      480 |                     || edge_edge_inter.first == geode::POSITION::parallel )
          |                     ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:484:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      484 |                 if( common_vertices.size() != 1 )
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:492:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      492 |                 if( t1_edge_inter_pt_id == geode::NO_LID
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:493:21: note: +1
      493 |                     || t2_edge_inter_pt_id == geode::NO_LID )
          |                     ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:497:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      497 |                 if( edge1_vertices[t1_edge_inter_pt_id] != common_vertices[0][0]
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:498:21: note: +1
      498 |                     || edge2_vertices[t2_edge_inter_pt_id]
          |                     ^
  • src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:508:24: warning: [readability-function-cognitive-complexity]

    function 'triangle_intersects_other' has cognitive complexity of 22 (threshold 10)

      508 |     [[nodiscard]] bool triangle_intersects_other(
          |                        ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:516:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      516 |         for( const auto v_id : geode::LRange{ 3 } )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:518:42: note: +2, including nesting penalty of 1, nesting level increased to 2
      518 |             const auto v2_id = v_id == 2 ? 0 : v_id + 1;
          |                                          ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:522:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      522 |             if( intersection.first != geode::POSITION::outside )
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:524:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      524 |                 if( common_vertices.size() != 1 )
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:532:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      532 |                 if( edge_inter_pt_id == geode::NO_LID
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:533:21: note: +1
      533 |                     || t2_inter_pt_id == geode::NO_LID )
          |                     ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:537:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      537 |                 if( t1_vertices[edge_inter_pt_id == 0 ? v_id : v2_id]
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:539:21: note: +1
      539 |                     || t2_vertices[t2_inter_pt_id]
          |                     ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:537:55: note: +3, including nesting penalty of 2, nesting level increased to 3
      537 |                 if( t1_vertices[edge_inter_pt_id == 0 ? v_id : v2_id]
          |                                                       ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:538:71: note: +3, including nesting penalty of 2, nesting level increased to 3
      538 |                         != common_vertices[0][t2_vertex_position == 0 ? 1 : 0]
          |                                                                       ^
  • src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:508:24: warning: [readability-function-size]

    function 'triangle_intersects_other' exceeds recommended size/complexity thresholds

      508 |     [[nodiscard]] bool triangle_intersects_other(
          |                        ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:508:24: note: 6 parameters (threshold 4)
  • src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:577:19: warning: [readability-suspicious-call-argument]

    1st argument 'triangle2' (passed to 'triangle1') looks like it might be swapped with the 2nd, 'triangle1' (passed to 'triangle2')

      577 |                || triangle_intersects_other( triangle2, triangle1, t2_vertices,
          |                   ^                          ~~~~~~~~~  ~~~~~~~~~
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:508:24: note: in the call to 'triangle_intersects_other', declared here
      508 |     [[nodiscard]] bool triangle_intersects_other(
          |                        ^
      509 |         const geode::Triangle3D& triangle1,
          |                                  ~~~~~~~~~
      510 |         const geode::Triangle3D& triangle2,
          |                                  ~~~~~~~~~
  • src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:577:19: warning: [readability-suspicious-call-argument]

    3rd argument 't2_vertices' (passed to 't1_vertices') looks like it might be swapped with the 4th, 't1_vertices' (passed to 't2_vertices')

      577 |                || triangle_intersects_other( triangle2, triangle1, t2_vertices,
          |                   ^                                                ~~~~~~~~~~~
      578 |                    t1_vertices, common_vertices, 0 );
          |                    ~~~~~~~~~~~
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:508:24: note: in the call to 'triangle_intersects_other', declared here
      508 |     [[nodiscard]] bool triangle_intersects_other(
          |                        ^
      509 |         const geode::Triangle3D& triangle1,
      510 |         const geode::Triangle3D& triangle2,
      511 |         const geode::PolygonVertices& t1_vertices,
          |                                       ~~~~~~~~~~~
      512 |         const geode::PolygonVertices& t2_vertices,
          |                                       ~~~~~~~~~~~
  • src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:613:9: warning: [modernize-use-nodiscard]

    function 'lines_intersect' should be marked [[nodiscard]]

      613 |         bool lines_intersect( geode::index_t p1_id, geode::index_t p2_id ) const
          |         ^
          |         [[nodiscard]] 
  • src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:652:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

      652 |         Impl( const Model& model )
          |         ^
          |         explicit 
  • src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:768:13: warning: [readability-function-cognitive-complexity]

    function 'intersecting_polygons' has cognitive complexity of 12 (threshold 10)

      768 |             intersecting_polygons() const
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:771:13: note: +1, including nesting penalty of 0, nesting level increased to 1
      771 |             for( const auto& surface : model_.active_surfaces() )
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:773:17: note: +2, including nesting penalty of 1, nesting level increased to 2
      773 |                 if( surface.mesh().nb_polygons() == 0 )
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:785:13: note: +1, including nesting penalty of 0, nesting level increased to 1
      785 |             for( const auto& surface : model_.active_surfaces() )
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:787:51: note: nesting level increased to 2
      787 |                 tasks.emplace_back( async::spawn( [this, &surface] {
          |                                                   ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:797:21: note: +3, including nesting penalty of 2, nesting level increased to 3
      797 |                     for( const auto& [polygon1, polygon2] :
          |                     ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:810:13: note: +1, including nesting penalty of 0, nesting level increased to 1
      810 |             for( const auto& components : surfaces_overlap.component_pairs )
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:812:51: note: nesting level increased to 2
      812 |                 tasks.emplace_back( async::spawn( [this, &components] {
          |                                                   ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:828:21: note: +3, including nesting penalty of 2, nesting level increased to 3
      828 |                     for( const auto& [polygon1, polygon2] :
          |                     ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:838:13: note: +1, including nesting penalty of 0, nesting level increased to 1
      838 |             for( auto& task : async::when_all( tasks ).get() )
          |             ^
  • src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:848:13: warning: [readability-function-cognitive-complexity]

    function 'intersecting_lines' has cognitive complexity of 12 (threshold 10)

      848 |             intersecting_lines() const
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:853:13: note: +1, including nesting penalty of 0, nesting level increased to 1
      853 |             for( const auto& line : model_.active_lines() )
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:855:17: note: +2, including nesting penalty of 1, nesting level increased to 2
      855 |                 if( line.mesh().nb_edges() == 0 )
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:865:13: note: +1, including nesting penalty of 0, nesting level increased to 1
      865 |             for( const auto& line : model_.active_lines() )
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:867:51: note: nesting level increased to 2
      867 |                 tasks.emplace_back( async::spawn( [this, &line] {
          |                                                   ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:877:21: note: +3, including nesting penalty of 2, nesting level increased to 3
      877 |                     for( const auto& [edge1, edge2] :
          |                     ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:890:13: note: +1, including nesting penalty of 0, nesting level increased to 1
      890 |             for( const auto& components : lines_overlap.component_pairs )
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:892:51: note: nesting level increased to 2
      892 |                 tasks.emplace_back( async::spawn( [this, &components] {
          |                                                   ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:908:21: note: +3, including nesting penalty of 2, nesting level increased to 3
      908 |                     for( const auto& [edge1, edge2] :
          |                     ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:918:13: note: +1, including nesting penalty of 0, nesting level increased to 1
      918 |             for( auto& task : async::when_all( tasks ).get() )
          |             ^
  • src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:928:13: warning: [readability-function-cognitive-complexity]

    function 'intersecting_lines_surfaces' has cognitive complexity of 15 (threshold 10)

      928 |             intersecting_lines_surfaces( const BRep& brep ) const
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:933:13: note: +1, including nesting penalty of 0, nesting level increased to 1
      933 |             for( const auto& surface : brep.active_surfaces() )
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:935:17: note: +2, including nesting penalty of 1, nesting level increased to 2
      935 |                 if( surface.mesh().nb_polygons() == 0 )
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:943:13: note: +1, including nesting penalty of 0, nesting level increased to 1
      943 |             for( const auto& line : brep.active_lines() )
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:945:17: note: +2, including nesting penalty of 1, nesting level increased to 2
      945 |                 if( line.mesh().nb_edges() == 0 )
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:953:13: note: +1, including nesting penalty of 0, nesting level increased to 1
      953 |             for( const auto& surface : brep.active_surfaces() )
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:958:17: note: +2, including nesting penalty of 1, nesting level increased to 2
      958 |                 for( const auto& line : brep.active_lines() )
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:960:21: note: +3, including nesting penalty of 2, nesting level increased to 3
      960 |                     if( brep.nb_embedding_blocks( line ) == 0 )
          |                     ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/intersections/model_intersections.cpp:971:21: note: +3, including nesting penalty of 2, nesting level increased to 3
      971 |                     for( const auto& element_pair :
          |                     ^
  • src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:119:10: warning: [readability-function-cognitive-complexity]

    function 'create_graph' has cognitive complexity of 16 (threshold 10)

      119 |     void create_graph( const geode::BRep& brep,
          |          ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:127:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      127 |         for( const auto& line : brep.lines() )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:132:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      132 |         for( const auto& line : brep.lines() )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:136:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      136 |             for( const auto& incident_surface : brep.incidences( line ) )
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:138:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      138 |                 for( const auto& boundary_line :
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:144:21: note: +4, including nesting penalty of 3, nesting level increased to 4
      144 |                     if( const auto existing_edge = graph.edge_from_vertices(
          |                     ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:147:25: note: +5, including nesting penalty of 4, nesting level increased to 5
      147 |                         if( surface_uuids_to_graph_edges
          |                         ^
  • src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:119:10: warning: [readability-function-size]

    function 'create_graph' exceeds recommended size/complexity thresholds

      119 |     void create_graph( const geode::BRep& brep,
          |          ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:119:10: note: 5 parameters (threshold 4)
  • src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:163:32: warning: [readability-function-cognitive-complexity]

    function 'find_not_boundary_surfaces' has cognitive complexity of 33 (threshold 10)

      163 |     std::vector< geode::uuid > find_not_boundary_surfaces(
          |                                ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:176:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      176 |         while( found_not_boundary_surface )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:179:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      179 |             for( const auto graph_vertex :
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:182:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      182 |                 if( graph->edges_around_vertex( graph_vertex ).empty() )
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:193:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      193 |                 for( const auto& edge_around :
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:196:21: note: +4, including nesting penalty of 3, nesting level increased to 4
      196 |                     if( surface_uuids_to_graph_edges
          |                     ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:205:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      205 |                 if( !should_delete )
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:209:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      209 |                 if( absl::c_contains( not_boundaries_surfaces, surface_id ) )
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:213:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      213 |                 for( const auto& edge :
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:220:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      220 |             if( !absl::c_contains( to_delete, true ) )
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:228:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      228 |             for( const auto& [surface_id, graph_edges] :
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:231:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      231 |                 for( const auto graph_edge : graph_edges )
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:233:21: note: +4, including nesting penalty of 3, nesting level increased to 4
      233 |                     if( old2new.at( graph_edge ) != geode::NO_ID )
          |                     ^
  • src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:374:13: warning: [performance-inefficient-vector-operation]

    'emplace_back' is called inside a loop; consider pre-allocating the container capacity before the loop

      372 |         for( const auto& surface_list : linked_surfaces_list )
      373 |         {
      374 |             bounding_boxes.emplace_back(
          |             ^
  • src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:400:50: warning: [readability-function-cognitive-complexity]

    function 'fuse_brep_surfaces_from_list' has cognitive complexity of 11 (threshold 10)

      400 |     std::unique_ptr< geode::PolygonalSurface3D > fuse_brep_surfaces_from_list(
          |                                                  ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:409:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      409 |         for( const auto& surface_id : surface_list )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:413:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      413 |             for( const auto polygon :
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:418:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      418 |                 for( auto& polygon_vertex : polygon_vertices )
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:422:21: note: +4, including nesting penalty of 3, nesting level increased to 4
      422 |                     if( !unique_vertices_to_polygonal_surface_vertices
          |                     ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:432:21: note: +1, nesting level increased to 4
      432 |                     else
          |                     ^
  • src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:446:10: warning: [readability-function-cognitive-complexity]

    function 'block_boundaries_are_closed' has cognitive complexity of 19 (threshold 10)

      446 |     bool block_boundaries_are_closed(
          |          ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:451:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      451 |         while( !to_process.empty() )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:456:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      456 |         if( linked_boundary_parts.size() < 2 )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:462:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      462 |         if( !enclosing_surface_index )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:470:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      470 |         for( const auto surface_list_id :
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:473:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      473 |             if( surface_list_id == enclosing_surface_index.value() )
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:477:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      477 |             for( const auto& surface_id :
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:481:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      481 |                 for( const auto vertex_id :
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:486:25: note: +4, including nesting penalty of 3, nesting level increased to 4
      486 |                         if( !geode::is_point_inside_closed_surface(
          |                         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:494:21: note: +4, including nesting penalty of 3, nesting level increased to 4
      494 |                     catch( const geode::OpenGeodeException& )
          |                     ^
  • src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:532:53: warning: [readability-function-cognitive-complexity]

    function 'string' has cognitive complexity of 11 (threshold 10)

      532 |     std::string BRepBlocksTopologyInspectionResult::string() const
          |                                                     ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:535:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      535 |         if( some_blocks_not_meshed.nb_issues() != 0 )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:539:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      539 |         if( wrong_block_boundary_surface.nb_issues() != 0 )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:543:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      543 |         if( blocks_not_linked_to_a_unique_vertex.nb_issues() != 0 )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:548:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      548 |         if( blocks_with_not_closed_boundary_surfaces.nb_issues() != 0 )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:553:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      553 |         if( model_boundaries_dont_form_a_closed_surface.nb_issues() != 0 )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:558:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      558 |         if( unique_vertices_part_of_two_blocks_and_no_boundary_surface
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:567:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      567 |         if( unique_vertices_with_incorrect_block_cmvs_count.nb_issues() != 0 )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:573:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      573 |         if( unique_vertices_linked_to_surface_with_wrong_relationship_to_blocks
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:582:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      582 |         if( unique_vertices_linked_to_a_single_and_invalid_surface.nb_issues()
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:589:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      589 |         if( unique_vertex_linked_to_multiple_invalid_surfaces.nb_issues() != 0 )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:595:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      595 |         if( !message.empty() )
          |         ^
  • src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:635:9: warning: [readability-function-cognitive-complexity]

    function 'unique_vertex_is_part_of_two_blocks_and_no_boundary_surface' has cognitive complexity of 20 (threshold 10)

      635 |         unique_vertex_is_part_of_two_blocks_and_no_boundary_surface(
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:640:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      640 |         if( block_uuids.size() != 2 )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:644:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      644 |         for( const auto& block_uuid : block_uuids )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:646:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      646 |             if( !brep_.block( block_uuid ).is_active() )
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:651:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      651 |         for( const auto& surface_cmv :
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:654:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      654 |             if( surface_cmv.component_id.type
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:659:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      659 |             if( brep_.Relationships::is_boundary(
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:661:17: note: +1
      661 |                 && brep_.Relationships::is_boundary(
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:666:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      666 |             for( const auto& line_cmv :
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:669:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      669 |                 if( line_cmv.component_id.type
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:674:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      674 |                 if( brep_.Relationships::is_boundary(
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:676:21: note: +1
      676 |                     && ( brep_.Relationships::is_boundary(
          |                     ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:678:26: note: +1
      678 |                          || brep_.Relationships::is_boundary(
          |                          ^
  • src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:715:9: warning: [readability-function-cognitive-complexity]

    function 'vertex_is_part_of_surface_with_wrong_relationships_to_block' has cognitive complexity of 13 (threshold 10)

      715 |         vertex_is_part_of_surface_with_wrong_relationships_to_block(
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:720:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      720 |         for( const auto& cmv :
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:723:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      723 |             if( cmv.component_id.type != Surface3D::component_type_static()
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:724:17: note: +1
      724 |                 || !brep_.surface( cmv.component_id.id ).is_active() )
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:728:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      728 |             if( brep_.nb_incidences( cmv.component_id.id ) >= 1
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:729:17: note: +1
      729 |                 && absl::c_contains(
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:740:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      740 |             if( brep_.nb_embeddings( cmv.component_id.id ) >= 1
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:744:17: note: +1
      744 |                 && absl::c_contains( dangling_surface, cmv.component_id.id ) )
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:754:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      754 |             if( brep_.nb_incidences( cmv.component_id.id ) < 1
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:756:17: note: +1
      756 |                 && !absl::c_contains( dangling_surface, cmv.component_id.id ) )
          |                 ^
  • src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:772:29: warning: [readability-function-cognitive-complexity]

    function 'vertex_is_part_of_invalid_single_surface' has cognitive complexity of 17 (threshold 10)

      772 |         BRepBlocksTopology::vertex_is_part_of_invalid_single_surface(
          |                             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:778:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      778 |         if( surface_uuids.size() != 1
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:779:13: note: +1
      779 |             || !brep_.surface( surface_uuids[0] ).is_active() )
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:786:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      786 |         if( absl::c_contains( not_boundary_surfaces, surface_id ) )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:790:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      790 |         if( block_uuids.size() > 2 )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:796:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      796 |         if( brep_.nb_embeddings( surface_id ) > 0 )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:798:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      798 |             if( internal::brep_blocks_are_meshed( brep_ ) )
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:800:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      800 |                 if( block_uuids.size() != 1 )
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:806:22: note: +1, nesting level increased to 3
      806 |                 else if( !brep_.Relationships::is_internal(
          |                      ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:816:9: note: +1, nesting level increased to 1
      816 |         else
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:818:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      818 |             for( const auto& block_id : block_uuids )
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:820:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      820 |                 if( !brep_.Relationships::is_boundary( surface_id, block_id ) )
          |                 ^
  • src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:806:17: warning: [llvm-else-after-return]

    do not use 'else' after 'return'

      806 |                 else if( !brep_.Relationships::is_internal(
          |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      807 |                              surface_id, block_uuids[0] ) )
          |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      808 |                 {
          |                 ~
      809 |                     return absl::StrCat( "unique vertex ", unique_vertex_index,
          |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      810 |                         " is part of only one Surface, which is "
          |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      811 |                         "embedded, and one Block, but the Surface is "
          |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      812 |                         "not internal to the Block." );
          |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      813 |                 }
          |                 ~
  • src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:841:29: warning: [readability-function-cognitive-complexity]

    function 'vertex_is_part_of_invalid_multiple_surfaces' has cognitive complexity of 17 (threshold 10)

      841 |         BRepBlocksTopology::vertex_is_part_of_invalid_multiple_surfaces(
          |                             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:846:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      846 |         if( line_uuids.size() < 2 )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:852:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      852 |         if( surface_uuids.size() < 2 )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:857:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      857 |         for( const auto& surface_uuid : surface_uuids )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:859:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      859 |             if( brep_.nb_incidences( surface_uuid ) < 1
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:860:17: note: +1
      860 |                 && brep_.nb_embeddings( surface_uuid ) < 1 )
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:866:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      866 |         if( not_dangling_surfaces.size() < 2 )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:870:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      870 |         for( const auto& line_id : line_uuids )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:873:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      873 |             for( const auto& surface_id : not_dangling_surfaces )
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:875:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      875 |                 if( !brep_.Relationships::is_internal( line_id, surface_id )
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:876:21: note: +1
      876 |                     && !brep_.Relationships::is_boundary(
          |                     ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:883:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      883 |             if( brep_.nb_embeddings( line_id ) < 1
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_blocks_topology.cpp:886:17: note: +1
      886 |                 && line_has_relations_with_all_surfaces )
          |                 ^
  • src/geode/inspector/inspection/topology/brep_corners_topology.cpp:102:31: warning: [readability-function-cognitive-complexity]

    function 'brep_corner_topology_is_valid' has cognitive complexity of 14 (threshold 10)

      102 |     bool BRepCornersTopology::brep_corner_topology_is_valid(
          |                               ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_corners_topology.cpp:106:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      106 |         for( const auto& cmv :
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_corners_topology.cpp:109:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      109 |             if( cmv.component_id.type != Corner3D::component_type_static()
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_corners_topology.cpp:110:17: note: +1
      110 |                 || !brep_.corner( cmv.component_id.id ).is_active() )
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_corners_topology.cpp:114:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      114 |             if( corner_found )
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_corners_topology.cpp:120:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      120 |             if( brep_.nb_embeddings( corner_uuid ) == 0 )
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_corners_topology.cpp:122:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      122 |                 if( brep_.nb_incidences( corner_uuid ) == 0 )
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_corners_topology.cpp:127:18: note: +1, nesting level increased to 2
      127 |             else if( brep_.nb_incidences( corner_uuid ) > 1 )
          |                  ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_corners_topology.cpp:132:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      132 |         if( corner_is_multiply_embedded( unique_vertex_index ) )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_corners_topology.cpp:136:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      136 |         if( corner_is_part_of_line_but_not_boundary( unique_vertex_index ) )
          |         ^
  • src/geode/inspector/inspection/topology/brep_corners_topology.cpp:180:30: warning: [readability-function-cognitive-complexity]

    function 'corner_is_multiply_embedded' has cognitive complexity of 12 (threshold 10)

      180 |         BRepCornersTopology::corner_is_multiply_embedded(
          |                              ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_corners_topology.cpp:183:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      183 |         for( const auto& cmv :
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_corners_topology.cpp:186:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      186 |             if( cmv.component_id.type == Corner3D::component_type_static()
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_corners_topology.cpp:188:17: note: +1
      188 |                 && brep_.nb_embeddings( cmv.component_id.id ) > 1 )
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_corners_topology.cpp:190:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      190 |                 for( const auto& embedding :
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_corners_topology.cpp:193:21: note: +4, including nesting penalty of 3, nesting level increased to 4
      193 |                     if( embedding.type == Block3D::component_type_static()
          |                     ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/brep_corners_topology.cpp:194:25: note: +1
      194 |                         && brep_.block( embedding.id ).is_active() )
          |                         ^
  • src/geode/inspector/inspection/topology/brep_topology.cpp:70:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       70 |         Impl( const BRep& brep ) : brep_( brep ) {}
          |         ^
          |         explicit 
  • src/geode/inspector/inspection/topology/brep_topology.cpp:142:9: warning: [modernize-use-nodiscard]

    function 'brep_topology_is_valid' should be marked [[nodiscard]]

      142 |         bool brep_topology_is_valid(
          |         ^
          |         [[nodiscard]] 

Have any feedback or feature suggestions? Share it here.

@BotellaA
BotellaA merged commit 3f11cef into v18 Aug 14, 2026
26 of 34 checks passed
@BotellaA
BotellaA deleted the fix/change_ComponentID_to_struct branch August 14, 2026 15:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants