pub struct Transformed<T, G> {
pub inner: T,
pub transform: G,
}Expand description
An item paired with an external transform represented by G.
inner retains its own representation while transform controls the
extracted geometry. Composition is explicit about order:
compose_outer:transform = outer * transform;compose_inner:transform = transform * inner.
Applying an H through ApplyTransform is outer composition and is only
available when H embeds into the existing storage type (G: From<H>).
Operations never widen the wrapper automatically. Widen explicitly with
Into::into when a more general storage type is required.
use ranim_core::{glam::DVec3, prelude::*};
let mut item = ().transformed(Similarity::IDENTITY);
// `Diag` does not embed into `Similarity`; choose `DAffine3` storage first.
item.scale(DVec3::new(2.0, 1.0, 1.0));Extraction and Aabb calculation convert G to [DAffine3] only at the
geometry boundary. Projective transforms remain outside the model-transform
system.
Fields§
§inner: TThe item expressed in its own coordinates.
transform: GThe external transform applied to inner.
Implementations§
Source§impl<T, G> Transformed<T, G>
impl<T, G> Transformed<T, G>
Sourcepub fn new(inner: T, transform: G) -> Transformed<T, G>
pub fn new(inner: T, transform: G) -> Transformed<T, G>
Pair inner with transform without converting either value.
Sourcepub fn map_inner<U, F>(self, f: F) -> Transformed<U, G>where
F: FnOnce(T) -> U,
pub fn map_inner<U, F>(self, f: F) -> Transformed<U, G>where
F: FnOnce(T) -> U,
Map the wrapped item to a new type, keeping transform unchanged.
Sourcepub fn map_transform<H, F>(self, f: F) -> Transformed<T, H>where
F: FnOnce(G) -> H,
pub fn map_transform<H, F>(self, f: F) -> Transformed<T, H>where
F: FnOnce(G) -> H,
Map the transform storage to a new type while keeping inner
unchanged.
This is the general form of converting between transform groups —
for example widening a placement or checked-narrowing an affine
storage back to a subgroup. Lossless upward conversions need no
closure at all: Transformed implements
From<Transformed<T, X>> for Transformed<T, Y> whenever X embeds
into Y, so prefer plain .into() there.
Sourcepub fn compose_outer<H>(&mut self, outer: H) -> &mut Transformed<T, G>where
G: TransformGroup + From<H>,
pub fn compose_outer<H>(&mut self, outer: H) -> &mut Transformed<T, G>where
G: TransformGroup + From<H>,
Compose outer on the left: transform = outer * transform.
Sourcepub fn compose_inner<H>(&mut self, inner: H) -> &mut Transformed<T, G>where
G: TransformGroup + From<H>,
pub fn compose_inner<H>(&mut self, inner: H) -> &mut Transformed<T, G>where
G: TransformGroup + From<H>,
Compose inner on the right: transform = transform * inner.
Sourcepub fn bake(self) -> Twhere
T: ApplyTransform<G>,
pub fn bake(self) -> Twhere
T: ApplyTransform<G>,
Bake the stored transform into inner and remove the wrapper.
This method exists only when T directly supports the wrapper’s exact
transform representation G.
Trait Implementations§
Source§impl<T, G> Aabb for Transformed<T, G>
impl<T, G> Aabb for Transformed<T, G>
Source§impl<T, G> Alignable for Transformed<T, G>
impl<T, G> Alignable for Transformed<T, G>
Source§fn is_aligned(&self, other: &Transformed<T, G>) -> bool
fn is_aligned(&self, other: &Transformed<T, G>) -> bool
Source§fn align_with(&mut self, other: &mut Transformed<T, G>)
fn align_with(&mut self, other: &mut Transformed<T, G>)
Source§impl<T, G, H> ApplyTransform<H> for Transformed<T, G>where
G: TransformGroup + From<H>,
impl<T, G, H> ApplyTransform<H> for Transformed<T, G>where
G: TransformGroup + From<H>,
Source§fn apply(&mut self, transform: H) -> &mut Transformed<T, G>
fn apply(&mut self, transform: H) -> &mut Transformed<T, G>
transform (expressed in world coordinates) into the item’s
data, in place.Source§impl<T, G> Clone for Transformed<T, G>
impl<T, G> Clone for Transformed<T, G>
Source§fn clone(&self) -> Transformed<T, G>
fn clone(&self) -> Transformed<T, G>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<T, G> Debug for Transformed<T, G>
impl<T, G> Debug for Transformed<T, G>
Source§impl<T, G> Empty for Transformed<T, G>where
T: Empty,
G: TransformGroup,
impl<T, G> Empty for Transformed<T, G>where
T: Empty,
G: TransformGroup,
Source§fn empty() -> Transformed<T, G>
fn empty() -> Transformed<T, G>
Create an empty placeholder of a wrapped item.
The inner item contributes T::empty() while the pose is G::identity():
an empty placeholder carries no geometry, so there is no meaningful
placement to preserve — identity keeps it neutral for composition until
real content is placed on it.
Source§impl<T, G> Extract for Transformed<T, G>
impl<T, G> Extract for Transformed<T, G>
Source§impl<T, G> FillColor for Transformed<T, G>where
T: FillColor,
impl<T, G> FillColor for Transformed<T, G>where
T: FillColor,
Source§fn fill_color(&self) -> AlphaColor<Srgb>
fn fill_color(&self) -> AlphaColor<Srgb>
Source§fn set_fill_color(&mut self, color: AlphaColor<Srgb>) -> &mut Transformed<T, G>
fn set_fill_color(&mut self, color: AlphaColor<Srgb>) -> &mut Transformed<T, G>
Source§fn set_fill_opacity(&mut self, opacity: f32) -> &mut Transformed<T, G>
fn set_fill_opacity(&mut self, opacity: f32) -> &mut Transformed<T, G>
Source§impl<I, G> From<Node<I, G>> for Transformed<Node<I, G>, G>where
G: TransformGroup,
A bare Node places with the identity pose, so plain and wrapped nodes
mix freely in the same vec![...] of children.
impl<I, G> From<Node<I, G>> for Transformed<Node<I, G>, G>where
G: TransformGroup,
A bare Node places with the identity pose, so plain and wrapped nodes
mix freely in the same vec![...] of children.
Source§impl<T> From<Transformed<T, Diag>> for Transformed<T, DAffine3>
impl<T> From<Transformed<T, Diag>> for Transformed<T, DAffine3>
Source§fn from(value: Transformed<T, Diag>) -> Transformed<T, DAffine3>
fn from(value: Transformed<T, Diag>) -> Transformed<T, DAffine3>
Source§impl<T> From<Transformed<T, Rigid>> for Transformed<T, Similarity>
impl<T> From<Transformed<T, Rigid>> for Transformed<T, Similarity>
Source§fn from(value: Transformed<T, Rigid>) -> Transformed<T, Similarity>
fn from(value: Transformed<T, Rigid>) -> Transformed<T, Similarity>
Source§impl<T> From<Transformed<T, Rigid>> for Transformed<T, DAffine3>
impl<T> From<Transformed<T, Rigid>> for Transformed<T, DAffine3>
Source§fn from(value: Transformed<T, Rigid>) -> Transformed<T, DAffine3>
fn from(value: Transformed<T, Rigid>) -> Transformed<T, DAffine3>
Source§impl<T> From<Transformed<T, Similarity>> for Transformed<T, DAffine3>
impl<T> From<Transformed<T, Similarity>> for Transformed<T, DAffine3>
Source§fn from(value: Transformed<T, Similarity>) -> Transformed<T, DAffine3>
fn from(value: Transformed<T, Similarity>) -> Transformed<T, DAffine3>
Source§impl<T> From<Transformed<T, Translation>> for Transformed<T, Rigid>
impl<T> From<Transformed<T, Translation>> for Transformed<T, Rigid>
Source§fn from(value: Transformed<T, Translation>) -> Transformed<T, Rigid>
fn from(value: Transformed<T, Translation>) -> Transformed<T, Rigid>
Source§impl<T> From<Transformed<T, Translation>> for Transformed<T, Similarity>
impl<T> From<Transformed<T, Translation>> for Transformed<T, Similarity>
Source§fn from(value: Transformed<T, Translation>) -> Transformed<T, Similarity>
fn from(value: Transformed<T, Translation>) -> Transformed<T, Similarity>
Source§impl<T> From<Transformed<T, Translation>> for Transformed<T, DAffine3>
impl<T> From<Transformed<T, Translation>> for Transformed<T, DAffine3>
Source§fn from(value: Transformed<T, Translation>) -> Transformed<T, DAffine3>
fn from(value: Transformed<T, Translation>) -> Transformed<T, DAffine3>
Source§impl<T, G> Interpolatable for Transformed<T, G>where
T: Interpolatable,
G: Interpolatable,
impl<T, G> Interpolatable for Transformed<T, G>where
T: Interpolatable,
G: Interpolatable,
Source§fn lerp(&self, target: &Transformed<T, G>, t: f64) -> Transformed<T, G>
fn lerp(&self, target: &Transformed<T, G>, t: f64) -> Transformed<T, G>
Source§impl<T, G> Locate<Transformed<T, G>> for Centroid
impl<T, G> Locate<Transformed<T, G>> for Centroid
Source§fn locate(&self, target: &Transformed<T, G>) -> DVec3
fn locate(&self, target: &Transformed<T, G>) -> DVec3
Source§impl<T, G> Locate<Transformed<T, G>> for Origin
impl<T, G> Locate<Transformed<T, G>> for Origin
Source§fn locate(&self, target: &Transformed<T, G>) -> DVec3
fn locate(&self, target: &Transformed<T, G>) -> DVec3
Source§impl<T, G> Locate<Transformed<T, G>> for Focus
impl<T, G> Locate<Transformed<T, G>> for Focus
Source§fn locate(&self, target: &Transformed<T, G>) -> DVec3
fn locate(&self, target: &Transformed<T, G>) -> DVec3
Source§impl<T, G> Opacity for Transformed<T, G>where
T: Opacity,
impl<T, G> Opacity for Transformed<T, G>where
T: Opacity,
Source§fn set_opacity(&mut self, opacity: f32) -> &mut Transformed<T, G>
fn set_opacity(&mut self, opacity: f32) -> &mut Transformed<T, G>
Source§impl<T, G> Partial for Transformed<T, G>
impl<T, G> Partial for Transformed<T, G>
Source§fn get_partial(&self, range: Range<f64>) -> Transformed<T, G>
fn get_partial(&self, range: Range<f64>) -> Transformed<T, G>
Take a partial slice of the wrapped item, keeping the pose.
The range is forwarded to inner, so the partial geometry is taken in
the item’s own coordinates, while the stored transform G is cloned
unchanged. The wrapper therefore keeps its placement while the visible
geometry grows from the slice, which is what create-style animations
expect.
Source§fn get_partial_closed(&self, range: Range<f64>) -> Transformed<T, G>
fn get_partial_closed(&self, range: Range<f64>) -> Transformed<T, G>
Take a closed partial slice of the wrapped item, keeping the pose.
Like get_partial, but the inner slice is closed
so partially shown curves have caps at both ends; the wrapper’s
transform is preserved.
Source§impl<T, G> PartialEq for Transformed<T, G>
impl<T, G> PartialEq for Transformed<T, G>
Source§impl<I, G> PlacedLeaves<I, G> for Transformed<Node<I, G>, G>
impl<I, G> PlacedLeaves<I, G> for Transformed<Node<I, G>, G>
Source§impl<T, G> StrokeColor for Transformed<T, G>where
T: StrokeColor,
impl<T, G> StrokeColor for Transformed<T, G>where
T: StrokeColor,
Source§fn stroke_color(&self) -> AlphaColor<Srgb>
fn stroke_color(&self) -> AlphaColor<Srgb>
Source§fn set_stroke_color(
&mut self,
color: AlphaColor<Srgb>,
) -> &mut Transformed<T, G>
fn set_stroke_color( &mut self, color: AlphaColor<Srgb>, ) -> &mut Transformed<T, G>
Source§fn set_stroke_opacity(&mut self, opacity: f32) -> &mut Transformed<T, G>
fn set_stroke_opacity(&mut self, opacity: f32) -> &mut Transformed<T, G>
Source§impl<T, G> StrokeWidth for Transformed<T, G>where
T: StrokeWidth,
impl<T, G> StrokeWidth for Transformed<T, G>where
T: StrokeWidth,
Source§fn stroke_width(&self) -> f32
fn stroke_width(&self) -> f32
Source§fn apply_stroke_func(
&mut self,
f: impl for<'a> Fn(&'a mut [Width]),
) -> &mut Transformed<T, G>
fn apply_stroke_func( &mut self, f: impl for<'a> Fn(&'a mut [Width]), ) -> &mut Transformed<T, G>
Source§fn set_stroke_width(&mut self, width: f32) -> &mut Self
fn set_stroke_width(&mut self, width: f32) -> &mut Self
impl<T, G> StructuralPartialEq for Transformed<T, G>
Auto Trait Implementations§
impl<T, G> Freeze for Transformed<T, G>
impl<T, G> RefUnwindSafe for Transformed<T, G>where
T: RefUnwindSafe,
G: RefUnwindSafe,
impl<T, G> Send for Transformed<T, G>
impl<T, G> Sync for Transformed<T, G>
impl<T, G> Unpin for Transformed<T, G>
impl<T, G> UnsafeUnpin for Transformed<T, G>where
T: UnsafeUnpin,
G: UnsafeUnpin,
impl<T, G> UnwindSafe for Transformed<T, G>where
T: UnwindSafe,
G: UnwindSafe,
Blanket Implementations§
Source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
Source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
Source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
impl<T> AnyExtractCoreItem for T
Source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
Source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
Source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
Source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
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<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
Source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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<T> Color for T
impl<T> Color for T
Source§fn set_color(&mut self, color: AlphaColor<Srgb>) -> &mut Self
fn set_color(&mut self, color: AlphaColor<Srgb>) -> &mut Self
Source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
Source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
impl<T> ConditionalSend for Twhere
T: Send,
Source§impl<T> CreationAnim<T> for Twhere
T: CreationRequirement + 'static,
impl<T> CreationAnim<T> for Twhere
T: CreationRequirement + 'static,
impl<T> CreationRequirement for T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> FadingAnim for Twhere
T: FadingRequirement + 'static,
impl<T> FadingAnim for Twhere
T: FadingRequirement + 'static,
impl<T> FadingRequirement for T
Source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
Source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
angle.§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
Source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
other into Self, while performing the appropriate scaling,
rounding and clamping.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
Source§fn into_angle(self) -> U
fn into_angle(self) -> U
T.Source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
Source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
Source§fn into_color(self) -> U
fn into_color(self) -> U
Source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
Source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
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§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
§fn into_result(self) -> Result<T, RunSystemError>
fn into_result(self) -> Result<T, RunSystemError>
§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self into T, while performing the appropriate scaling,
rounding and clamping.Source§impl<T> MorphAnim for Twhere
T: MorphRequirement + 'static,
impl<T> MorphAnim for Twhere
T: MorphRequirement + 'static,
impl<T> MorphRequirement for T
Source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> RotateTransform for T
impl<T> RotateTransform for T
Source§fn rotate_on_axis(&mut self, axis: DVec3, angle: f64) -> &mut T
fn rotate_on_axis(&mut self, axis: DVec3, angle: f64) -> &mut T
Source§fn rotate_on_x(&mut self, angle: f64) -> &mut Self
fn rotate_on_x(&mut self, angle: f64) -> &mut Self
Source§fn rotate_on_y(&mut self, angle: f64) -> &mut Self
fn rotate_on_y(&mut self, angle: f64) -> &mut Self
Source§fn rotate_on_z(&mut self, angle: f64) -> &mut Self
fn rotate_on_z(&mut self, angle: f64) -> &mut Self
Source§impl<T> RotatingAnim for Twhere
T: RotatingRequirement + 'static,
impl<T> RotatingAnim for Twhere
T: RotatingRequirement + 'static,
Source§fn rotating(&mut self, angle: f64, axis: DVec3) -> RotatingAnimation<Self>where
Self: Aabb,
fn rotating(&mut self, angle: f64, axis: DVec3) -> RotatingAnimation<Self>where
Self: Aabb,
Source§fn rotating_at<A>(
&mut self,
angle: f64,
axis: DVec3,
anchor: A,
) -> RotatingAnimation<Self>where
A: Locate<Self>,
fn rotating_at<A>(
&mut self,
angle: f64,
axis: DVec3,
anchor: A,
) -> RotatingAnimation<Self>where
A: Locate<Self>,
impl<T> RotatingRequirement for T
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Source§impl<T> ScaleTransform for T
impl<T> ScaleTransform for T
Source§impl<T> ScaleTransformExt for Twhere
T: ScaleTransform + ?Sized,
impl<T> ScaleTransformExt for Twhere
T: ScaleTransform + ?Sized,
Source§fn calc_scale_ratio(&self, hint: ScaleHint) -> DVec3where
Self: Aabb,
fn calc_scale_ratio(&self, hint: ScaleHint) -> DVec3where
Self: Aabb,
Source§fn scale_to(&mut self, hint: ScaleHint) -> &mut Selfwhere
Self: Aabb,
fn scale_to(&mut self, hint: ScaleHint) -> &mut Selfwhere
Self: Aabb,
Source§impl<T> ScaleTransformStrokeExt for T
impl<T> ScaleTransformStrokeExt for T
Source§fn scale_with_stroke(&mut self, scale: DVec3) -> &mut Self
fn scale_with_stroke(&mut self, scale: DVec3) -> &mut Self
impl<T> SerializableAny for T
Source§impl<T> ShiftTransform for T
impl<T> ShiftTransform for T
Source§impl<T> ShiftTransformExt for Twhere
T: ShiftTransform + ?Sized,
impl<T> ShiftTransformExt for Twhere
T: ShiftTransform + ?Sized,
Source§fn with_origin(
&mut self,
p: impl Locate<Self>,
f: impl FnOnce(&mut Self),
) -> &mut Self
fn with_origin( &mut self, p: impl Locate<Self>, f: impl FnOnce(&mut Self), ) -> &mut Self
Source§fn move_anchor_to<A>(&mut self, anchor: A, point: DVec3) -> &mut Selfwhere
A: Locate<Self>,
fn move_anchor_to<A>(&mut self, anchor: A, point: DVec3) -> &mut Selfwhere
A: Locate<Self>,
Source§fn move_next_to<T>(&mut self, target: &T, anchor: AabbPoint) -> &mut Self
fn move_next_to<T>(&mut self, target: &T, anchor: AabbPoint) -> &mut Self
§impl<F, T, S> SimdInto<T, S> for Fwhere
T: SimdFrom<F, S>,
S: Simd,
impl<F, T, S> SimdInto<T, S> for Fwhere
T: SimdFrom<F, S>,
S: Simd,
Source§impl<T> StaticAnim for Twhere
T: StaticAnimRequirement + 'static,
impl<T> StaticAnim for Twhere
T: StaticAnimRequirement + 'static,
impl<T> StaticAnimRequirement for Twhere
T: Clone + AnyExtractCoreItem,
Source§impl<T> StrictAs for T
impl<T> StrictAs for T
Source§fn strict_as<Dst>(self) -> Dstwhere
T: StrictCast<Dst>,
fn strict_as<Dst>(self) -> Dstwhere
T: StrictCast<Dst>,
Source§impl<Src, Dst> StrictCastFrom<Src> for Dstwhere
Src: StrictCast<Dst>,
impl<Src, Dst> StrictCastFrom<Src> for Dstwhere
Src: StrictCast<Dst>,
Source§fn strict_cast_from(src: Src) -> Dst
fn strict_cast_from(src: Src) -> Dst
§impl<T, U> ToSample<U> for Twhere
U: FromSample<T>,
impl<T, U> ToSample<U> for Twhere
U: FromSample<T>,
fn to_sample_(self) -> U
Source§impl<T> TransformedExt for T
impl<T> TransformedExt for T
Source§fn transformed<G>(self, transform: G) -> Transformed<Self, G>
fn transformed<G>(self, transform: G) -> Transformed<Self, G>
self wrapped with transform stored exactly as G.Source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
Source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
try_into_colors fails to cast.Source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
Source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
Source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
OutOfBounds error is returned which contains
the unclamped color. Read moreSource§impl<C, U> UintsFrom<C> for Uwhere
C: IntoUints<U>,
impl<C, U> UintsFrom<C> for Uwhere
C: IntoUints<U>,
Source§fn uints_from(colors: C) -> U
fn uints_from(colors: C) -> U
Source§impl<C, U> UintsInto<C> for Uwhere
C: FromUints<U>,
impl<C, U> UintsInto<C> for Uwhere
C: FromUints<U>,
Source§fn uints_into(self) -> C
fn uints_into(self) -> C
Source§impl<T> UniformScaleTransform for T
impl<T> UniformScaleTransform for T
Source§fn scale_uniform(&mut self, s: f64) -> &mut T
fn scale_uniform(&mut self, s: f64) -> &mut T
s (at origin).