Skip to content

fix(RayTracing): add preparation capacity - #1330

Merged
BotellaA merged 5 commits into
nextfrom
fix/medial_ball_accuracy
Sep 11, 2026
Merged

BotellaA merged 5 commits into
nextfrom
fix/medial_ball_accuracy

Conversation

@BotellaA

@BotellaA BotellaA commented Sep 8, 2026

Copy link
Copy Markdown
Member

No description provided.

@BotellaA
BotellaA requested a review from panquez September 8, 2026 13:58
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Cpp-Linter Report ⚠️

Some files did not pass the configured checks!

clang-tidy (v21.1.8) reports: 28 concern(s)
  • include/geode/model/helpers/ray_tracing.hpp:51:21: warning: [performance-enum-size]

    enum 'POSITION' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size

       51 |         enum struct POSITION
          |                     ^
  • include/geode/model/helpers/ray_tracing.hpp:58:9: warning: [google-explicit-constructor]

    'operator bool' must be marked explicit to avoid unintentional implicit conversions

       58 |         operator bool() const
          |         ^
          |         explicit 
  • include/geode/model/helpers/ray_tracing.hpp:71:9: warning: [google-explicit-constructor]

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

       71 |         SectionRayTracing( const Section& section );
          |         ^
          |         explicit 
  • include/geode/model/helpers/ray_tracing.hpp:94:9: warning: [google-explicit-constructor]

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

       94 |         BRepRayTracing( const BRep& brep );
          |         ^
          |         explicit 
  • src/geode/geometry/intersection_detection.cpp:75:39: warning: [readability-function-cognitive-complexity]

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

       75 |     geode::SegmentSegmentIntersection segment_segment_intersection_detection2D(
          |                                       ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:86:9: note: +1, including nesting penalty of 0, nesting level increased to 1
       86 |         if( s0_p0_side == s0_p1_side || s1_p0_side == s1_p1_side )
          |         ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:86:38: note: +1
       86 |         if( s0_p0_side == s0_p1_side || s1_p0_side == s1_p1_side )
          |                                      ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:88:13: note: +2, including nesting penalty of 1, nesting level increased to 2
       88 |             if( s0_p0_side == geode::SIDE::zero
          |             ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:89:17: note: +1
       89 |                 && s1_p0_side == geode::SIDE::zero )
          |                 ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:95:9: note: +1, including nesting penalty of 0, nesting level increased to 1
       95 |         if( s0_p0_side == geode::SIDE::zero )
          |         ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:97:13: note: +2, including nesting penalty of 1, nesting level increased to 2
       97 |             if( s1_p0_side == geode::SIDE::zero )
          |             ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:101:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      101 |             if( s1_p1_side == geode::SIDE::zero )
          |             ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:107:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      107 |         if( s0_p1_side == geode::SIDE::zero )
          |         ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:109:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      109 |             if( s1_p0_side == geode::SIDE::zero )
          |             ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:113:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      113 |             if( s1_p1_side == geode::SIDE::zero )
          |             ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:119:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      119 |         if( s1_p0_side == geode::SIDE::zero )
          |         ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:123:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      123 |         if( s1_p1_side == geode::SIDE::zero )
          |         ^
  • src/geode/geometry/intersection_detection.cpp:75:39: warning: [readability-identifier-naming]

    invalid case style for function 'segment_segment_intersection_detection2D'

       75 |     geode::SegmentSegmentIntersection segment_segment_intersection_detection2D(
          |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |                                       segment_segment_intersection_detection2_d
  • src/geode/geometry/intersection_detection.cpp:131:9: warning: [readability-function-cognitive-complexity]

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

      131 |         segment_triangle_plane_intersection_detection(
          |         ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:142:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      142 |         for( const auto triangle_pt : geode::LRange{ 3 } )
          |         ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:150:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      150 |         for( const auto edge_v0 : geode::LRange{ 3 } )
          |         ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:156:56: note: +2, including nesting penalty of 1, nesting level increased to 2
      156 |                                                        ? 0
          |                                                        ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:158:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      158 |             if( seg_edge_inter.first == geode::POSITION::outside
          |             ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:159:17: note: +1
      159 |                 || seg_edge_inter.first == geode::POSITION::parallel )
          |                 ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:163:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      163 |             if( ( seg_edge_inter.first == geode::POSITION::vertex0
          |             ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:165:17: note: +1
      165 |                 && ( seg_edge_inter.second == geode::POSITION::vertex0
          |                 ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:164:21: note: +1
      164 |                     || seg_edge_inter.first == geode::POSITION::vertex1 )
          |                     ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:166:22: note: +1
      166 |                      || seg_edge_inter.second == geode::POSITION::vertex1 ) )
          |                      ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:172:47: note: +3, including nesting penalty of 2, nesting level increased to 3
      172 |                                               ? edge_v0
          |                                               ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:182:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      182 |         if( geode::point_triangle_position(
          |         ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:185:13: note: +1
      185 |             && geode::point_triangle_position(
          |             ^
  • src/geode/geometry/intersection_detection.cpp:194:39: warning: [readability-identifier-naming]

    invalid case style for function 'segment_segment_intersection_detection3D'

      194 |     geode::SegmentSegmentIntersection segment_segment_intersection_detection3D(
          |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |                                       segment_segment_intersection_detection3_d
  • src/geode/geometry/intersection_detection.cpp:265:32: warning: [readability-function-cognitive-complexity]

    function 'colinear_segment_segment_intersection_detection' has cognitive complexity of 18 (threshold 10)

      265 |     SegmentSegmentIntersection colinear_segment_segment_intersection_detection(
          |                                ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:281:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      281 |         if( s0_p0_position == POSITION::inside
          |         ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:284:13: note: +1
      284 |             || s1_p1_position == POSITION::inside )
          |             ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:288:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      288 |         if( s0_p0_position == POSITION::vertex0 )
          |         ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:290:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      290 |             if( s0_p1_position == POSITION::outside
          |             ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:291:17: note: +1
      291 |                 || s0_p1_position == POSITION::vertex0 )
          |                 ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:298:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      298 |         if( s0_p0_position == POSITION::vertex1 )
          |         ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:300:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      300 |             if( s0_p1_position == POSITION::outside
          |             ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:301:17: note: +1
      301 |                 || s0_p1_position == POSITION::vertex1 )
          |                 ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:308:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      308 |         if( s1_p0_position == POSITION::vertex0 )
          |         ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:310:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      310 |             if( s1_p1_position == POSITION::outside
          |             ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:311:17: note: +1
      311 |                 || s1_p1_position == POSITION::vertex0 )
          |                 ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:318:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      318 |         if( s1_p0_position == POSITION::vertex1 )
          |         ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:320:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      320 |             if( s1_p1_position == POSITION::outside
          |             ^
    /__w/OpenGeode/OpenGeode/src/geode/geometry/intersection_detection.cpp:321:17: note: +1
      321 |                 || s1_p1_position == POSITION::vertex1 )
          |                 ^
  • src/geode/geometry/position.cpp:127:20: warning: [readability-identifier-length]

    variable name 's0' is too short, expected at least 3 characters

      127 |         const auto s0 =
          |                    ^
  • src/geode/geometry/position.cpp:129:20: warning: [readability-identifier-length]

    variable name 's1' is too short, expected at least 3 characters

      129 |         const auto s1 =
          |                    ^
  • src/geode/geometry/position.cpp:131:20: warning: [readability-identifier-length]

    variable name 's2' is too short, expected at least 3 characters

      131 |         const auto s2 =
          |                    ^
  • src/geode/geometry/position.cpp:181:9: warning: [cppcoreguidelines-pro-type-member-init]

    uninitialized record type: 'signs'

      181 |         std::array< GEO::SIGN, 4 > signs;
          |         ^                               
          |                                         {}
  • src/geode/geometry/position.cpp:237:20: warning: [readability-identifier-length]

    variable name 's1' is too short, expected at least 3 characters

      237 |         const auto s1 = GEO::geo_sgn( area1 );
          |                    ^
  • src/geode/geometry/position.cpp:244:20: warning: [readability-identifier-length]

    variable name 's2' is too short, expected at least 3 characters

      244 |         const auto s2 = GEO::geo_sgn( area2 );
          |                    ^
  • src/geode/geometry/position.cpp:251:20: warning: [readability-identifier-length]

    variable name 's3' is too short, expected at least 3 characters

      251 |         const auto s3 = GEO::geo_sgn( area3 );
          |                    ^
  • src/geode/geometry/position.cpp:263:16: warning: [cppcoreguidelines-init-variables]

    variable 'distance' is not initialized

       24 |         double distance;
          |                ^       
          |                         = NAN
  • src/geode/geometry/position.cpp:299:27: warning: [readability-math-missing-parentheses]

    '*' has higher precedence than '+'; add parentheses to explicitly specify the order of operations

      299 |         const auto mult = point.value( 0 ) * plane.normal().value( 0 )
          |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |                           (                                           )
  • src/geode/geometry/position.cpp:300:29: warning: [readability-math-missing-parentheses]

    '*' has higher precedence than '+'; add parentheses to explicitly specify the order of operations

      300 |                           + point.value( 1 ) * plane.normal().value( 1 )
          |                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |                             (                                           )
  • src/geode/geometry/position.cpp:301:29: warning: [readability-math-missing-parentheses]

    '*' has higher precedence than '+'; add parentheses to explicitly specify the order of operations

      301 |                           + point.value( 2 ) * plane.normal().value( 2 );
          |                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |                             (                                           )
  • src/geode/model/helpers/component_mesh_edges.cpp:115:47: warning: [readability-function-cognitive-complexity]

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

      115 |     geode::ModelComponentMeshEdges::LineEdges line_edges_from_pairs(
          |                                               ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/component_mesh_edges.cpp:121:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      121 |         for( const auto& [component_id, edge_pairs] : pairs )
          |         ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/component_mesh_edges.cpp:123:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      123 |             if( component_id.type != line_type )
          |             ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/component_mesh_edges.cpp:129:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      129 |             for( const auto& pair : edge_pairs )
          |             ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/component_mesh_edges.cpp:131:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      131 |                 for( const auto& edge_vertex :
          |                 ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/component_mesh_edges.cpp:136:21: note: +4, including nesting penalty of 3, nesting level increased to 4
      136 |                     if( opposite_vertex == pair[1] )
          |                     ^
  • src/geode/model/helpers/component_mesh_edges.cpp:148:50: warning: [readability-function-cognitive-complexity]

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

      148 |     geode::ModelComponentMeshEdges::SurfaceEdges surface_edges_from_pairs(
          |                                                  ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/component_mesh_edges.cpp:154:9: note: +1, including nesting penalty of 0, nesting level increased to 1
      154 |         for( const auto& [component_id, edge_pairs] : pairs )
          |         ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/component_mesh_edges.cpp:156:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      156 |             if( component_id.type != surface_type )
          |             ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/component_mesh_edges.cpp:162:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      162 |             for( const auto& pair : edge_pairs )
          |             ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/component_mesh_edges.cpp:164:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      164 |                 if( auto edge =
          |                 ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/component_mesh_edges.cpp:171:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      171 |                 if( auto edge =
          |                 ^
  • src/geode/model/helpers/component_mesh_edges.cpp:240:51: warning: [readability-function-cognitive-complexity]

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

      240 |         geode::ModelComponentMeshEdges::LineEdges line_component_mesh_edges(
          |                                                   ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/component_mesh_edges.cpp:244:13: note: +1, including nesting penalty of 0, nesting level increased to 1
      244 |             if( edge_unique_vertices[0] == NO_ID
          |             ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/component_mesh_edges.cpp:245:17: note: +1
      245 |                 || edge_unique_vertices[1] == NO_ID )
          |                 ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/component_mesh_edges.cpp:252:13: note: +1, including nesting penalty of 0, nesting level increased to 1
      252 |             if( line_pairs.empty() )
          |             ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/component_mesh_edges.cpp:258:13: note: +1, including nesting penalty of 0, nesting level increased to 1
      258 |             for( const auto& line_pair : line_pairs )
          |             ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/component_mesh_edges.cpp:262:17: note: +2, including nesting penalty of 1, nesting level increased to 2
      262 |                 for( const auto& pair : line_pair.second )
          |                 ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/component_mesh_edges.cpp:264:21: note: +3, including nesting penalty of 2, nesting level increased to 3
      264 |                     for( const auto& edge_vertex :
          |                     ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/component_mesh_edges.cpp:269:25: note: +4, including nesting penalty of 3, nesting level increased to 4
      269 |                         if( opposite_vertex == pair[1] )
          |                         ^
  • src/geode/model/helpers/component_mesh_edges.cpp:318:13: warning: [readability-function-cognitive-complexity]

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

      318 |             surface_component_mesh_edges( const Model& model,
          |             ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/component_mesh_edges.cpp:321:13: note: +1, including nesting penalty of 0, nesting level increased to 1
      321 |             if( edge_unique_vertices[0] == NO_ID
          |             ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/component_mesh_edges.cpp:322:17: note: +1
      322 |                 || edge_unique_vertices[1] == NO_ID )
          |                 ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/component_mesh_edges.cpp:329:13: note: +1, including nesting penalty of 0, nesting level increased to 1
      329 |             if( surface_pairs.empty() )
          |             ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/component_mesh_edges.cpp:335:13: note: +1, including nesting penalty of 0, nesting level increased to 1
      335 |             for( const auto& [surface_id, edge_pairs] : surface_pairs )
          |             ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/component_mesh_edges.cpp:339:17: note: +2, including nesting penalty of 1, nesting level increased to 2
      339 |                 for( const auto& pair : edge_pairs )
          |                 ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/component_mesh_edges.cpp:341:21: note: +3, including nesting penalty of 2, nesting level increased to 3
      341 |                     if( auto edge = mesh.polygon_edge_from_vertices(
          |                     ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/component_mesh_edges.cpp:348:21: note: +3, including nesting penalty of 2, nesting level increased to 3
      348 |                     if( auto edge = mesh.polygon_edge_from_vertices(
          |                     ^
  • src/geode/model/helpers/ray_tracing.cpp:44:64: warning: [readability-identifier-naming]

    invalid case style for function 'directions_2D'

       44 |     const std::array< geode::Vector2D, NUMBER_2D_DIRECTIONS >& directions_2D()
          |                                                                ^~~~~~~~~~~~~
          |                                                                directions_2_d
  • src/geode/model/helpers/ray_tracing.cpp:62:64: warning: [readability-identifier-naming]

    invalid case style for function 'directions_3D'

       62 |     const std::array< geode::Vector3D, NUMBER_3D_DIRECTIONS >& directions_3D()
          |                                                                ^~~~~~~~~~~~~
          |                                                                directions_3_d
  • src/geode/model/helpers/ray_tracing.cpp:140:26: warning: [readability-function-cognitive-complexity]

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

      140 |         RayTracingResult is_point_inside_surface(
          |                          ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/ray_tracing.cpp:143:13: note: +1, including nesting penalty of 0, nesting level increased to 1
      143 |             for( const auto& direction : ::directions_2D() )
          |             ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/ray_tracing.cpp:148:17: note: +2, including nesting penalty of 1, nesting level increased to 2
      148 |                 for( const auto& line : section_.boundaries( surface ) )
          |                 ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/ray_tracing.cpp:153:21: note: +3, including nesting penalty of 2, nesting level increased to 3
      153 |                     if( !result )
          |                     ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/ray_tracing.cpp:160:21: note: +3, including nesting penalty of 2, nesting level increased to 3
      160 |                     if( on_border )
          |                     ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/ray_tracing.cpp:166:17: note: +2, including nesting penalty of 1, nesting level increased to 2
      166 |                 if( could_determine )
          |                 ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/ray_tracing.cpp:169:34: note: +3, including nesting penalty of 2, nesting level increased to 3
      169 |                                  ? geode::RayTracingResult::POSITION::inside
          |                                  ^
  • src/geode/model/helpers/ray_tracing.cpp:261:26: warning: [readability-function-cognitive-complexity]

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

      261 |         RayTracingResult is_point_inside_block(
          |                          ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/ray_tracing.cpp:264:13: note: +1, including nesting penalty of 0, nesting level increased to 1
      264 |             for( const auto& direction : ::directions_3D() )
          |             ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/ray_tracing.cpp:269:17: note: +2, including nesting penalty of 1, nesting level increased to 2
      269 |                 for( const auto& surface : brep_.boundaries( block ) )
          |                 ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/ray_tracing.cpp:274:21: note: +3, including nesting penalty of 2, nesting level increased to 3
      274 |                     if( !result )
          |                     ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/ray_tracing.cpp:281:21: note: +3, including nesting penalty of 2, nesting level increased to 3
      281 |                     if( on_border )
          |                     ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/ray_tracing.cpp:287:17: note: +2, including nesting penalty of 1, nesting level increased to 2
      287 |                 if( could_determine )
          |                 ^
    /__w/OpenGeode/OpenGeode/src/geode/model/helpers/ray_tracing.cpp:290:34: note: +3, including nesting penalty of 2, nesting level increased to 3
      290 |                                  ? geode::RayTracingResult::POSITION::inside
          |                                  ^

Have any feedback or feature suggestions? Share it here.

@BotellaA
BotellaA merged commit 595a356 into next Sep 11, 2026
18 checks passed
@BotellaA
BotellaA deleted the fix/medial_ball_accuracy branch September 11, 2026 10:06
@BotellaA

Copy link
Copy Markdown
Member Author

🎉 This PR is included in version 18.1.7-rc.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@BotellaA

Copy link
Copy Markdown
Member Author

🎉 This PR is included in version 18.1.7 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants