Type Alias oxygengine_ha_renderer::math::Transform
source · pub type Transform = Transform<Scalar, Scalar, Scalar>;Aliased Type§
struct Transform {
pub position: Vec3<f32>,
pub orientation: Quaternion<f32>,
pub scale: Vec3<f32>,
}Fields§
§position: Vec3<f32>Local position.
orientation: Quaternion<f32>Local orientation; It is not named rotation because rotation denotes an
operation, but not a current state.
scale: Vec3<f32>Local scale.
Trait Implementations§
source§impl<P, O, S> Default for Transform<P, O, S>where
P: Zero,
O: Zero + One,
S: One,
impl<P, O, S> Default for Transform<P, O, S>where P: Zero, O: Zero + One, S: One,
The default Transform has a zero position, identity orientation and unit scale.
let a = Transform {
position: Vec3::<f32>::zero(),
orientation: Quaternion::<f32>::identity(),
scale: Vec3::<f32>::one(),
};
assert_eq!(a, Transform::default());source§impl<'de, P, O, S> Deserialize<'de> for Transform<P, O, S>where
P: Deserialize<'de>,
O: Deserialize<'de>,
S: Deserialize<'de>,
impl<'de, P, O, S> Deserialize<'de> for Transform<P, O, S>where P: Deserialize<'de>, O: Deserialize<'de>, S: Deserialize<'de>,
source§fn deserialize<__D>(
__deserializer: __D
) -> Result<Transform<P, O, S>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>( __deserializer: __D ) -> Result<Transform<P, O, S>, <__D as Deserializer<'de>>::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl<P, O, S, Factor> Lerp<Factor> for Transform<P, O, S>where
Factor: Copy + Into<O>,
P: Lerp<Factor, Output = P>,
S: Lerp<Factor, Output = S>,
O: Lerp<O, Output = O> + Real<Output = O> + Add<O>,
impl<P, O, S, Factor> Lerp<Factor> for Transform<P, O, S>where Factor: Copy + Into<O>, P: Lerp<Factor, Output = P>, S: Lerp<Factor, Output = S>, O: Lerp<O, Output = O> + Real<Output = O> + Add<O>,
LERP on a Transform is defined as LERP-ing between the positions and scales,
and performing SLERP between the orientations.
source§fn lerp_unclamped(
a: Transform<P, O, S>,
b: Transform<P, O, S>,
t: Factor
) -> Transform<P, O, S>
fn lerp_unclamped( a: Transform<P, O, S>, b: Transform<P, O, S>, t: Factor ) -> Transform<P, O, S>
Returns the linear interpolation of
from to to with factor unconstrained,
using the supposedly fastest but less precise implementation. Read moresource§fn lerp_unclamped_precise(
a: Transform<P, O, S>,
b: Transform<P, O, S>,
t: Factor
) -> Transform<P, O, S>
fn lerp_unclamped_precise( a: Transform<P, O, S>, b: Transform<P, O, S>, t: Factor ) -> Transform<P, O, S>
Returns the linear interpolation of
from to to with factor unconstrained,
using a possibly slower but more precise operation. Read moresource§fn lerp_unclamped_inclusive_range(
range: RangeInclusive<Self>,
factor: Factor
) -> Self::Output
fn lerp_unclamped_inclusive_range( range: RangeInclusive<Self>, factor: Factor ) -> Self::Output
Version of
lerp_unclamped() that used a single RangeInclusive parameter instead of two values.source§fn lerp_unclamped_precise_inclusive_range(
range: RangeInclusive<Self>,
factor: Factor
) -> Self::Output
fn lerp_unclamped_precise_inclusive_range( range: RangeInclusive<Self>, factor: Factor ) -> Self::Output
Version of
lerp_unclamped_precise() that used a single RangeInclusive parameter instead of two values.source§impl<P, O, S> PartialEq<Transform<P, O, S>> for Transform<P, O, S>where
P: PartialEq<P>,
O: PartialEq<O>,
S: PartialEq<S>,
impl<P, O, S> PartialEq<Transform<P, O, S>> for Transform<P, O, S>where P: PartialEq<P>, O: PartialEq<O>, S: PartialEq<S>,
source§impl<P, O, S> Serialize for Transform<P, O, S>where
P: Serialize,
O: Serialize,
S: Serialize,
impl<P, O, S> Serialize for Transform<P, O, S>where P: Serialize, O: Serialize, S: Serialize,
source§fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where __S: Serializer,
Serialize this value into the given Serde serializer. Read more