1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
// SPDX-License-Identifier: MIT
/*
* Copyright (c) [2023 - Present] Emily Matheys <emilymatt96@gmail.com>
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
#![deny(missing_docs)]
#![deny(rustdoc::missing_crate_level_docs)]
#![deny(rustdoc::broken_intra_doc_links)]
#![deny(rustdoc::private_intra_doc_links)]
#![cfg_attr(not(feature = "std"), no_std)]
#![doc = include_str!("../README.md")]
#[cfg(not(feature = "std"))]
extern crate alloc;
#[cfg(not(feature = "std"))]
extern crate core;
#[cfg(feature = "std")]
use std::{array, boxed::Box, collections::HashMap, fmt::Debug, iter::Sum, marker, ops, vec::Vec};
#[cfg(not(feature = "std"))]
use {
alloc::{boxed::Box, collections::BTreeMap as HashMap, vec::Vec},
core::{array, fmt::Debug, iter::Sum, marker, ops},
};
/// An Iterative Closest Point algorithm, useful in matching Point Clouds.
/// Contains a 2D implementation when using the `2d` feature, and a 3D implementation when using the `3d` feature.
pub mod icp;
///A module containing common and interfacing structs and types.
pub mod types;
/// Implementation of an Ackerman vehicle steering model.
pub mod ackermann;
/// Implementations of Bresenham line algorithms.
pub mod bresenham;
/// Implementations of a Point-In-Polygon algorithm for both the singular and plural cases.
pub mod point_in_polygon;
/// Implementation of a Point-In-Convex-Hull algorithm, for both the singular and plural cases.
pub mod point_in_convex_hull;
/// A K-Dimensional Tree data structure, useful for various geo-spatial computations.
pub mod kd_tree;
/// Implementation of the Haversine formula, which calculate the distance and bearing between two points
pub mod haversine;
/// A Collection of pathfinding algorithms
pub mod pathfinding;
/// Various utility functions that are commonly used by these algorithms.
pub mod utils;