oxigdal-noalloc
no_std, zero-allocation geometry primitives for the
OxiGDAL ecosystem. Designed for
embedded and RISC-V environments where heap allocation is unavailable.
Features
Point2D/Point3D-- distance, midpoint, projectionBBox2D-- axis-aligned bounding box with containment and intersection testsLineSegment2D-- parametric intersection detectionTriangle2D-- area (shoelace), containment (barycentric), centroid, perimeterFixedPolygon<N>-- inline fixed-capacity polygon (no heap)CoordTransform-- 2D affine transforms (scale, translate, rotate, compose)GeoHashFixed-- geohash encoding stored as[u8; 12]- Software
sqrt/sin/cosvia Newton-Raphson and Taylor series (no libm dependency) #![deny(unsafe_code)]
Usage
use ;
let a = new;
let b = new;
assert!;
let mut poly = new;
poly.try_push;
poly.try_push;
poly.try_push;
assert!;
let transform = translate;
let moved = transform.apply;
assert!;
Status
- 59 tests passing, 0 failures
License
See the top-level OxiGDAL repository for license details.