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
//! Implementation of `path_traits` for clothoid types.
//!
//! This module is only available when the `path-traits` feature is enabled.
//!
//! ## Types
//!
//! - [`ClothoidArc`] — a clothoid arc with linearly varying curvature.
//! - [`LinearSegment`] — a straight-line segment.
//! - [`ArcSegment`] — enum covering both segment kinds.
//! - [`ClothoidPath`] — a compound path of multiple segments.
//! - [`Vec2`] — a 2D vector used as the `Vector` associated type.
//!
//! ## Example
//!
//! ```
//! use clothoid::ClothoidArc;
//! use clothoid::optimizer::Pose;
//! use path_traits::Path;
//!
//! let arc = ClothoidArc {
//! start: Pose::new(0.0, 0.0, 0.0),
//! ks: 0.0,
//! ke: 1.0,
//! length: 5.0,
//! n_steps: 256,
//! };
//!
//! let pt = arc.sample_at(2.5).unwrap();
//! println!("point at s=2.5: ({}, {})", pt.x, pt.y);
//! ```
pub use ClothoidArc;
pub use LinearSegment;
pub use ClothoidPath;
pub use Vec2;
pub use ArcSegment;
/// Re-export the `path_traits` crate for convenience.
pub use path_traits;