Trait vek::ops::Clamp [−][src]
pub trait Clamp<Bound = Self>: Sized {
fn clamped(self, lower: Bound, upper: Bound) -> Self;
fn clamped_to_inclusive_range(self, range: RangeInclusive<Bound>) -> Self { ... }
fn clamp(val: Self, lower: Bound, upper: Bound) -> Self { ... }
fn clamp_to_inclusive_range(val: Self, range: RangeInclusive<Bound>) -> Self { ... }
fn clamped01(self) -> Self
where
Bound: Zero + One,
{ ... }
fn clamp01(val: Self) -> Self
where
Bound: Zero + One,
{ ... }
fn clamped_minus1_1(self) -> Self
where
Bound: One + Neg<Output = Bound>,
{ ... }
fn clamp_minus1_1(val: Self) -> Self
where
Bound: One + Neg<Output = Bound>,
{ ... }
}
Expand description
A scalar or vector that can be constrained to be between two values (inclusive).
Required methods
Constrains this value to be between lower
and upper
(inclusive).
Panics
Panics if lower
is greater than upper
. Swap the values yourself if necessary.
use vek::ops::Clamp;
assert_eq!(7.clamped(5, 10), 7);
assert_eq!(4.clamped(5, 10), 5);
assert_eq!(5.clamped(5, 10), 5);
assert_eq!(10.clamped(5, 10), 10);
assert_eq!(11.clamped(5, 10), 10);
Provided methods
fn clamped_to_inclusive_range(self, range: RangeInclusive<Bound>) -> Self
fn clamped_to_inclusive_range(self, range: RangeInclusive<Bound>) -> Self
Alias to clamped
, which accepts a RangeInclusive
parameter instead of two values.
Alias to clamped
, which doesn’t take self
.
Panics
Panics if lower
is greater than upper
. Swap the values yourself if necessary.
fn clamp_to_inclusive_range(val: Self, range: RangeInclusive<Bound>) -> Self
fn clamp_to_inclusive_range(val: Self, range: RangeInclusive<Bound>) -> Self
Alias to clamp
, which accepts a RangeInclusive
parameter instead of two values.
Constrains this value to be between 0 and 1 (inclusive).
Alias to clamped01
, which doesn’t take self
.
fn clamped_minus1_1(self) -> Self where
Bound: One + Neg<Output = Bound>,
fn clamped_minus1_1(self) -> Self where
Bound: One + Neg<Output = Bound>,
Constrains this value to be between -1 and 1 (inclusive).
fn clamp_minus1_1(val: Self) -> Self where
Bound: One + Neg<Output = Bound>,
fn clamp_minus1_1(val: Self) -> Self where
Bound: One + Neg<Output = Bound>,
Alias to clamped_minus1_1
, which doesn’t take self
.