Function nalgebra_glm::clamp_vec
source · pub fn clamp_vec<N: Number, D: Dimension>(
x: &TVec<N, D>,
min_val: &TVec<N, D>,
max_val: &TVec<N, D>
) -> TVec<N, D>where
DefaultAllocator: Alloc<N, 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));