Function nalgebra_glm::clamp_vec

source ·
pub fn clamp_vec<T: Number, const D: usize>(
    x: &TVec<T, D>,
    min_val: &TVec<T, D>,
    max_val: &TVec<T, D>
) -> TVec<T, D>
Expand description

Returns min(max(x[i], min_val[i]), max_val[i]) for each component in x using the components of min_val and max_val as bounds.

Examples:

let min_bounds = glm::vec2(1.0, 3.0);
let max_bounds = glm::vec2(5.0, 6.0);
assert_eq!(glm::vec2(1.0, 6.0),
           glm::clamp_vec(&glm::vec2(0.0, 7.0),
                          &min_bounds,
                          &max_bounds));
assert_eq!(glm::vec2(2.0, 6.0),
           glm::clamp_vec(&glm::vec2(2.0, 7.0),
                          &min_bounds,
                          &max_bounds));
assert_eq!(glm::vec2(1.0, 4.0),
           glm::clamp_vec(&glm::vec2(0.0, 4.0),
                          &min_bounds,
                          &max_bounds));

See also: