use std::ops::{Deref, DerefMut};
use crate::state::SpatialSensor;
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq, Hash)]
pub struct Gyro<V>(SpatialSensor<V>);
impl<V> Gyro<V> {
pub fn new(x: V, y: V, z: V) -> Gyro<V> {
Gyro(SpatialSensor { x, y, z })
}
}
impl<V> Deref for Gyro<V> {
type Target = SpatialSensor<V>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<V> DerefMut for Gyro<V> {
fn deref_mut(&mut self) -> &mut Self::Target {
&mut self.0
}
}