Geometry Utilities¶
The geometry utilities package contains low-level geometric operations and helper algorithms bridging CGALPY bindings (discopygal.bindings) with solver infrastructure (discopygal.solvers_infra) and GUI rendering.
Architectural Role & Inter-File Relations¶
collision_detection.py: High-performance collision checking engine supporting disc, polygon, and segment shapes against scene obstacles and arrangement faces. Essential for edge expansion inRoadmap.conversions.py: Data conversion bridge translating 2D CGAL objects (Point_2,Polygon_2) to composite high-dimensional tensors (Point_d) for multi-robot joint configuration spaces, as well as Python primitives and NumPy arrays.arrangement_operations.py: Utilities for constructing, overlaying, traversing, and querying 2D arrangements (Arrangement_2) and dual graphs. Consumed by exact solvers (e.g.,ExactSingle).bounding_boxes.py: Axis-aligned bounding box (AABB) calculators scoping scene boundaries fordiscopygal.solvers_infra.samplers.transform.py: Rigid body transformations (translation and rotation matrices) operating directly on CGAL geometric primitives.