Crate geom[][src]

Modules

angle
bounds
circle
distance
duration
find_closest
gps
line
percent
polygon
polyline
pt
ring
speed
stats
time

Structs

Angle

An angle, stored in radians.

Bounds

Represents a rectangular boundary of Pt2D points.

Circle

A circle, defined by a center and radius.

CornerRadii
Distance

A distance, in meters. Can be negative.

Duration

A duration, in seconds. Can be negative.

FindClosest

A quad-tree to quickly find the closest points to some polylines.

GPSBounds

Represents a rectangular boundary of LonLat points. After building one of these, LonLats can be transformed into Pt2Ds, treating the top-left of the boundary as (0, 0), and growing to the right and down (screen-drawing order, not Cartesian) in meters.

HashablePt2D

This represents world space, NOT LonLat.

Histogram
InfiniteLine
Line

A line segment.

LonLat

Represents a (longitude, latitude) point.

Percent

Most of the time, [0, 1]. But some callers may go outside this range.

PolyLine
Polygon
Pt2D

This represents world-space in meters.

Ring

Maybe a misnomer, but like a PolyLine, but closed.

Speed

In meters per second. Can be negative.

Time

In seconds since midnight. Can’t be negative.

Triangle
UnitFmt

Specifies how to stringify different geom objects.

Enums

ArrowCap
Statistic

Constants

EPSILON_DIST

Traits

HgramValue

Functions

deserialize_f64

Deserializes a trimmed f64 from an i32.

serialize_f64

Serializes a trimmed f64 as an i32 to save space.

trim_f64

Reduce the precision of an f64. This helps ensure serialization is idempotent (everything is exacly the same before and after saving/loading). Ideally we’d use some kind of proper fixed-precision type instead of f64.