nalgebra_glm/gtx/handed_coordinate_space.rs
1use crate::aliases::TVec3;
2use crate::traits::Number;
3
4/// Returns `true` if `{a, b, c}` forms a left-handed trihedron.
5///
6/// # See also:
7///
8/// * [`right_handed()`]
9pub fn left_handed<T: Number>(a: &TVec3<T>, b: &TVec3<T>, c: &TVec3<T>) -> bool {
10 a.cross(b).dot(c) < T::zero()
11}
12
13/// Returns `true` if `{a, b, c}` forms a right-handed trihedron.
14///
15/// # See also:
16///
17/// * [`left_handed()`]
18pub fn right_handed<T: Number>(a: &TVec3<T>, b: &TVec3<T>, c: &TVec3<T>) -> bool {
19 a.cross(b).dot(c) > T::zero()
20}