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,
InheritableVariable<Vector3<f32>>: Reflect,
InheritableVariable<UnitQuaternion<f32>>: Reflect,
impl Reflect for Transformwhere
Self: 'static,
InheritableVariable<Vector3<f32>>: Reflect,
InheritableVariable<UnitQuaternion<f32>>: Reflect,
fn source_path() -> &'static str
fn type_name(&self) -> &'static str
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_info(&self, func: &mut dyn FnMut(&[FieldInfo<'_, '_>]))
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>, Box<dyn Reflect>>),
)
fn set_field( &mut self, name: &str, value: Box<dyn Reflect>, func: &mut dyn FnMut(Result<Box<dyn Reflect>, Box<dyn Reflect>>), )
#[reflect(setter = ..)]
or falls back to
Reflect::field_mut
fn 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 fields(&self, func: &mut dyn FnMut(&[&dyn Reflect]))
fn fields_mut(&mut self, func: &mut dyn FnMut(&mut [&mut dyn Reflect]))
fn field(&self, name: &str, func: &mut dyn FnMut(Option<&dyn Reflect>))
fn field_mut( &mut self, name: &str, func: &mut dyn FnMut(Option<&mut dyn Reflect>), )
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)>), )
Auto Trait Implementations§
impl !Freeze for Transform
impl !RefUnwindSafe for Transform
impl Send for Transform
impl !Sync for Transform
impl Unpin 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 as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Any
. Could be used to downcast a trait object
to a particular type.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Any
. Could be used to downcast a trait object
to a particular type.fn into_any(self: Box<T>) -> Box<dyn Any>
Source§impl<T> FieldValue for Twhere
T: 'static,
impl<T> FieldValue for Twhere
T: 'static,
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<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<T> ScriptMessagePayload for T
impl<T> ScriptMessagePayload for T
Source§fn as_any_ref(&self) -> &(dyn Any + 'static)
fn as_any_ref(&self) -> &(dyn Any + 'static)
self
as &dyn Any
Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
self
as &dyn Any
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.