pub struct Direction<const D: usize> { /* private fields */ }Expand description
Represent a cardinal direction
Implementations§
Source§impl<const D: usize> Direction<D>
impl<const D: usize> Direction<D>
Sourcepub const fn new(index_dir: usize, is_positive: bool) -> Option<Self>
pub const fn new(index_dir: usize, is_positive: bool) -> Option<Self>
New direction from a direction as an idex and wether it is in the positive direction.
Sourcepub fn positives_vec() -> Vec<Self>
pub fn positives_vec() -> Vec<Self>
List of all positives directions.
This is very slow use Self::positive_directions instead.
Sourcepub fn directions_vec() -> Vec<Self>
pub fn directions_vec() -> Vec<Self>
List all directions.
This is very slow use DirectionList::directions instead.
Sourcepub const fn directions_array<const IS_POSITIVE: bool>() -> [Self; D]
pub const fn directions_array<const IS_POSITIVE: bool>() -> [Self; D]
Get all direction with the sign IS_POSITIVE.
Sourcepub const fn negative_directions() -> [Self; D]
pub const fn negative_directions() -> [Self; D]
Get all negative direction
Sourcepub const fn positive_directions() -> [Self; D]
pub const fn positive_directions() -> [Self; D]
Get all positive direction
Sourcepub const fn is_positive(&self) -> bool
pub const fn is_positive(&self) -> bool
Get if the position is positive.
Sourcepub const fn is_negative(&self) -> bool
pub const fn is_negative(&self) -> bool
Get if the position is Negative. see Direction::is_positive
Sourcepub const fn to_positive(self) -> Self
pub const fn to_positive(self) -> Self
Return the positive direction associated, for example -x gives +x
and +x gives +x.
§Example
assert_eq!(
Direction::<4>::new(1, false).unwrap().to_positive(),
Direction::<4>::new(1, true).unwrap()
);
assert_eq!(
Direction::<4>::new(1, true).unwrap().to_positive(),
Direction::<4>::new(1, true).unwrap()
);Sourcepub const fn index(&self) -> usize
pub const fn index(&self) -> usize
Get a index associated to the direction.
§Example
assert_eq!(Direction::<4>::new(1, false).unwrap().index(), 1);Sourcepub fn to_vector(self, a: f64) -> SVector<Real, D>
pub fn to_vector(self, a: f64) -> SVector<Real, D>
Convert the direction into a vector of norm a;
Sourcepub fn to_unit_vector(self) -> SVector<Real, D>
pub fn to_unit_vector(self) -> SVector<Real, D>
Convert the direction into a vector of norm 1;
Sourcepub fn from_vector(v: &SVector<Real, D>) -> Self
pub fn from_vector(v: &SVector<Real, D>) -> Self
Find the direction the vector point the most.
For a zero vector return DirectionEnum::XPos.
§Example
assert_eq!(
Direction::from_vector(&nalgebra::Vector4::new(1_f64, 0_f64, 0_f64, 0_f64)),
Direction::<4>::new(0, true).ok_or(ImplementationError::OptionWithUnexpectedNone)?
);
assert_eq!(
Direction::from_vector(&nalgebra::Vector4::new(0_f64, -1_f64, 0_f64, 0_f64)),
Direction::<4>::new(1, false).ok_or(ImplementationError::OptionWithUnexpectedNone)?
);
assert_eq!(
Direction::from_vector(&nalgebra::Vector4::new(0.5_f64, 1_f64, 0_f64, 2_f64)),
Direction::<4>::new(3, true).ok_or(ImplementationError::OptionWithUnexpectedNone)?
);Trait Implementations§
Source§impl<'de, const D: usize> Deserialize<'de> for Direction<D>
impl<'de, const D: usize> Deserialize<'de> for Direction<D>
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl DirectionList for Direction<1usize>
impl DirectionList for Direction<1usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<10usize>
impl DirectionList for Direction<10usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<100usize>
impl DirectionList for Direction<100usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<101usize>
impl DirectionList for Direction<101usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<102usize>
impl DirectionList for Direction<102usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<103usize>
impl DirectionList for Direction<103usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<104usize>
impl DirectionList for Direction<104usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<105usize>
impl DirectionList for Direction<105usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<106usize>
impl DirectionList for Direction<106usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<107usize>
impl DirectionList for Direction<107usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<108usize>
impl DirectionList for Direction<108usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<109usize>
impl DirectionList for Direction<109usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<11usize>
impl DirectionList for Direction<11usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<110usize>
impl DirectionList for Direction<110usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<111usize>
impl DirectionList for Direction<111usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<112usize>
impl DirectionList for Direction<112usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<113usize>
impl DirectionList for Direction<113usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<114usize>
impl DirectionList for Direction<114usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<115usize>
impl DirectionList for Direction<115usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<116usize>
impl DirectionList for Direction<116usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<117usize>
impl DirectionList for Direction<117usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<118usize>
impl DirectionList for Direction<118usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<119usize>
impl DirectionList for Direction<119usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<12usize>
impl DirectionList for Direction<12usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<120usize>
impl DirectionList for Direction<120usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<121usize>
impl DirectionList for Direction<121usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<122usize>
impl DirectionList for Direction<122usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<123usize>
impl DirectionList for Direction<123usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<124usize>
impl DirectionList for Direction<124usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<125usize>
impl DirectionList for Direction<125usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<126usize>
impl DirectionList for Direction<126usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<127usize>
impl DirectionList for Direction<127usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<13usize>
impl DirectionList for Direction<13usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<14usize>
impl DirectionList for Direction<14usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<15usize>
impl DirectionList for Direction<15usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<16usize>
impl DirectionList for Direction<16usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<17usize>
impl DirectionList for Direction<17usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<18usize>
impl DirectionList for Direction<18usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<19usize>
impl DirectionList for Direction<19usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<2usize>
impl DirectionList for Direction<2usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<20usize>
impl DirectionList for Direction<20usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<21usize>
impl DirectionList for Direction<21usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<22usize>
impl DirectionList for Direction<22usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<23usize>
impl DirectionList for Direction<23usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<24usize>
impl DirectionList for Direction<24usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<25usize>
impl DirectionList for Direction<25usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<26usize>
impl DirectionList for Direction<26usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<27usize>
impl DirectionList for Direction<27usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<28usize>
impl DirectionList for Direction<28usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<29usize>
impl DirectionList for Direction<29usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<3usize>
impl DirectionList for Direction<3usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<30usize>
impl DirectionList for Direction<30usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<31usize>
impl DirectionList for Direction<31usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<32usize>
impl DirectionList for Direction<32usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<33usize>
impl DirectionList for Direction<33usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<34usize>
impl DirectionList for Direction<34usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<35usize>
impl DirectionList for Direction<35usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<36usize>
impl DirectionList for Direction<36usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<37usize>
impl DirectionList for Direction<37usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<38usize>
impl DirectionList for Direction<38usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<39usize>
impl DirectionList for Direction<39usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<4usize>
impl DirectionList for Direction<4usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<40usize>
impl DirectionList for Direction<40usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<41usize>
impl DirectionList for Direction<41usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<42usize>
impl DirectionList for Direction<42usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<43usize>
impl DirectionList for Direction<43usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<44usize>
impl DirectionList for Direction<44usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<45usize>
impl DirectionList for Direction<45usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<46usize>
impl DirectionList for Direction<46usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<47usize>
impl DirectionList for Direction<47usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<48usize>
impl DirectionList for Direction<48usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<49usize>
impl DirectionList for Direction<49usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<5usize>
impl DirectionList for Direction<5usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<50usize>
impl DirectionList for Direction<50usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<51usize>
impl DirectionList for Direction<51usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<52usize>
impl DirectionList for Direction<52usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<53usize>
impl DirectionList for Direction<53usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<54usize>
impl DirectionList for Direction<54usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<55usize>
impl DirectionList for Direction<55usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<56usize>
impl DirectionList for Direction<56usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<57usize>
impl DirectionList for Direction<57usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<58usize>
impl DirectionList for Direction<58usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<59usize>
impl DirectionList for Direction<59usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<6usize>
impl DirectionList for Direction<6usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<60usize>
impl DirectionList for Direction<60usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<61usize>
impl DirectionList for Direction<61usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<62usize>
impl DirectionList for Direction<62usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<63usize>
impl DirectionList for Direction<63usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<64usize>
impl DirectionList for Direction<64usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<65usize>
impl DirectionList for Direction<65usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<66usize>
impl DirectionList for Direction<66usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<67usize>
impl DirectionList for Direction<67usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<68usize>
impl DirectionList for Direction<68usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<69usize>
impl DirectionList for Direction<69usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<7usize>
impl DirectionList for Direction<7usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<70usize>
impl DirectionList for Direction<70usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<71usize>
impl DirectionList for Direction<71usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<72usize>
impl DirectionList for Direction<72usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<73usize>
impl DirectionList for Direction<73usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<74usize>
impl DirectionList for Direction<74usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<75usize>
impl DirectionList for Direction<75usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<76usize>
impl DirectionList for Direction<76usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<77usize>
impl DirectionList for Direction<77usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<78usize>
impl DirectionList for Direction<78usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<79usize>
impl DirectionList for Direction<79usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<8usize>
impl DirectionList for Direction<8usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<80usize>
impl DirectionList for Direction<80usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<81usize>
impl DirectionList for Direction<81usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<82usize>
impl DirectionList for Direction<82usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<83usize>
impl DirectionList for Direction<83usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<84usize>
impl DirectionList for Direction<84usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<85usize>
impl DirectionList for Direction<85usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<86usize>
impl DirectionList for Direction<86usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<87usize>
impl DirectionList for Direction<87usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<88usize>
impl DirectionList for Direction<88usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<89usize>
impl DirectionList for Direction<89usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<9usize>
impl DirectionList for Direction<9usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<90usize>
impl DirectionList for Direction<90usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<91usize>
impl DirectionList for Direction<91usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<92usize>
impl DirectionList for Direction<92usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<93usize>
impl DirectionList for Direction<93usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<94usize>
impl DirectionList for Direction<94usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<95usize>
impl DirectionList for Direction<95usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<96usize>
impl DirectionList for Direction<96usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<97usize>
impl DirectionList for Direction<97usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<98usize>
impl DirectionList for Direction<98usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl DirectionList for Direction<99usize>
impl DirectionList for Direction<99usize>
Source§fn directions() -> &'static [Self]
fn directions() -> &'static [Self]
Source§fn positive_directions() -> &'static [Self]
fn positive_directions() -> &'static [Self]
Source§impl<const D: usize> From<&Direction<D>> for SVector<Real, D>
Return Direction::to_unit_vector.
impl<const D: usize> From<&Direction<D>> for SVector<Real, D>
Return Direction::to_unit_vector.
Source§impl From<&DirectionEnum> for Direction<4>
impl From<&DirectionEnum> for Direction<4>
Source§fn from(d: &DirectionEnum) -> Self
fn from(d: &DirectionEnum) -> Self
Source§impl<const D: usize> From<&Matrix<f64, Const<D>, Const<1>, ArrayStorage<f64, D, 1>>> for Direction<D>
Return DirectionEnum::from_vector.
impl<const D: usize> From<&Matrix<f64, Const<D>, Const<1>, ArrayStorage<f64, D, 1>>> for Direction<D>
Return DirectionEnum::from_vector.
Source§impl<const D: usize> From<Direction<D>> for SVector<Real, D>
Return Direction::to_unit_vector.
impl<const D: usize> From<Direction<D>> for SVector<Real, D>
Return Direction::to_unit_vector.
Source§impl From<DirectionEnum> for Direction<4>
impl From<DirectionEnum> for Direction<4>
Source§fn from(d: DirectionEnum) -> Self
fn from(d: DirectionEnum) -> Self
Source§impl<const D: usize> From<Matrix<f64, Const<D>, Const<1>, ArrayStorage<f64, D, 1>>> for Direction<D>
Return DirectionEnum::from_vector.
impl<const D: usize> From<Matrix<f64, Const<D>, Const<1>, ArrayStorage<f64, D, 1>>> for Direction<D>
Return DirectionEnum::from_vector.
Source§impl<const D: usize> LatticeElementToIndex<D> for Direction<D>
impl<const D: usize> LatticeElementToIndex<D> for Direction<D>
Source§fn to_index(&self, _: &LatticeCyclic<D>) -> usize
fn to_index(&self, _: &LatticeCyclic<D>) -> usize
equivalent to Direction::to_index()
Source§impl<const D: usize> PartialOrd for Direction<D>
Partial ordering is set as follows: two directions can be compared if they have the same index
or the same direction sign. In the first case a positive direction is greater than a negative direction
In the latter case the ordering is done on the index.
impl<const D: usize> PartialOrd for Direction<D>
Partial ordering is set as follows: two directions can be compared if they have the same index or the same direction sign. In the first case a positive direction is greater than a negative direction In the latter case the ordering is done on the index.
§Example
use std::cmp::Ordering;
let dir_1 =
Direction::<4>::new(1, false).ok_or(ImplementationError::OptionWithUnexpectedNone)?;
let dir_2 =
Direction::<4>::new(1, true).ok_or(ImplementationError::OptionWithUnexpectedNone)?;
assert!(dir_1 < dir_2);
assert_eq!(dir_1.partial_cmp(&dir_2), Some(Ordering::Less));
//--------
let dir_3 =
Direction::<4>::new(3, false).ok_or(ImplementationError::OptionWithUnexpectedNone)?;
let dir_4 =
Direction::<4>::new(1, false).ok_or(ImplementationError::OptionWithUnexpectedNone)?;
assert!(dir_3 > dir_4);
assert_eq!(dir_3.partial_cmp(&dir_4), Some(Ordering::Greater));
//--------
let dir_5 =
Direction::<4>::new(3, true).ok_or(ImplementationError::OptionWithUnexpectedNone)?;
let dir_6 =
Direction::<4>::new(1, false).ok_or(ImplementationError::OptionWithUnexpectedNone)?;
assert_eq!(dir_5.partial_cmp(&dir_6), None);
//--------
let dir_5 =
Direction::<4>::new(1, false).ok_or(ImplementationError::OptionWithUnexpectedNone)?;
let dir_6 =
Direction::<4>::new(1, false).ok_or(ImplementationError::OptionWithUnexpectedNone)?;
assert_eq!(dir_5.partial_cmp(&dir_6), Some(Ordering::Equal));impl<const D: usize> Copy for Direction<D>
impl<const D: usize> Eq for Direction<D>
impl<const D: usize> StructuralPartialEq for Direction<D>
Auto Trait Implementations§
impl<const D: usize> Freeze for Direction<D>
impl<const D: usize> RefUnwindSafe for Direction<D>
impl<const D: usize> Send for Direction<D>
impl<const D: usize> Sync for Direction<D>
impl<const D: usize> Unpin for Direction<D>
impl<const D: usize> UnwindSafe for Direction<D>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.