use crate::prelude::*;
#[derive(Clone, Copy, Debug, TypeUlid)]
#[ulid = "01GNFQWJWWXJJEXZQEDQJWZQWP"]
#[repr(C)]
pub struct Transform {
pub translation: Vec3,
pub rotation: Quat,
pub scale: Vec3,
}
impl Default for Transform {
fn default() -> Self {
Self {
translation: Default::default(),
rotation: Default::default(),
scale: Vec3::ONE,
}
}
}
impl Transform {
pub fn from_translation(translation: Vec3) -> Self {
Self {
translation,
..default()
}
}
pub fn from_rotation(rotation: Quat) -> Self {
Self {
rotation,
..default()
}
}
pub fn from_scale(scale: Vec3) -> Self {
Self { scale, ..default() }
}
}