#![cfg_attr(not(feature = "std"), no_std)]
#![forbid(unsafe_code)]
extern crate alloc;
pub mod area;
pub mod azimuth;
pub mod buffer;
pub mod cartesian;
pub mod centroid;
pub mod closest_points;
pub mod compare;
pub mod convex_hull;
pub mod densify;
pub mod destination;
pub mod disjoint;
pub mod distance;
pub mod envelope;
pub mod equals;
pub mod geographic;
pub mod intersects;
pub mod length;
pub mod line_interpolate;
pub(crate) mod normalise;
mod reversal;
pub mod segmentize;
pub mod simplify;
pub mod spherical;
pub mod transform;
pub mod within;
pub use area::{
AreaStrategy, DefaultArea, DefaultAreaStrategy, ShoelaceArea, ShoelaceBoxArea,
ShoelaceMultiPolygonArea, ShoelacePolygonArea,
};
pub use azimuth::{AzimuthStrategy, CartesianAzimuth, DefaultAzimuth, DefaultAzimuthStrategy};
pub use buffer::{
BufferDistanceStrategy, BufferEndStrategy, BufferJoinStrategy, BufferPointStrategy,
BufferSettings, BufferSideStrategy, CartesianBuffer, DefaultBuffer, DefaultBufferStrategy,
GeographicBuffer, SphericalBuffer,
};
pub use cartesian::{ComparablePythagoras, PointToSegment, Pythagoras};
pub use centroid::{
CartesianBoxCentroid, CartesianLinestringCentroid, CartesianMultiPointCentroid,
CartesianPolygonCentroid, CartesianRingCentroid, CartesianSegmentCentroid, CentroidStrategy,
CentroidStrategyForKind,
};
pub use closest_points::{CartesianClosestPoints, ClosestPointsStrategy};
pub use compare::{ALL_DIMENSIONS, EqualTo, Greater, Less, LessExact};
pub use convex_hull::{CollectPoints, ConvexHullStrategy, MonotoneChain};
pub use densify::{CartesianDensify, DensifyStrategy};
pub use destination::{DefaultDestination, DefaultDestinationStrategy, DestinationStrategy};
pub use disjoint::{CartesianDisjoint, DisjointStrategy};
pub use distance::{DefaultDistance, DefaultDistanceStrategy, DistanceStrategy};
pub use envelope::{
EnvelopeBox, EnvelopeLinestring, EnvelopeMultiLinestring, EnvelopeMultiPoint,
EnvelopeMultiPolygon, EnvelopePoint, EnvelopePolygon, EnvelopeRing, EnvelopeSegment,
EnvelopeStrategy, EnvelopeStrategyForKind,
};
pub use equals::{
EqPointPoint, EqPolygonPolygon, EqSegmentSegment, EqualsPairStrategy, EqualsStrategy,
};
pub use geographic::{
Andoyer, DirectResult, GeographicArea, GeographicAzimuth, GeographicLength,
GeographicPerimeter, GeographicPolygonArea, InverseResult, Karney, KarneyDirect, KarneyInverse,
Rhumb, RhumbFamily, Thomas, ThomasDirect, Vincenty, VincentyDirect,
};
pub use intersects::{CartesianIntersects, IntersectsPairStrategy, IntersectsStrategy};
pub use length::{
CartesianLength, CartesianPerimeter, DefaultLength, DefaultLengthStrategy, DefaultPerimeter,
DefaultPerimeterStrategy, LengthStrategy,
};
pub use line_interpolate::{CartesianLineInterpolate, LineInterpolateStrategy};
pub use reversal::Reversed;
pub use segmentize::{CartesianSegmentize, SegmentizeStrategy};
pub use simplify::{
DouglasPeucker, SimplifyStrategy, VisvalingamWhyatt, VisvalingamWhyattPreserve,
};
pub use spherical::{
ChamberlainDuquetteArea, ComparableHaversine, CrossTrack, Haversine, HaversineClosestPoints,
SphericalArea, SphericalAzimuth, SphericalLength, SphericalPerimeter, SphericalPolygonArea,
};
pub use transform::{Affine2, Affine3, Rotate, Scale, Skew, TransformStrategy, Translate};
pub use within::{WithinBox, WithinPoly, WithinRing, WithinStrategy, WithinStrategyForKind};