use nalgebra::{Isometry2, Similarity2};
#[derive(Copy, Clone, PartialEq, Debug, Default, bytemuck::Pod, bytemuck::Zeroable)]
#[repr(C)]
pub struct GpuSim2 {
pub similarity: Similarity2<f32>,
pub padding: f32,
}
impl From<Similarity2<f32>> for GpuSim2 {
fn from(value: Similarity2<f32>) -> Self {
Self {
similarity: value,
padding: 0.0,
}
}
}
impl From<Isometry2<f32>> for GpuSim2 {
fn from(value: Isometry2<f32>) -> Self {
Self {
similarity: Similarity2::from_isometry(value, 1.0),
padding: 0.0,
}
}
}
impl GpuSim2 {
pub fn identity() -> Self {
Similarity2::identity().into()
}
}