pub struct Bivector<T> {
pub xy: T,
pub xz: T,
pub yz: T,
}Expand description
The 3D bivector type.
Fields§
§xy: TThe component representing the xy plane.
xz: TThe component representing the xz plane.
yz: TThe component representing the yz plane.
Implementations§
Trait Implementations§
Source§impl<T> AddAssign for Bivector<T>where
T: AddAssign,
impl<T> AddAssign for Bivector<T>where
T: AddAssign,
Source§fn add_assign(&mut self, __rhs: Self)
fn add_assign(&mut self, __rhs: Self)
Performs the
+= operation. Read moreSource§impl<T> DivAssign<T> for Bivector<T>
impl<T> DivAssign<T> for Bivector<T>
Source§fn div_assign(&mut self, other: T)
fn div_assign(&mut self, other: T)
Performs the
/= operation. Read moreSource§impl<T: Real> DotProduct for Bivector<T>
impl<T: Real> DotProduct for Bivector<T>
Source§impl<T> MulAssign<T> for Bivector<T>
impl<T> MulAssign<T> for Bivector<T>
Source§fn mul_assign(&mut self, other: T)
fn mul_assign(&mut self, other: T)
Performs the
*= operation. Read moreSource§impl<T> SubAssign for Bivector<T>where
T: SubAssign,
impl<T> SubAssign for Bivector<T>where
T: SubAssign,
Source§fn sub_assign(&mut self, __rhs: Self)
fn sub_assign(&mut self, __rhs: Self)
Performs the
-= operation. Read moreSource§impl<T: Real> VectorSpace for Bivector<T>
impl<T: Real> VectorSpace for Bivector<T>
impl<T: Copy> Copy for Bivector<T>
impl<T: Eq> Eq for Bivector<T>
impl<T> StructuralPartialEq for Bivector<T>
Auto Trait Implementations§
impl<T> Freeze for Bivector<T>where
T: Freeze,
impl<T> RefUnwindSafe for Bivector<T>where
T: RefUnwindSafe,
impl<T> Send for Bivector<T>where
T: Send,
impl<T> Sync for Bivector<T>where
T: Sync,
impl<T> Unpin for Bivector<T>where
T: Unpin,
impl<T> UnwindSafe for Bivector<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T, D> AffineSpace for Twhere
T: Sub<Output = D>,
D: VectorSpace,
impl<T, D> AffineSpace for Twhere
T: Sub<Output = D>,
D: VectorSpace,
Source§impl<T> Bases for Twhere
T: VectorSpace,
impl<T> Bases for Twhere
T: VectorSpace,
Source§fn unit_bases<const I: usize>() -> Selfwhere
Self: Basis<I>,
fn unit_bases<const I: usize>() -> Selfwhere
Self: Basis<I>,
Creates the specified unit basis of the vector space.
Source§fn bases_of<const I: usize>(magnitude: Self::Scalar) -> Selfwhere
Self: Basis<I>,
fn bases_of<const I: usize>(magnitude: Self::Scalar) -> Selfwhere
Self: Basis<I>,
Creates the specified basis of the vector of the specified magnitude.
Source§fn bases<const I: usize>(&self) -> Self::Scalarwhere
Self: Basis<I>,
fn bases<const I: usize>(&self) -> Self::Scalarwhere
Self: Basis<I>,
Queries the specified basis of a vector space.
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> InnerSpace for T
impl<T> InnerSpace for T
Source§fn magnitude2(&self) -> Self::Scalar
fn magnitude2(&self) -> Self::Scalar
The squared magnitude. Read more
Source§fn with_magnitude(self, magnitude: Self::Scalar) -> Self
fn with_magnitude(self, magnitude: Self::Scalar) -> Self
Sets the magnitude of a vector.
Source§fn with_direction(self, dir: Self) -> Self
fn with_direction(self, dir: Self) -> Self
Sets the direction of a vector.
Source§fn query_axis(&self, dir: Self) -> Self::Scalar
fn query_axis(&self, dir: Self) -> Self::Scalar
The value of the vector along the specified axis.
Source§fn normalized_project(self, dir: Self) -> Self
fn normalized_project(self, dir: Self) -> Self
Projects a vector onto an already normalized direction vector.
Source§fn normalized_reject(self, dir: Self) -> Self
fn normalized_reject(self, dir: Self) -> Self
Rejects a vector from an already normalized direction vector.
Source§fn normalized_reflect(self, dir: Self) -> Self
fn normalized_reflect(self, dir: Self) -> Self
Reflects a vector from an already normalized direction vector.