pub struct NestedTransform { /* private fields */ }
Expand description
Manages scene heirarchy on the Stage
.
Can be created with
Stage::new_nested_transform
.
Clones all reference the same nested transform.
Implementations§
Source§impl NestedTransform
impl NestedTransform
Sourcepub fn local_translation(&self) -> Vec3
pub fn local_translation(&self) -> Vec3
Get the local translation of the transform.
Sourcepub fn modify_local_translation<T>(&self, f: impl FnOnce(&mut Vec3) -> T) -> T
pub fn modify_local_translation<T>(&self, f: impl FnOnce(&mut Vec3) -> T) -> T
Modify the local translation of the transform.
§Arguments
f
: A closure that takes a mutable reference to the translation vector and returns a value of typeT
.
Sourcepub fn set_local_translation(&self, translation: impl Into<Vec3>) -> &Self
pub fn set_local_translation(&self, translation: impl Into<Vec3>) -> &Self
Sourcepub fn with_local_translation(self, translation: impl Into<Vec3>) -> Self
pub fn with_local_translation(self, translation: impl Into<Vec3>) -> Self
Sourcepub fn local_rotation(&self) -> Quat
pub fn local_rotation(&self) -> Quat
Get the local rotation of the transform.
Sourcepub fn modify_local_rotation<T>(&self, f: impl FnOnce(&mut Quat) -> T) -> T
pub fn modify_local_rotation<T>(&self, f: impl FnOnce(&mut Quat) -> T) -> T
Modify the local rotation of the transform.
§Arguments
f
: A closure that takes a mutable reference to the rotation quaternion and returns a value of typeT
.
Sourcepub fn set_local_rotation(&self, rotation: impl Into<Quat>) -> &Self
pub fn set_local_rotation(&self, rotation: impl Into<Quat>) -> &Self
Set the local rotation of the transform.
§Arguments
rotation
: A quaternion representing the rotation.
Sourcepub fn with_local_rotation(self, rotation: impl Into<Quat>) -> Self
pub fn with_local_rotation(self, rotation: impl Into<Quat>) -> Self
Set the local rotation of the transform.
§Arguments
rotation
: A quaternion representing the rotation.
Sourcepub fn local_scale(&self) -> Vec3
pub fn local_scale(&self) -> Vec3
Get the local scale of the transform.
Sourcepub fn modify_local_scale<T>(&self, f: impl FnOnce(&mut Vec3) -> T) -> T
pub fn modify_local_scale<T>(&self, f: impl FnOnce(&mut Vec3) -> T) -> T
Modify the local scale of the transform.
§Arguments
f
: A closure that takes a mutable reference to the scale vector and returns a value of typeT
.
Sourcepub fn set_local_scale(&self, scale: impl Into<Vec3>) -> &Self
pub fn set_local_scale(&self, scale: impl Into<Vec3>) -> &Self
Sourcepub fn with_local_scale(self, scale: impl Into<Vec3>) -> Self
pub fn with_local_scale(self, scale: impl Into<Vec3>) -> Self
Sourcepub fn global_id(&self) -> Id<TransformDescriptor>
pub fn global_id(&self) -> Id<TransformDescriptor>
Return a pointer to the underlying descriptor data on the GPU.
The descriptor is the descriptor that describes the global transform.
Sourcepub fn global_descriptor(&self) -> TransformDescriptor
pub fn global_descriptor(&self) -> TransformDescriptor
Return the descriptor of the global transform.
This traverses the heirarchy and computes the result.
Sourcepub fn local_descriptor(&self) -> TransformDescriptor
pub fn local_descriptor(&self) -> TransformDescriptor
Return the descriptor of the local tarnsform.
Sourcepub fn hierarchy(&self) -> Vec<TransformDescriptor>
pub fn hierarchy(&self) -> Vec<TransformDescriptor>
Get a vector containing all the hierarchy’s transforms.
Starts with the root transform and ends with the local transform.
pub fn add_child(&self, node: &NestedTransform)
pub fn remove_child(&self, node: &NestedTransform)
Sourcepub fn parent(&self) -> Option<NestedTransform>
pub fn parent(&self) -> Option<NestedTransform>
Return a clone of the parent NestedTransform
, if any.
Trait Implementations§
Source§impl Clone for NestedTransform
impl Clone for NestedTransform
Source§fn clone(&self) -> NestedTransform
fn clone(&self) -> NestedTransform
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for NestedTransform
impl Debug for NestedTransform
Source§impl From<&NestedTransform> for SkinJoint
impl From<&NestedTransform> for SkinJoint
Source§fn from(value: &NestedTransform) -> Self
fn from(value: &NestedTransform) -> Self
Source§impl From<&NestedTransform> for Transform
impl From<&NestedTransform> for Transform
Source§fn from(value: &NestedTransform) -> Self
fn from(value: &NestedTransform) -> Self
Source§impl From<NestedTransform> for SkinJoint
impl From<NestedTransform> for SkinJoint
Source§fn from(value: NestedTransform) -> Self
fn from(value: NestedTransform) -> Self
Source§impl From<NestedTransform> for Transform
impl From<NestedTransform> for Transform
Source§fn from(value: NestedTransform) -> Self
fn from(value: NestedTransform) -> Self
Auto Trait Implementations§
impl Freeze for NestedTransform
impl RefUnwindSafe for NestedTransform
impl Send for NestedTransform
impl Sync for NestedTransform
impl Unpin for NestedTransform
impl UnwindSafe for NestedTransform
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling [Attribute
] value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
[Quirk
] value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the [Condition
] value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);