use bytes::{BytesMut, BufMut, Buf};
#[derive(Copy, Clone, Debug, Default)]
pub struct EulerAnglesRecord {
pub psi_field: f32,
pub theta_field: f32,
pub phi_field: f32
}
impl EulerAnglesRecord {
pub fn new(psi: f32, theta: f32, phi: f32) -> Self {
EulerAnglesRecord {
psi_field: psi,
theta_field: theta,
phi_field: phi
}
}
pub fn serialize(&self, buf: &mut BytesMut) {
buf.put_f32(self.psi_field);
buf.put_f32(self.theta_field);
buf.put_f32(self.phi_field);
}
pub fn decode(buf: &mut BytesMut) -> EulerAnglesRecord {
EulerAnglesRecord {
psi_field: buf.get_f32(),
theta_field: buf.get_f32(),
phi_field: buf.get_f32()
}
}
}