#[repr(i8)]pub enum AngleDirection {
Positive = 1,
Negative = -1,
Undefined = 0,
}
Expand description
The direction of rotation of an angle.
In mathematics and most graphics programming contexts, the default direction for angle measurements is counterclockwise from a defined zero point (usually the positive x-axis). This convention applies to both 2D and 3D coordinate systems where:
- A positive angle represents a counterclockwise rotation.
- A negative angle represents a clockwise rotation.
It aligns with the right-hand rule used in mathematics, physics, and engineering.
Variants§
Positive = 1
By convention, positive angles represent a counterclockwise rotation.
Also known as the Right-Handed Rule.
This is the default direction of rotation.
Negative = -1
By convention, negative angles represent a clockwise rotation.
Also known as the Left-Hand Rule.
Undefined = 0
An undefined direction can occur when a full-turn angle is normalized
to an unsigned 0
, such as when working with primitive signed integers.
Implementations§
Source§impl AngleDirection
impl AngleDirection
Sourcepub const CounterClockwise: AngleDirection = AngleDirection::Positive
pub const CounterClockwise: AngleDirection = AngleDirection::Positive
Alias of positive angle direction.
pub const CCW: AngleDirection = AngleDirection::Positive
pub const RightHandRule: AngleDirection = AngleDirection::Positive
pub const RHR: AngleDirection = AngleDirection::Positive
Sourcepub const Clockwise: AngleDirection = AngleDirection::Negative
pub const Clockwise: AngleDirection = AngleDirection::Negative
Alias of negative angle direction.
pub const CW: AngleDirection = AngleDirection::Negative
pub const LeftHandRule: AngleDirection = AngleDirection::Positive
pub const LHR: AngleDirection = AngleDirection::Positive
Trait Implementations§
Source§impl Clone for AngleDirection
impl Clone for AngleDirection
Source§fn clone(&self) -> AngleDirection
fn clone(&self) -> AngleDirection
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for AngleDirection
impl Debug for AngleDirection
Source§impl Default for AngleDirection
impl Default for AngleDirection
Source§fn default() -> AngleDirection
fn default() -> AngleDirection
Source§impl Hash for AngleDirection
impl Hash for AngleDirection
Source§impl Ord for AngleDirection
impl Ord for AngleDirection
Source§fn cmp(&self, other: &AngleDirection) -> Ordering
fn cmp(&self, other: &AngleDirection) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for AngleDirection
impl PartialEq for AngleDirection
Source§impl PartialOrd for AngleDirection
impl PartialOrd for AngleDirection
impl Copy for AngleDirection
impl Eq for AngleDirection
impl StructuralPartialEq for AngleDirection
Auto Trait Implementations§
impl Freeze for AngleDirection
impl RefUnwindSafe for AngleDirection
impl Send for AngleDirection
impl Sync for AngleDirection
impl Unpin for AngleDirection
impl UnwindSafe for AngleDirection
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> ByteSized for T
impl<T> ByteSized for T
Source§const BYTE_ALIGN: usize = _
const BYTE_ALIGN: usize = _
Source§fn byte_align(&self) -> usize
fn byte_align(&self) -> usize
Source§fn ptr_size_ratio(&self) -> [usize; 2]
fn ptr_size_ratio(&self) -> [usize; 2]
Source§impl<T, R> Chain<R> for Twhere
T: ?Sized,
impl<T, R> Chain<R> for Twhere
T: ?Sized,
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<T> ExtAny for T
impl<T> ExtAny for T
Source§fn type_hash_with<H: Hasher>(&self, hasher: H) -> u64
fn type_hash_with<H: Hasher>(&self, hasher: H) -> u64
TypeId
of Self
using a custom hasher.Source§fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
Source§impl<T> ExtMem for Twhere
T: ?Sized,
impl<T> ExtMem for Twhere
T: ?Sized,
Source§const NEEDS_DROP: bool = _
const NEEDS_DROP: bool = _
Source§fn mem_align_of<T>() -> usize
fn mem_align_of<T>() -> usize
Source§fn mem_align_of_val(&self) -> usize
fn mem_align_of_val(&self) -> usize
Source§fn mem_size_of<T>() -> usize
fn mem_size_of<T>() -> usize
Source§fn mem_size_of_val(&self) -> usize
fn mem_size_of_val(&self) -> usize
Source§fn mem_needs_drop(&self) -> bool
fn mem_needs_drop(&self) -> bool
true
if dropping values of this type matters. Read moreSource§fn mem_forget(self)where
Self: Sized,
fn mem_forget(self)where
Self: Sized,
self
without running its destructor. Read moreSource§fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
Source§unsafe fn mem_zeroed<T>() -> T
unsafe fn mem_zeroed<T>() -> T
unsafe_layout
only.T
represented by the all-zero byte-pattern. Read moreSource§unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe_layout
only.T
represented by the all-zero byte-pattern. Read moreSource§fn mem_as_bytes(&self) -> &[u8] ⓘ
fn mem_as_bytes(&self) -> &[u8] ⓘ
unsafe_slice
only.§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Hook for T
impl<T> Hook for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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 more