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
use crateDirectPosition;
use Vector3;
/// A plane in R³ defined by a point and a unit normal vector.
///
/// Used internally to project 3-D polygons to 2-D for triangulation.
///
/// # Examples
///
/// ```rust
/// use egml_core::model::geometry::DirectPosition;
/// use egml_core::util::plane::Plane;
/// use nalgebra::Vector3;
///
/// let origin = DirectPosition::new(0.0, 0.0, 0.0).unwrap();
/// let plane = Plane::new(origin, Vector3::z());
/// assert_eq!(plane.normal(), Vector3::z());
/// ```