Struct ggez::graphics::na::Id
[−]
#[repr(C)]pub struct Id<O = Multiplicative> where
O: Operator, { /* fields omitted */ }
The universal identity element wrt. a given operator, usually noted Id
with a
context-dependent subscript.
By default, it is the multiplicative identity element. It represents the degenerate set containing only the identity element of any group-like structure. It has no dimension known at compile-time. All its operations are no-ops.
Methods
impl<O> Id<O> where
O: Operator,
O: Operator,
Trait Implementations
impl<O> Copy for Id<O> where
O: Operator,
O: Operator,
impl<E> Rotation<E> for Id<Multiplicative> where
E: EuclideanSpace,
E: EuclideanSpace,
fn powf(&self, <E as EuclideanSpace>::Real) -> Option<Id<Multiplicative>>
fn rotation_between(
a: &<E as EuclideanSpace>::Coordinates,
b: &<E as EuclideanSpace>::Coordinates
) -> Option<Id<Multiplicative>>
a: &<E as EuclideanSpace>::Coordinates,
b: &<E as EuclideanSpace>::Coordinates
) -> Option<Id<Multiplicative>>
fn scaled_rotation_between(
a: &<E as EuclideanSpace>::Coordinates,
b: &<E as EuclideanSpace>::Coordinates,
<E as EuclideanSpace>::Real
) -> Option<Id<Multiplicative>>
a: &<E as EuclideanSpace>::Coordinates,
b: &<E as EuclideanSpace>::Coordinates,
<E as EuclideanSpace>::Real
) -> Option<Id<Multiplicative>>
impl<O> Lattice for Id<O> where
O: Operator,
O: Operator,
impl<O> ApproxEq for Id<O> where
O: Operator,
O: Operator,
type Epsilon = Id<O>
fn default_epsilon() -> <Id<O> as ApproxEq>::Epsilon
fn default_max_relative() -> <Id<O> as ApproxEq>::Epsilon
fn default_max_ulps() -> u32
fn relative_eq(
&self,
&Id<O>,
<Id<O> as ApproxEq>::Epsilon,
<Id<O> as ApproxEq>::Epsilon
) -> bool
&self,
&Id<O>,
<Id<O> as ApproxEq>::Epsilon,
<Id<O> as ApproxEq>::Epsilon
) -> bool
fn ulps_eq(&self, &Id<O>, <Id<O> as ApproxEq>::Epsilon, u32) -> bool
impl<O> Clone for Id<O> where
O: Operator,
O: Operator,
fn clone(&self) -> Id<O>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<E> DirectIsometry<E> for Id<Multiplicative> where
E: EuclideanSpace,
E: EuclideanSpace,
impl<E> Translation<E> for Id<Multiplicative> where
E: EuclideanSpace,
E: EuclideanSpace,
fn to_vector(&self) -> <E as EuclideanSpace>::Coordinates
fn from_vector(
v: <E as EuclideanSpace>::Coordinates
) -> Option<Id<Multiplicative>>
v: <E as EuclideanSpace>::Coordinates
) -> Option<Id<Multiplicative>>
impl<E> OrthogonalTransformation<E> for Id<Multiplicative> where
E: EuclideanSpace,
E: EuclideanSpace,
impl Div<Id<Multiplicative>> for Id<Multiplicative>
impl<O> AbstractQuasigroup<O> for Id<O> where
O: Operator,
O: Operator,
impl<O> MeetSemilattice for Id<O> where
O: Operator,
O: Operator,
impl DivAssign<Id<Multiplicative>> for Id<Multiplicative>
fn div_assign(&mut self, Id<Multiplicative>)
impl<E> Scaling<E> for Id<Multiplicative> where
E: EuclideanSpace,
E: EuclideanSpace,
impl<E> Similarity<E> for Id<Multiplicative> where
E: EuclideanSpace,
E: EuclideanSpace,
type Scaling = Id<Multiplicative>
fn translation(
&self
) -> <Id<Multiplicative> as AffineTransformation<E>>::Translation
&self
) -> <Id<Multiplicative> as AffineTransformation<E>>::Translation
fn rotation(&self) -> <Id<Multiplicative> as AffineTransformation<E>>::Rotation
fn scaling(&self) -> <Id<Multiplicative> as Similarity<E>>::Scaling
impl<E> AffineTransformation<E> for Id<Multiplicative> where
E: EuclideanSpace,
E: EuclideanSpace,
type Rotation = Id<Multiplicative>
type NonUniformScaling = Id<Multiplicative>
type Translation = Id<Multiplicative>
fn decompose(
&self
) -> (Id<Multiplicative>, Id<Multiplicative>, Id<Multiplicative>, Id<Multiplicative>)
&self
) -> (Id<Multiplicative>, Id<Multiplicative>, Id<Multiplicative>, Id<Multiplicative>)
fn append_translation(
&self,
&<Id<Multiplicative> as AffineTransformation<E>>::Translation
) -> Id<Multiplicative>
&self,
&<Id<Multiplicative> as AffineTransformation<E>>::Translation
) -> Id<Multiplicative>
fn prepend_translation(
&self,
&<Id<Multiplicative> as AffineTransformation<E>>::Translation
) -> Id<Multiplicative>
&self,
&<Id<Multiplicative> as AffineTransformation<E>>::Translation
) -> Id<Multiplicative>
fn append_rotation(
&self,
&<Id<Multiplicative> as AffineTransformation<E>>::Rotation
) -> Id<Multiplicative>
&self,
&<Id<Multiplicative> as AffineTransformation<E>>::Rotation
) -> Id<Multiplicative>
fn prepend_rotation(
&self,
&<Id<Multiplicative> as AffineTransformation<E>>::Rotation
) -> Id<Multiplicative>
&self,
&<Id<Multiplicative> as AffineTransformation<E>>::Rotation
) -> Id<Multiplicative>
fn append_scaling(
&self,
&<Id<Multiplicative> as AffineTransformation<E>>::NonUniformScaling
) -> Id<Multiplicative>
&self,
&<Id<Multiplicative> as AffineTransformation<E>>::NonUniformScaling
) -> Id<Multiplicative>
fn prepend_scaling(
&self,
&<Id<Multiplicative> as AffineTransformation<E>>::NonUniformScaling
) -> Id<Multiplicative>
&self,
&<Id<Multiplicative> as AffineTransformation<E>>::NonUniformScaling
) -> Id<Multiplicative>
impl<E> Transformation<E> for Id<Multiplicative> where
E: EuclideanSpace,
E: EuclideanSpace,
fn transform_point(&self, pt: &E) -> E
fn transform_vector(
&self,
v: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
&self,
v: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
impl<O> PartialOrd<Id<O>> for Id<O> where
O: Operator,
O: Operator,
fn partial_cmp(&self, &Id<O>) -> Option<Ordering>
impl<O> AbstractGroup<O> for Id<O> where
O: Operator,
O: Operator,
impl<O> AbstractLoop<O> for Id<O> where
O: Operator,
O: Operator,
impl<O> PartialEq<Id<O>> for Id<O> where
O: Operator,
O: Operator,
fn eq(&self, &Id<O>) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl Add<Id<Multiplicative>> for Id<Multiplicative>
impl<O> Debug for Id<O> where
O: Operator + Debug,
O: Operator + Debug,
fn fmt(&self, __arg_0: &mut Formatter) -> Result<(), Error>
Formats the value using the given formatter.
impl AddAssign<Id<Multiplicative>> for Id<Multiplicative>
fn add_assign(&mut self, Id<Multiplicative>)
impl<O, T> SubsetOf<T> for Id<O> where
O: Operator,
T: Identity<O> + PartialEq<T>,
O: Operator,
T: Identity<O> + PartialEq<T>,
fn to_superset(&self) -> T
fn is_in_subset(t: &T) -> bool
unsafe fn from_superset_unchecked(&T) -> Id<O>
impl<O> Inverse<O> for Id<O> where
O: Operator,
O: Operator,
fn inverse(&self) -> Id<O>
fn inverse_mut(&mut self)
impl<O> JoinSemilattice for Id<O> where
O: Operator,
O: Operator,
impl One for Id<Multiplicative>
impl<O> Eq for Id<O> where
O: Operator,
O: Operator,
impl<O> AbstractMagma<O> for Id<O> where
O: Operator,
O: Operator,
impl Zero for Id<Multiplicative>
impl<O> Identity<O> for Id<O> where
O: Operator,
O: Operator,
impl MulAssign<Id<Multiplicative>> for Id<Multiplicative>
fn mul_assign(&mut self, Id<Multiplicative>)
impl<E> Isometry<E> for Id<Multiplicative> where
E: EuclideanSpace,
E: EuclideanSpace,
impl<O> AbstractGroupAbelian<O> for Id<O> where
O: Operator,
O: Operator,
impl Mul<Id<Multiplicative>> for Id<Multiplicative>
impl<O> AbstractMonoid<O> for Id<O> where
O: Operator,
O: Operator,
impl<O> AbstractSemigroup<O> for Id<O> where
O: Operator,
O: Operator,
impl<O> Display for Id<O> where
O: Operator,
O: Operator,
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>
Formats the value using the given formatter. Read more
impl<E> ProjectiveTransformation<E> for Id<Multiplicative> where
E: EuclideanSpace,
E: EuclideanSpace,
fn inverse_transform_point(&self, pt: &E) -> E
fn inverse_transform_vector(
&self,
v: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
&self,
v: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates