pub struct Transform { /* private fields */ }Expand description
See module docs.
Implementations§
Source§impl Transform
impl Transform
pub const LOCAL_SCALE: &'static str = "local_scale"
pub const LOCAL_POSITION: &'static str = "local_position"
pub const LOCAL_ROTATION: &'static str = "local_rotation"
pub const PRE_ROTATION: &'static str = "pre_rotation"
pub const POST_ROTATION: &'static str = "post_rotation"
pub const ROTATION_OFFSET: &'static str = "rotation_offset"
pub const ROTATION_PIVOT: &'static str = "rotation_pivot"
pub const SCALING_OFFSET: &'static str = "scaling_offset"
pub const SCALING_PIVOT: &'static str = "scaling_pivot"
Source§impl Transform
impl Transform
Sourcepub fn identity() -> Self
pub fn identity() -> Self
Creates new transform that has no effect, in other words any vector or matrix will remain unchanged if combined with identity transform.
Sourcepub fn position(&self) -> &InheritableVariable<Vector3<f32>>
pub fn position(&self) -> &InheritableVariable<Vector3<f32>>
Returns current position of transform.
Sourcepub fn set_position(&mut self, local_position: Vector3<f32>) -> &mut Self
pub fn set_position(&mut self, local_position: Vector3<f32>) -> &mut Self
Sets position of transform.
Sourcepub fn rotation(&self) -> &InheritableVariable<UnitQuaternion<f32>>
pub fn rotation(&self) -> &InheritableVariable<UnitQuaternion<f32>>
Returns current rotation quaternion of transform.
Sourcepub fn set_rotation(&mut self, local_rotation: UnitQuaternion<f32>) -> &mut Self
pub fn set_rotation(&mut self, local_rotation: UnitQuaternion<f32>) -> &mut Self
Sets rotation of transform.
Sourcepub fn scale(&self) -> &InheritableVariable<Vector3<f32>>
pub fn scale(&self) -> &InheritableVariable<Vector3<f32>>
Returns current scale factor of transform.
Sourcepub fn set_pre_rotation(
&mut self,
pre_rotation: UnitQuaternion<f32>,
) -> &mut Self
pub fn set_pre_rotation( &mut self, pre_rotation: UnitQuaternion<f32>, ) -> &mut Self
Sets pre-rotation of transform. Usually pre-rotation can be used to change “coordinate” system of transform. It is mostly for FBX compatibility, and never used in other places of engine.
Sourcepub fn pre_rotation(&self) -> &InheritableVariable<UnitQuaternion<f32>>
pub fn pre_rotation(&self) -> &InheritableVariable<UnitQuaternion<f32>>
Returns current pre-rotation of transform.
Sourcepub fn set_post_rotation(
&mut self,
post_rotation: UnitQuaternion<f32>,
) -> &mut Self
pub fn set_post_rotation( &mut self, post_rotation: UnitQuaternion<f32>, ) -> &mut Self
Sets post-rotation of transform. Usually post-rotation can be used to change “coordinate” system of transform. It is mostly for FBX compatibility, and never used in other places of engine.
Sourcepub fn post_rotation(&self) -> &InheritableVariable<UnitQuaternion<f32>>
pub fn post_rotation(&self) -> &InheritableVariable<UnitQuaternion<f32>>
Returns current post-rotation of transform.
Sourcepub fn set_rotation_offset(
&mut self,
rotation_offset: Vector3<f32>,
) -> &mut Self
pub fn set_rotation_offset( &mut self, rotation_offset: Vector3<f32>, ) -> &mut Self
Sets rotation offset of transform. Moves rotation pivot using given vector, it results in rotation being performed around rotation pivot with some offset.
Sourcepub fn rotation_offset(&self) -> &InheritableVariable<Vector3<f32>>
pub fn rotation_offset(&self) -> &InheritableVariable<Vector3<f32>>
Returns current rotation offset of transform.
Sourcepub fn set_rotation_pivot(&mut self, rotation_pivot: Vector3<f32>) -> &mut Self
pub fn set_rotation_pivot(&mut self, rotation_pivot: Vector3<f32>) -> &mut Self
Sets rotation pivot of transform. This method sets a point around which all rotations will be performed. For example it can be used to rotate a cube around its vertex.
Sourcepub fn rotation_pivot(&self) -> &InheritableVariable<Vector3<f32>>
pub fn rotation_pivot(&self) -> &InheritableVariable<Vector3<f32>>
Returns current rotation pivot of transform.
Sourcepub fn set_scaling_offset(&mut self, scaling_offset: Vector3<f32>) -> &mut Self
pub fn set_scaling_offset(&mut self, scaling_offset: Vector3<f32>) -> &mut Self
Sets scaling offset. Scaling offset defines offset from position of scaling pivot.
Sourcepub fn scaling_offset(&self) -> &InheritableVariable<Vector3<f32>>
pub fn scaling_offset(&self) -> &InheritableVariable<Vector3<f32>>
Returns current scaling offset of transform.
Sourcepub fn set_scaling_pivot(&mut self, scaling_pivot: Vector3<f32>) -> &mut Self
pub fn set_scaling_pivot(&mut self, scaling_pivot: Vector3<f32>) -> &mut Self
Sets scaling pivot. Scaling pivot sets a point around which scale will be performed.
Sourcepub fn scaling_pivot(&self) -> &InheritableVariable<Vector3<f32>>
pub fn scaling_pivot(&self) -> &InheritableVariable<Vector3<f32>>
Returns current scaling pivot of transform.
Trait Implementations§
Source§impl Reflect for Transformwhere
Self: 'static,
impl Reflect for Transformwhere
Self: 'static,
fn source_path() -> &'static str
fn try_clone_box(&self) -> Option<Box<dyn Reflect>>
fn type_name(&self) -> &'static str
fn derived_types() -> &'static [TypeId]
fn query_derived_types(&self) -> &'static [TypeId]
fn doc(&self) -> &'static str
Source§fn assembly_name(&self) -> &'static str
fn assembly_name(&self) -> &'static str
#[derive(Reflect)]) to ensure that this method will return correct assembly
name. In other words - there’s no guarantee, that any implementation other than proc-macro
will return a correct name of the assembly. Alternatively, you can use env!("CARGO_PKG_NAME")
as an implementation.Source§fn type_assembly_name() -> &'static str
fn type_assembly_name() -> &'static str
#[derive(Reflect)]) to ensure that this method will return correct assembly
name. In other words - there’s no guarantee, that any implementation other than proc-macro
will return a correct name of the assembly. Alternatively, you can use env!("CARGO_PKG_NAME")
as an implementation.fn fields_ref(&self, func: &mut dyn FnMut(&[FieldRef<'_, '_>]))
fn fields_mut(&mut self, func: &mut dyn FnMut(&mut [FieldMut<'_, '_>]))
fn into_any(self: Box<Self>) -> Box<dyn Any>
fn set( &mut self, value: Box<dyn Reflect>, ) -> Result<Box<dyn Reflect>, Box<dyn Reflect>>
Source§fn set_field(
&mut self,
name: &str,
value: Box<dyn Reflect>,
func: &mut dyn FnMut(Result<Box<dyn Reflect>, SetFieldError>),
)
fn set_field( &mut self, name: &str, value: Box<dyn Reflect>, func: &mut dyn FnMut(Result<Box<dyn Reflect>, SetFieldError>), )
#[reflect(setter = ..)] or falls back to
Reflect::field_mutfn as_any(&self, func: &mut dyn FnMut(&dyn Any))
fn as_any_mut(&mut self, func: &mut dyn FnMut(&mut dyn Any))
fn as_reflect(&self, func: &mut dyn FnMut(&dyn Reflect))
fn as_reflect_mut(&mut self, func: &mut dyn FnMut(&mut dyn Reflect))
fn field( &self, name: &str, func: &mut dyn FnMut(Option<&(dyn Reflect + 'static)>), )
fn field_mut( &mut self, name: &str, func: &mut dyn FnMut(Option<&mut (dyn Reflect + 'static)>), )
fn as_array(&self, func: &mut dyn FnMut(Option<&(dyn ReflectArray + 'static)>))
fn as_array_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectArray + 'static)>), )
fn as_list(&self, func: &mut dyn FnMut(Option<&(dyn ReflectList + 'static)>))
fn as_list_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectList + 'static)>), )
fn as_inheritable_variable( &self, func: &mut dyn FnMut(Option<&(dyn ReflectInheritableVariable + 'static)>), )
fn as_inheritable_variable_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectInheritableVariable + 'static)>), )
fn as_hash_map( &self, func: &mut dyn FnMut(Option<&(dyn ReflectHashMap + 'static)>), )
fn as_hash_map_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectHashMap + 'static)>), )
fn as_handle( &self, func: &mut dyn FnMut(Option<&(dyn ReflectHandle + 'static)>), )
fn as_handle_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectHandle + 'static)>), )
Auto Trait Implementations§
impl !Freeze for Transform
impl !RefUnwindSafe for Transform
impl Send for Transform
impl !Sync for Transform
impl Unpin for Transform
impl UnsafeUnpin for Transform
impl UnwindSafe for Transform
Blanket Implementations§
Source§impl<T> AsyncTaskResult for T
impl<T> AsyncTaskResult for T
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,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§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.Source§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.Source§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.Source§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.Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§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>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§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>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§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.Source§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.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> FieldValue for Twhere
T: Reflect,
impl<T> FieldValue for Twhere
T: Reflect,
Source§fn field_value_as_any_ref(&self) -> &(dyn Any + 'static)
fn field_value_as_any_ref(&self) -> &(dyn Any + 'static)
self to a &dyn AnySource§fn field_value_as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn field_value_as_any_mut(&mut self) -> &mut (dyn Any + 'static)
self to a &mut dyn Anyfn field_value_as_reflect(&self) -> &(dyn Reflect + 'static)
fn field_value_as_reflect_mut(&mut self) -> &mut (dyn Reflect + 'static)
fn type_name(&self) -> &'static str
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 moreSource§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, U> ObjectOrVariant<T> for Uwhere
PhantomData<U>: ObjectOrVariantHelper<T, U>,
impl<T, U> ObjectOrVariant<T> for Uwhere
PhantomData<U>: ObjectOrVariantHelper<T, U>,
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().Source§impl<T> ReflectBase for Twhere
T: Reflect,
impl<T> ReflectBase for Twhere
T: Reflect,
fn as_any_raw(&self) -> &(dyn Any + 'static)
fn as_any_raw_mut(&mut self) -> &mut (dyn Any + 'static)
Source§impl<T> ResolvePath for Twhere
T: Reflect,
impl<T> ResolvePath for Twhere
T: Reflect,
fn resolve_path<'p>( &self, path: &'p str, func: &mut dyn FnMut(Result<&(dyn Reflect + 'static), ReflectPathError<'p>>), )
fn resolve_path_mut<'p>( &mut self, path: &'p str, func: &mut dyn FnMut(Result<&mut (dyn Reflect + 'static), ReflectPathError<'p>>), )
fn get_resolve_path<'p, T>(
&self,
path: &'p str,
func: &mut dyn FnMut(Result<&T, ReflectPathError<'p>>),
)where
T: Reflect,
fn get_resolve_path_mut<'p, T>(
&mut self,
path: &'p str,
func: &mut dyn FnMut(Result<&mut T, ReflectPathError<'p>>),
)where
T: Reflect,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.