Skip to main content

Crate u_geometry

Crate u_geometry 

Source
Expand description

Domain-agnostic computational geometry library.

Provides fundamental geometric primitives (2D and 3D), transformations, polygon operations, collision detection, and spatial indexing for the U-Engine ecosystem.

§Modules

  • primitives: Core types — Point2, Vector2, Segment2, AABB2, Point3, Vector3, AABB3
  • polygon: Polygon operations — area, centroid, convex hull, winding
  • transform: Rigid transformations — Transform2D, Transform3D
  • robust: Numerically robust geometric predicates (Shewchuk)
  • collision: SAT-based collision detection (2D convex polygons), AABB overlap (2D and 3D)
  • minkowski: Minkowski sum and NFP for convex polygons
  • spatial_index: Linear-scan spatial indices for 2D and 3D AABB queries

§Architecture

This crate sits at Layer 2 (Algorithms) in the U-Engine ecosystem. It contains no domain-specific concepts — nesting, packing, scheduling, etc. are all defined by consumers at higher layers.

§References

  • de Berg, Cheong, van Kreveld, Overmars (2008), “Computational Geometry”
  • Shewchuk (1997), “Adaptive Precision Floating-Point Arithmetic”
  • O’Rourke (1998), “Computational Geometry in C”
  • Ericson (2005), “Real-Time Collision Detection”

Modules§

collision
Collision detection for 2D polygons.
minkowski
Minkowski sum computation for convex polygons.
nalgebra_types
Re-exports of nalgebra types commonly used with this crate.
offset
Polygon offset via raw edge offset with miter/bevel joins.
polygon
Polygon operations: area, centroid, convex hull, winding.
primitives
Core geometric primitives.
robust
Numerically robust geometric predicates.
spatial_index
Spatial indexing for efficient geometric queries.
transform
Rigid transformations for 2D and 3D.