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
//! Curves.
//!
//! # Examples
//!
//! Trace a Bézier curve:
//!
//! ```
//! use curve::bezier::Linear;
//! use curve::Trace;
//!
//! let curve = (Linear::new(1.0, 5.0), Linear::new(2.0, 3.0));
//! let points = Trace::new(curve, 3).collect::<Vec<_>>();
//! assert_eq!(points, vec![(1.0, 2.0), (3.0, 2.5), (5.0, 3.0)]);
//! ```
//!
//! Approximate a cubic Bézier curve with a sequence of quadratic:
//!
//! ```
//! use curve::bezier::goodness::CrudeIndependentAbsolute;
//! use curve::bezier::Cubic;
//! use curve::Approximation;
//!
//! let goodness = CrudeIndependentAbsolute::new(1.0, f64::MAX, usize::MAX);
//! let cubic = (Cubic::new(0.0, 0.0, 90.0, 100.0), Cubic::new(0.0, 50.0, 0.0, 0.0));
//! let quadratics = Approximation::new(cubic, goodness).collect::<Vec<_>>();
//! assert_eq!(quadratics.len(), 4);
//! ```
pub use Align;
pub use Approximation;
pub use Evaluate;
pub use Expand;
pub use Goodness;
pub use Reduce;
pub use Subdivide;
pub use Trace;