pub enum WrapperKind {
Unit,
Bulk,
Unitized,
Ideal,
Proper,
Spacelike,
Null,
}Expand description
Wrapper constraint kinds for constraint simplification.
These represent the different normalization and constraint wrappers that can be applied to geometric types. Each wrapper has specific algebraic constraints that can be used during Groebner basis simplification.
Variants§
Unit
Unit wrapper: norm() == 1 (Euclidean norm).
Constraint: norm_squared - 1 = 0
Bulk
Bulk wrapper: bulk_norm() == 1 (PGA versors).
Constraint: bulk_norm_squared - 1 = 0
Unitized
Unitized wrapper: weight_norm() == 1 (PGA standard form).
Constraint: weight_norm_squared - 1 = 0
Ideal
Ideal wrapper: weight_norm() ≈ 0 (PGA elements at infinity).
Constraint: each weight component = 0
Proper
Proper wrapper: timelike, |norm²| == 1 (Minkowski 4-velocities).
Constraint: norm_squared - 1 = 0
Spacelike
Spacelike wrapper: spacelike, |norm²| == 1 (Minkowski spatial).
Constraint: norm_squared + 1 = 0
Null
Null wrapper: norm_squared ≈ 0 (Minkowski lightlike).
Constraint: norm_squared = 0
Trait Implementations§
Source§impl Clone for WrapperKind
impl Clone for WrapperKind
Source§fn clone(&self) -> WrapperKind
fn clone(&self) -> WrapperKind
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for WrapperKind
impl Debug for WrapperKind
Source§impl Hash for WrapperKind
impl Hash for WrapperKind
Source§impl PartialEq for WrapperKind
impl PartialEq for WrapperKind
impl Copy for WrapperKind
impl Eq for WrapperKind
impl StructuralPartialEq for WrapperKind
Auto Trait Implementations§
impl Freeze for WrapperKind
impl RefUnwindSafe for WrapperKind
impl Send for WrapperKind
impl Sync for WrapperKind
impl Unpin for WrapperKind
impl UnwindSafe for WrapperKind
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> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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