<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="API documentation for the Rust `geom` crate."><metaname="keywords"content="rust, rustlang, rust-lang, geom"><title>geom - Rust</title><linkrel="stylesheet"type="text/css"href="../normalize.css"><linkrel="stylesheet"type="text/css"href="../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../light.css"id="themeStyle"><linkrel="stylesheet"type="text/css"href="../dark.css"disabled><linkrel="stylesheet"type="text/css"href="../ayu.css"disabled><scriptsrc="../storage.js"></script><noscript><linkrel="stylesheet"href="../noscript.css"></noscript><linkrel="shortcut icon"href="../favicon.ico"><styletype="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><bodyclass="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="sidebar"><divclass="sidebar-menu">☰</div><ahref='../geom/index.html'><divclass='logo-container rust-logo'><imgsrc='../rust-logo.png'alt='logo'></div></a><pclass='location'>Crate geom</p><divclass='block version'><p>Version 0.1.0</p></div><divclass="sidebar-elems"><aid='all-types'href='all.html'><p>See all geom's items</p></a><divclass="block items"><ul><li><ahref="#modules">Modules</a></li><li><ahref="#structs">Structs</a></li><li><ahref="#enums">Enums</a></li><li><ahref="#constants">Constants</a></li><li><ahref="#traits">Traits</a></li><li><ahref="#functions">Functions</a></li></ul></div><pclass='location'></p><script>window.sidebarCurrent={name:'geom',ty:'mod',relpath:'../'};</script></div></nav><divclass="theme-picker"><buttonid="theme-picker"aria-label="Pick another theme!"><imgsrc="../brush.svg"width="18"alt="Pick another theme!"></button><divid="theme-choices"></div></div><scriptsrc="../theme.js"></script><navclass="sub"><formclass="search-form"><divclass="search-container"><div><selectid="crate-search"><optionvalue="All crates">All crates</option></select><inputclass="search-input"name="search"disabledautocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"></div><spanclass="help-button">?</span>
<table><trclass='module-item'><td><aclass="struct"href="struct.Angle.html"title='geom::Angle struct'>Angle</a></td><tdclass='docblock-short'><p>An angle, stored in radians.</p>
</td></tr><trclass='module-item'><td><aclass="struct"href="struct.Bounds.html"title='geom::Bounds struct'>Bounds</a></td><tdclass='docblock-short'><p>Represents a rectangular boundary of <code>Pt2D</code> points.</p>
</td></tr><trclass='module-item'><td><aclass="struct"href="struct.Circle.html"title='geom::Circle struct'>Circle</a></td><tdclass='docblock-short'><p>A circle, defined by a center and radius.</p>
</td></tr><trclass='module-item'><td><aclass="struct"href="struct.Distance.html"title='geom::Distance struct'>Distance</a></td><tdclass='docblock-short'><p>A distance, in meters. Can be negative.</p>
</td></tr><trclass='module-item'><td><aclass="struct"href="struct.Duration.html"title='geom::Duration struct'>Duration</a></td><tdclass='docblock-short'><p>A duration, in seconds. Can be negative.</p>
</td></tr><trclass='module-item'><td><aclass="struct"href="struct.FindClosest.html"title='geom::FindClosest struct'>FindClosest</a></td><tdclass='docblock-short'><p>A quad-tree to quickly find the closest points to some polylines.</p>
</td></tr><trclass='module-item'><td><aclass="struct"href="struct.GPSBounds.html"title='geom::GPSBounds struct'>GPSBounds</a></td><tdclass='docblock-short'><p>Represents a rectangular boundary of <code>LonLat</code> points. After building one of these, <code>LonLat</code>s
can be transformed into <code>Pt2D</code>s, treating the top-left of the boundary as (0, 0), and growing
to the right and down (screen-drawing order, not Cartesian) in meters.</p>
</td></tr><trclass='module-item'><td><aclass="struct"href="struct.HashablePt2D.html"title='geom::HashablePt2D struct'>HashablePt2D</a></td><tdclass='docblock-short'><p>This represents world space, NOT LonLat.</p>
</td></tr><trclass='module-item'><td><aclass="struct"href="struct.Histogram.html"title='geom::Histogram struct'>Histogram</a></td><tdclass='docblock-short'></td></tr><trclass='module-item'><td><aclass="struct"href="struct.InfiniteLine.html"title='geom::InfiniteLine struct'>InfiniteLine</a></td><tdclass='docblock-short'></td></tr><trclass='module-item'><td><aclass="struct"href="struct.Line.html"title='geom::Line struct'>Line</a></td><tdclass='docblock-short'><p>A line segment.</p>
</td></tr><trclass='module-item'><td><aclass="struct"href="struct.LonLat.html"title='geom::LonLat struct'>LonLat</a></td><tdclass='docblock-short'><p>Represents a (longitude, latitude) point.</p>
</td></tr><trclass='module-item'><td><aclass="struct"href="struct.Percent.html"title='geom::Percent struct'>Percent</a></td><tdclass='docblock-short'><p>Most of the time, [0, 1]. But some callers may go outside this range.</p>
</td></tr><trclass='module-item'><td><aclass="struct"href="struct.PolyLine.html"title='geom::PolyLine struct'>PolyLine</a></td><tdclass='docblock-short'></td></tr><trclass='module-item'><td><aclass="struct"href="struct.Polygon.html"title='geom::Polygon struct'>Polygon</a></td><tdclass='docblock-short'></td></tr><trclass='module-item'><td><aclass="struct"href="struct.Pt2D.html"title='geom::Pt2D struct'>Pt2D</a></td><tdclass='docblock-short'><p>This represents world-space in meters.</p>
</td></tr><trclass='module-item'><td><aclass="struct"href="struct.Ring.html"title='geom::Ring struct'>Ring</a></td><tdclass='docblock-short'><p>Maybe a misnomer, but like a PolyLine, but closed.</p>
</td></tr><trclass='module-item'><td><aclass="struct"href="struct.Speed.html"title='geom::Speed struct'>Speed</a></td><tdclass='docblock-short'><p>In meters per second. Can be negative.</p>
</td></tr><trclass='module-item'><td><aclass="struct"href="struct.Time.html"title='geom::Time struct'>Time</a></td><tdclass='docblock-short'><p>In seconds since midnight. Can't be negative.</p>
</td></tr><trclass='module-item'><td><aclass="struct"href="struct.Triangle.html"title='geom::Triangle struct'>Triangle</a></td><tdclass='docblock-short'></td></tr><trclass='module-item'><td><aclass="struct"href="struct.UnitFmt.html"title='geom::UnitFmt struct'>UnitFmt</a></td><tdclass='docblock-short'><p>Specifies how to stringify different geom objects.</p>
<table><trclass='module-item'><td><aclass="fn"href="fn.trim_f64.html"title='geom::trim_f64 fn'>trim_f64</a></td><tdclass='docblock-short'><p>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