Skip to content

Fix Epeck_d spatial searching compilation - #9570

Open
UtkarsHMer05 wants to merge 1 commit into
CGAL:mainfrom
UtkarsHMer05:fix-epeck-d-spatial-searching-9534
Open

Fix Epeck_d spatial searching compilation#9570
UtkarsHMer05 wants to merge 1 commit into
CGAL:mainfrom
UtkarsHMer05:fix-epeck-d-spatial-searching-9534

Conversation

@UtkarsHMer05

Copy link
Copy Markdown
Member

Summary

Fixes Spatial Searching compilation failures when using Epeck_d.

Iterator_from_indices already implements the operations required by a
random-access iterator through increment(), decrement(), advance(),
and distance_to(), but advertised only bidirectional traversal.

This change:

  • advertises random-access traversal;
  • adds an explicit operator[] returning the iterator reference type,
    avoiding the inherited Boost proxy result;
  • adds a regression test for static and dynamic Epeck_d;
  • covers Fuzzy_iso_box, Fuzzy_sphere, Kd-tree insertion, search,
    removal, and size verification.

The regression test is enabled when Eigen support is available.

Fixes #9534.

Validation

Validated from a clean worktree based on public/main commit
10968626f93fca92bd0b2b934c2899819e732bb1.

  • Confirmed the regression fails on the unchanged baseline with the
    expected iterator/random-access compilation errors.
  • Built all 17 Spatial Searching test targets in Release.
  • Built all 17 Spatial Searching test targets in Debug.
  • Built all 4 NewKernel_d test targets in Release and Debug.
  • Ran the new regression in Release and Debug.
  • Ran assertion-enabled Epick_d, Epick_d_eigen, test_bbox_d,
    remove, and Splitters tests.
  • Ran the tri2 Debug test with 1,000 points.

@lrineau
lrineau requested a review from mglisse August 10, 2026 08:53

@mglisse mglisse left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes sense to me.
Note that it does not completely fix #9534: Fuzzy_iso_box.h uses an operation not guaranteed by the concept, so either that file or the concept needs to change, although that can be done in a separate PR, I don't care.

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.

Kd_tree, Fuzzy_iso_box, or Fuzzy_sphere with epecd fail to compile

2 participants