Skip to main content

Crate oxigdal_noalloc

Crate oxigdal_noalloc 

Source
Expand description

§oxigdal-noalloc

no_std, no_alloc fixed-size geometry primitives for OxiGDAL.

This crate provides zero-allocation geometry types suitable for embedded and RISC-V environments where heap allocation is unavailable or undesirable.

§Types

  • Point2D — 2D point with distance and midpoint operations
  • Point3D — 3D point
  • BBox2D — 2D axis-aligned bounding box
  • BBox3D — 3D axis-aligned bounding box
  • LineSegment2D — 2D line segment with intersection support
  • Triangle2D — 2D triangle with area, containment, and centroid
  • FixedPolygon — Fixed-capacity polygon backed by an inline array
  • FixedLineString — Fixed-capacity polyline backed by an inline array
  • FixedRing — Fixed-capacity closed ring with area and containment
  • CoordTransform — 2D affine transform (2×3 matrix)
  • GeoHashFixed — Geohash encoding stored as [u8; 12]
  • NoAllocError — Error enum for no-alloc operations

§Projections

Re-exports§

pub use bbox3d::BBox3D;
pub use geohash::GeoHashFixed;
pub use linestring::FixedLineString;
pub use mercator::mercator_forward;
pub use mercator::mercator_inverse;
pub use ring::FixedRing;

Modules§

bbox3d
3D axis-aligned bounding box for no_std, no_alloc environments.
geohash
Geohash encoding and decoding for no_std, no_alloc environments.
linestring
Fixed-capacity polyline type for no_std, no_alloc environments.
mercator
Web Mercator (EPSG:3857) forward and inverse projection.
ring
Fixed-capacity closed ring type for no_std, no_alloc environments.

Structs§

BBox2D
A 2-dimensional axis-aligned bounding box.
CoordTransform
A 2D affine transformation stored as a 2×3 matrix.
FixedPolygon
A polygon with a statically-allocated vertex array of capacity N.
LineSegment2D
A directed 2D line segment from start to end.
Point2D
A 2-dimensional point.
Point3D
A 3-dimensional point.
Triangle2D
A triangle defined by three 2D vertices.

Enums§

NoAllocError
Errors that can occur in no-alloc geometry operations.