Skip to content

V18 - #193

Draft
BenPinet wants to merge 10 commits into
nextfrom
v18
Draft

V18#193
BenPinet wants to merge 10 commits into
nextfrom
v18

Conversation

@BenPinet

@BenPinet BenPinet commented Aug 4, 2026

Copy link
Copy Markdown
Member

No description provided.

@BenPinet
BenPinet requested a review from BotellaA August 4, 2026 09:39
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

Cpp-Linter Report ⚠️

Some files did not pass the configured checks!

clang-tidy (v20.1.8) reports: 61 concern(s)
  • src/geode/inspector/inspection/criterion/internal/component_meshes_adjacency.cpp:66:1: warning: [modernize-concat-nested-namespaces]

    nested namespaces can be concatenated

       66 | namespace geode
          | ^~~~~~~~~~~~~~~
       67 | {
          | ~
       68 |     namespace internal
          |     ~~~~~~~~~~~~~~~~~~
          |     namespace geode::internal
  • src/geode/inspector/inspection/criterion/internal/component_meshes_adjacency.cpp:79:13: warning: [readability-function-cognitive-complexity]

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

       79 |             add_surfaces_edges_with_wrong_adjacencies(
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/internal/component_meshes_adjacency.cpp:83:13: note: +1, including nesting penalty of 0, nesting level increased to 1
       83 |             for( const auto& surface : model_.active_surfaces() )
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/internal/component_meshes_adjacency.cpp:94:17: note: +2, including nesting penalty of 1, nesting level increased to 2
       94 |                 for( const auto polygon_id : Range{ mesh.nb_polygons() } )
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/internal/component_meshes_adjacency.cpp:96:21: note: +3, including nesting penalty of 2, nesting level increased to 3
       96 |                     for( const auto edge_id :
          |                     ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/internal/component_meshes_adjacency.cpp:102:29: note: +4, including nesting penalty of 3, nesting level increased to 4
      102 |                             if( mesh.is_edge_on_border( polygon_edge )
          |                             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/internal/component_meshes_adjacency.cpp:103:33: note: +1
      103 |                                 && !polygon_edge_is_on_a_line(
          |                                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/criterion/internal/component_meshes_adjacency.cpp:113:25: note: +4, including nesting penalty of 3, nesting level increased to 4
      113 |                         catch( const OpenGeodeException& e )
          |                         ^
  • src/geode/inspector/inspection/criterion/internal/component_meshes_degeneration.cpp:40:1: warning: [modernize-concat-nested-namespaces]

    nested namespaces can be concatenated

       40 | namespace geode
          | ^~~~~~~~~~~~~~~
       41 | {
          | ~
       42 |     namespace internal
          |     ~~~~~~~~~~~~~~~~~~
          |     namespace geode::internal
  • 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/criterion/negative_elements/solid_negative_elements.cpp:42:9: warning: [google-explicit-constructor]

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

       42 |         Impl( const SolidMesh< dimension >& mesh ) : mesh_( mesh ) {}
          |         ^
          |         explicit 
  • src/geode/inspector/inspection/criterion/negative_elements/solid_negative_elements.cpp:44:9: warning: [modernize-use-nodiscard]

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

       44 |         bool mesh_has_negative_elements() const
          |         ^
          |         [[nodiscard]] 
  • src/geode/inspector/inspection/criterion/negative_elements/solid_negative_elements.cpp:56:9: warning: [modernize-use-nodiscard]

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

       56 |         InspectionIssues< index_t > negative_polyhedra() const
          |         ^
          |         [[nodiscard]] 
  • src/geode/inspector/inspection/criterion/negative_elements/solid_negative_elements.cpp:73:9: warning: [modernize-use-nodiscard]

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

       73 |         bool polyhedron_has_negative_volume( index_t polyhedron_id ) const
          |         ^
          |         [[nodiscard]] 
  • src/geode/inspector/inspection/criterion/negative_elements/surface_negative_elements.cpp:43:9: warning: [google-explicit-constructor]

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

       43 |         Impl( const SurfaceMesh< dimension >& mesh ) : mesh_( mesh ) {}
          |         ^
          |         explicit 
  • src/geode/inspector/inspection/criterion/negative_elements/surface_negative_elements.cpp:45:9: warning: [modernize-use-nodiscard]

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

       45 |         bool mesh_has_negative_elements() const
          |         ^
          |         [[nodiscard]] 
  • src/geode/inspector/inspection/criterion/negative_elements/surface_negative_elements.cpp:61:9: warning: [modernize-use-nodiscard]

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

       61 |         InspectionIssues< index_t > negative_polygons() const
          |         ^
          |         [[nodiscard]] 
  • src/geode/inspector/inspection/topology/internal/expected_nb_cmvs.cpp:93:9: warning: [readability-function-cognitive-complexity]

    function 'expected_block_cmvs_and_error' has cognitive complexity of 32 (threshold 10)

       93 |         expected_block_cmvs_and_error( const geode::BRep& brep,
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/internal/expected_nb_cmvs.cpp:99:44: note: nesting level increased to 1
       99 |             unique_vertex_cmvs.block_cmvs, [&block_uuid]( const auto& cmv ) {
          |                                            ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/internal/expected_nb_cmvs.cpp:105:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      105 |         for( const auto& cmv : unique_vertex_cmvs.surface_cmvs )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/internal/expected_nb_cmvs.cpp:107:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      107 |             if( brep.is_boundary(
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/internal/expected_nb_cmvs.cpp:112:18: note: +1, nesting level increased to 2
      112 |             else if( brep.is_internal(
          |                  ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/internal/expected_nb_cmvs.cpp:124:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      124 |         for( const auto& cmv : unique_vertex_cmvs.line_cmvs )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/internal/expected_nb_cmvs.cpp:127:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      127 |             if( brep.nb_embedding_blocks( cmv_line ) != 0 )
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/internal/expected_nb_cmvs.cpp:133:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      133 |             if( boundary_count > 0 )
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/internal/expected_nb_cmvs.cpp:136:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      136 |                 if( boundary_count > 1 )
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/internal/expected_nb_cmvs.cpp:143:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      143 |             if( brep.nb_embedding_surfaces( cmv_line ) > 0 )
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/internal/expected_nb_cmvs.cpp:145:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      145 |                 for( const auto& incident_surface :
          |                 ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/internal/expected_nb_cmvs.cpp:148:21: note: +4, including nesting penalty of 3, nesting level increased to 4
      148 |                     if( brep.is_internal( incident_surface, block ) )
          |                     ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/internal/expected_nb_cmvs.cpp:156:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      156 |             if( !line_is_inside_block( brep, cmv_line, block ) )
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/internal/expected_nb_cmvs.cpp:160:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      160 |             if( brep.nb_incidences( cmv.component_id.id() ) == 1 )
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/internal/expected_nb_cmvs.cpp:168:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      168 |         if( nb_boundary_surface_cmvs > 0 )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/internal/expected_nb_cmvs.cpp:178:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      178 |         if( nb_line_cmvs_to_remove != 0 || nb_line_on_boundary_cmvs != 0 )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/internal/expected_nb_cmvs.cpp:178:41: note: +1
      178 |         if( nb_line_cmvs_to_remove != 0 || nb_line_on_boundary_cmvs != 0 )
          |                                         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/internal/expected_nb_cmvs.cpp:183:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      183 |         if( nb_lines_on_several_boundaries % 2 == 1 )
          |         ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/internal/expected_nb_cmvs.cpp:197:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      197 |             if( nb_block_cmvs
          |             ^
    /__w/OpenGeode-Inspector/OpenGeode-Inspector/src/geode/inspector/inspection/topology/internal/expected_nb_cmvs.cpp:205:17: note: +1, including nesting penalty of 0, nesting level increased to 1
      205 |                 ? std::nullopt
          |                 ^
  • src/geode/inspector/inspection/topology/internal/expected_nb_cmvs.cpp:234:1: warning: [modernize-concat-nested-namespaces]

    nested namespaces can be concatenated

      234 | namespace geode
          | ^~~~~~~~~~~~~~~
      235 | {
          | ~
      236 |     namespace internal
          |     ~~~~~~~~~~~~~~~~~~
          |     namespace geode::internal
  • tests/inspection/test-surface-intersections.cpp:33:6: warning: [misc-use-internal-linkage]

    function 'check_intersections2D' can be made static or moved into an anonymous namespace to enforce internal linkage

       33 | void check_intersections2D()
          |      ^
          | static 
  • tests/inspection/test-surface-intersections.cpp:33:6: warning: [readability-identifier-naming]

    invalid case style for global function 'check_intersections2D'

       33 | void check_intersections2D()
          |      ^~~~~~~~~~~~~~~~~~~~~
          |      check_intersections2_d
  • tests/inspection/test-surface-intersections.cpp:37:31: warning: [cppcoreguidelines-avoid-magic-numbers]

    5 is a magic number; consider replacing it with a named constant

       37 |     builder->create_vertices( 5 );
          |                               ^
  • tests/inspection/test-surface-intersections.cpp:39:46: warning: [cppcoreguidelines-avoid-magic-numbers]

    1. is a magic number; consider replacing it with a named constant
       39 |     builder->set_point( 1, geode::Point2D{ { 3., 0. } } );
          |                                              ^
  • tests/inspection/test-surface-intersections.cpp:40:50: warning: [cppcoreguidelines-avoid-magic-numbers]

    1. is a magic number; consider replacing it with a named constant
       40 |     builder->set_point( 2, geode::Point2D{ { 0., 4. } } );
          |                                                  ^
  • tests/inspection/test-surface-intersections.cpp:41:46: warning: [cppcoreguidelines-avoid-magic-numbers]

    1. is a magic number; consider replacing it with a named constant
       41 |     builder->set_point( 3, geode::Point2D{ { 3., 4. } } );
          |                                              ^
  • tests/inspection/test-surface-intersections.cpp:41:50: warning: [cppcoreguidelines-avoid-magic-numbers]

    1. is a magic number; consider replacing it with a named constant
       41 |     builder->set_point( 3, geode::Point2D{ { 3., 4. } } );
          |                                                  ^
  • tests/inspection/test-surface-intersections.cpp:42:51: warning: [cppcoreguidelines-avoid-magic-numbers]

    1. is a magic number; consider replacing it with a named constant
       42 |     builder->set_point( 4, geode::Point2D{ { -1., 2. } } );
          |                                                   ^
  • tests/inspection/test-surface-intersections.cpp:62:58: warning: [hicpp-uppercase-literal-suffix]

    integer literal has suffix 'u', which is not uppercase

       62 |             std::pair< geode::index_t, geode::index_t >{ 2u, 0u } )
          |                                                          ^~
          |                                                           U
  • tests/inspection/test-surface-intersections.cpp:62:62: warning: [hicpp-uppercase-literal-suffix]

    integer literal has suffix 'u', which is not uppercase

       62 |             std::pair< geode::index_t, geode::index_t >{ 2u, 0u } )
          |                                                              ^~
          |                                                               U
  • tests/inspection/test-surface-intersections.cpp:68:58: warning: [hicpp-uppercase-literal-suffix]

    integer literal has suffix 'u', which is not uppercase

       68 |             std::pair< geode::index_t, geode::index_t >{ 2u, 1u } )
          |                                                          ^~
          |                                                           U
  • tests/inspection/test-surface-intersections.cpp:68:62: warning: [hicpp-uppercase-literal-suffix]

    integer literal has suffix 'u', which is not uppercase

       68 |             std::pair< geode::index_t, geode::index_t >{ 2u, 1u } )
          |                                                              ^~
          |                                                               U
  • tests/inspection/test-surface-intersections.cpp:74:58: warning: [hicpp-uppercase-literal-suffix]

    integer literal has suffix 'u', which is not uppercase

       74 |             std::pair< geode::index_t, geode::index_t >{ 0u, 1u } )
          |                                                          ^~
          |                                                           U
  • tests/inspection/test-surface-intersections.cpp:74:62: warning: [hicpp-uppercase-literal-suffix]

    integer literal has suffix 'u', which is not uppercase

       74 |             std::pair< geode::index_t, geode::index_t >{ 0u, 1u } )
          |                                                              ^~
          |                                                               U
  • tests/inspection/test-surface-intersections.cpp:83:6: warning: [misc-use-internal-linkage]

    function 'check_intersections3D' can be made static or moved into an anonymous namespace to enforce internal linkage

       83 | void check_intersections3D()
          |      ^
          | static 
  • tests/inspection/test-surface-intersections.cpp:83:6: warning: [readability-identifier-naming]

    invalid case style for global function 'check_intersections3D'

       83 | void check_intersections3D()
          |      ^~~~~~~~~~~~~~~~~~~~~
          |      check_intersections3_d
  • tests/inspection/test-surface-intersections.cpp:87:31: warning: [cppcoreguidelines-avoid-magic-numbers]

    7 is a magic number; consider replacing it with a named constant

       87 |     builder->create_vertices( 7 );
          |                               ^
  • tests/inspection/test-surface-intersections.cpp:89:54: warning: [cppcoreguidelines-avoid-magic-numbers]

    1. is a magic number; consider replacing it with a named constant
       89 |     builder->set_point( 1, geode::Point3D{ { 0., 0., 3. } } );
          |                                                      ^
  • tests/inspection/test-surface-intersections.cpp:90:50: warning: [cppcoreguidelines-avoid-magic-numbers]

    1. is a magic number; consider replacing it with a named constant
       90 |     builder->set_point( 2, geode::Point3D{ { 0., 2., 0. } } );
          |                                                  ^
  • tests/inspection/test-surface-intersections.cpp:91:46: warning: [cppcoreguidelines-avoid-magic-numbers]

    1. is a magic number; consider replacing it with a named constant
       91 |     builder->set_point( 3, geode::Point3D{ { 2., 0., 0. } } );
          |                                              ^
  • tests/inspection/test-surface-intersections.cpp:92:46: warning: [cppcoreguidelines-avoid-magic-numbers]

    1. is a magic number; consider replacing it with a named constant
       92 |     builder->set_point( 4, geode::Point3D{ { 5., 0., 1.5 } } );
          |                                              ^
  • tests/inspection/test-surface-intersections.cpp:92:54: warning: [cppcoreguidelines-avoid-magic-numbers]

    1.5 is a magic number; consider replacing it with a named constant

       92 |     builder->set_point( 4, geode::Point3D{ { 5., 0., 1.5 } } );
          |                                                      ^
  • tests/inspection/test-surface-intersections.cpp:93:25: warning: [cppcoreguidelines-avoid-magic-numbers]

    5 is a magic number; consider replacing it with a named constant

       93 |     builder->set_point( 5, geode::Point3D{ { 2., 0.5, 2. } } );
          |                         ^
  • tests/inspection/test-surface-intersections.cpp:93:46: warning: [cppcoreguidelines-avoid-magic-numbers]

    1. is a magic number; consider replacing it with a named constant
       93 |     builder->set_point( 5, geode::Point3D{ { 2., 0.5, 2. } } );
          |                                              ^
  • tests/inspection/test-surface-intersections.cpp:93:50: warning: [cppcoreguidelines-avoid-magic-numbers]

    0.5 is a magic number; consider replacing it with a named constant

       93 |     builder->set_point( 5, geode::Point3D{ { 2., 0.5, 2. } } );
          |                                                  ^
  • tests/inspection/test-surface-intersections.cpp:93:55: warning: [cppcoreguidelines-avoid-magic-numbers]

    1. is a magic number; consider replacing it with a named constant
       93 |     builder->set_point( 5, geode::Point3D{ { 2., 0.5, 2. } } );
          |                                                       ^
  • tests/inspection/test-surface-intersections.cpp:94:25: warning: [cppcoreguidelines-avoid-magic-numbers]

    6 is a magic number; consider replacing it with a named constant

       94 |     builder->set_point( 6, geode::Point3D{ { 0., 0., 1.5 } } );
          |                         ^
  • tests/inspection/test-surface-intersections.cpp:94:54: warning: [cppcoreguidelines-avoid-magic-numbers]

    1.5 is a magic number; consider replacing it with a named constant

       94 |     builder->set_point( 6, geode::Point3D{ { 0., 0., 1.5 } } );
          |                                                      ^
  • tests/inspection/test-surface-intersections.cpp:97:36: warning: [cppcoreguidelines-avoid-magic-numbers]

    5 is a magic number; consider replacing it with a named constant

       97 |     builder->create_triangle( { 3, 5, 2 } );
          |                                    ^
  • tests/inspection/test-surface-intersections.cpp:98:33: warning: [cppcoreguidelines-avoid-magic-numbers]

    5 is a magic number; consider replacing it with a named constant

       98 |     builder->create_triangle( { 5, 2, 4 } );
          |                                 ^
  • tests/inspection/test-surface-intersections.cpp:99:39: warning: [cppcoreguidelines-avoid-magic-numbers]

    6 is a magic number; consider replacing it with a named constant

       99 |     builder->create_triangle( { 4, 2, 6 } );
          |                                       ^
  • tests/inspection/test-surface-intersections.cpp:119:58: warning: [hicpp-uppercase-literal-suffix]

    integer literal has suffix 'u', which is not uppercase

      119 |             std::pair< geode::index_t, geode::index_t >{ 0u, 4u } )
          |                                                          ^~
          |                                                           U
  • tests/inspection/test-surface-intersections.cpp:119:62: warning: [hicpp-uppercase-literal-suffix]

    integer literal has suffix 'u', which is not uppercase

      119 |             std::pair< geode::index_t, geode::index_t >{ 0u, 4u } )
          |                                                              ^~
          |                                                               U
  • tests/inspection/test-surface-intersections.cpp:125:58: warning: [hicpp-uppercase-literal-suffix]

    integer literal has suffix 'u', which is not uppercase

      125 |             std::pair< geode::index_t, geode::index_t >{ 2u, 4u } )
          |                                                          ^~
          |                                                           U
  • tests/inspection/test-surface-intersections.cpp:125:62: warning: [hicpp-uppercase-literal-suffix]

    integer literal has suffix 'u', which is not uppercase

      125 |             std::pair< geode::index_t, geode::index_t >{ 2u, 4u } )
          |                                                              ^~
          |                                                               U

Have any feedback or feature suggestions? Share it here.

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.

2 participants