Add a method to transform Ray3 with 4x4 matrix
parent
5342437c79
commit
6e90626feb
|
@ -30,6 +30,15 @@ template<class T> class Ray3
|
||||||
return Ray3<T>(m * origin, m * direction);
|
return Ray3<T>(m * origin, m * direction);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Ray3<T> transform(const Eigen::Matrix<T, 4, 4>& m) const
|
||||||
|
{
|
||||||
|
Eigen::Matrix<T, 4, 1> o(Eigen::Matrix<T, 4, 1>::Ones());
|
||||||
|
o.head(3) = origin;
|
||||||
|
Eigen::Matrix<T, 4, 1> d(Eigen::Matrix<T, 4, 1>::Zero());
|
||||||
|
d.head(3) = direction;
|
||||||
|
return Ray3<T>((m * o).head(3), (m * d).head(3));
|
||||||
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Eigen::Matrix<T, 3, 1> origin;
|
Eigen::Matrix<T, 3, 1> origin;
|
||||||
Eigen::Matrix<T, 3, 1> direction;
|
Eigen::Matrix<T, 3, 1> direction;
|
||||||
|
|
Loading…
Reference in New Issue