physis/havok/
transform.rs

1// SPDX-FileCopyrightText: 2020 Inseok Lee
2// SPDX-License-Identifier: MIT
3
4use crate::havok::object::HavokReal;
5
6#[derive(Debug)]
7pub struct HavokTransform {
8    pub translation: [f32; 4],
9    pub rotation: [f32; 4],
10    pub scale: [f32; 4],
11}
12
13impl HavokTransform {
14    pub fn new(vec: &[HavokReal]) -> Self {
15        Self {
16            translation: [vec[0], vec[1], vec[2], vec[3]],
17            rotation: [vec[4], vec[5], vec[6], vec[7]],
18            scale: [vec[8], vec[9], vec[10], vec[11]],
19        }
20    }
21
22    pub fn from_trs(translation: [f32; 4], rotation: [f32; 4], scale: [f32; 4]) -> Self {
23        Self {
24            translation,
25            rotation,
26            scale,
27        }
28    }
29}