在使用两个NAlgebra向量创建结构时遇到特征问题

时间:2018-06-09 04:20:50

标签: rust linear algebra

我正在研究光线跟踪器,我创建了一个Ray结构:

#[derive(Clone, Copy, Debug)]
pub struct Ray<N: PartialEq + Copy + Debug> {
    pub origin: Vector3<N>,
    pub direction: Vector3<N>,
}

我有一个函数来获取具有方向向量的光线的坐标,我将其定义为以下因素:

pub fn point_at_param<T>(&self, delta: T) -> Vector3<T>
where
    T: NumOps,
{
    self.origin + (delta * self.direction)
}

编译器会抛出一些错误,即我不符合PartialEqCopyDebug的要求。它还希望我将N标记为静态,但我不确定为什么要这样做,因为我不希望每个向量都是静态的。

我只希望point_at_param函数与T一起使用,其中T与NumOps

有界

0 个答案:

没有答案