use crate::base::{Float, Pose};
#[derive(Debug, Clone)]
pub struct Node<S, T: Float = f64> {
pub component: S,
pub local_offset: Pose<T>,
}
impl<S, T: Float> Node<S, T> {
pub fn new(component: S, local_offset: Pose<T>) -> Self {
Self {
component,
local_offset,
}
}
}
impl<S: Default, T: Float> Default for Node<S, T> {
fn default() -> Self {
Self {
component: S::default(),
local_offset: Pose::default(),
}
}
}
impl<S: PartialEq, T: Float> PartialEq for Node<S, T> {
fn eq(&self, other: &Self) -> bool {
self.component == other.component && self.local_offset == other.local_offset
}
}
impl<S: Eq, T: Float> Eq for Node<S, T> {}