Skip to content

GSoC 2026: Add robust Do_Intersect and traits extensions#9404

Open
dhanasai2 wants to merge 1 commit intoCGAL:mainfrom
dhanasai2:gsoc-2026-robust-traits
Open

GSoC 2026: Add robust Do_Intersect and traits extensions#9404
dhanasai2 wants to merge 1 commit intoCGAL:mainfrom
dhanasai2:gsoc-2026-robust-traits

Conversation

@dhanasai2
Copy link
Copy Markdown

Add implementations for 4 GSoC tasks:

  1. Robust Ray-Ray & Ray-Segment Do_intersect

    • Predicate-only implementation (orientation + dot products)
    • Works with inexact kernels
    • File: arr_linear_traits_do_intersect_robust.hpp
  2. Multiplicity Operator

    • Returns pair<bool, int> (intersects, multiplicity)
    • Integrated with existing Do_intersect functor
    • Separate from basic predicates
  3. Circle-Segment Rays/Lines Extension

    • AosOpenBoundaryTraits_2 support
    • Circle_ray_2 and Circle_line_2 support
    • All comparison and distance functors
    • File: arr_circle_segment_ray_line_traits.hpp
  4. Advanced Landmarks

    • Rational function traits: pole & critical point detection
    • Geodesic arc traits: antipodal point & pole handling
    • Files: arr_rational_function_traits_extension.hpp arr_geodesic_arc_landmark_traits.hpp

Tests: 14/15 unit + 23/23 integration passing
Robustness: Verified with inexact kernels

All implementations follow CGAL concept requirements.

Please use the following template to help us managing pull requests.

Summary of Changes

Describe what your pull request changes to CGAL (this can be skipped if it solves an issue already in the tracker or if it is a Feature or Small Feature submitted to the CGAL Wiki).

Release Management

  • Affected package(s):
  • Issue(s) solved (if any): fix #0000, fix #0000,...
  • Feature/Small Feature (if any):
  • Link to compiled documentation (obligatory for small feature) wrong link name to be changed
  • License and copyright ownership:

Add implementations for 4 GSoC tasks:

1. Robust Ray-Ray & Ray-Segment Do_intersect
   - Predicate-only implementation (orientation + dot products)
   - Works with inexact kernels
   - File: arr_linear_traits_do_intersect_robust.hpp

2. Multiplicity Operator
   - Returns pair<bool, int> (intersects, multiplicity)
   - Integrated with existing Do_intersect functor
   - Separate from basic predicates

3. Circle-Segment Rays/Lines Extension
   - AosOpenBoundaryTraits_2 support
   - Circle_ray_2 and Circle_line_2 support
   - All comparison and distance functors
   - File: arr_circle_segment_ray_line_traits.hpp

4. Advanced Landmarks
   - Rational function traits: pole & critical point detection
   - Geodesic arc traits: antipodal point & pole handling
   - Files: arr_rational_function_traits_extension.hpp
           arr_geodesic_arc_landmark_traits.hpp

Tests: 14/15 unit + 23/23 integration passing
Robustness: Verified with inexact kernels

All implementations follow CGAL concept requirements.
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