geom/ray: add matrix multiply operator
This commit is contained in:
parent
42ab7543a7
commit
05b1c2dd80
11
geom/ray.cpp
11
geom/ray.cpp
@ -44,6 +44,17 @@ ray<S,T>::at (T t) const
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
util::geom::ray3f
|
||||
util::geom::operator* (util::matrix4f lhs, ray3f rhs)
|
||||
{
|
||||
return {
|
||||
(lhs * rhs.origin.homog<4> ()).redim<3> (),
|
||||
(lhs * rhs.direction.homog<4> ()).redim<3> ()
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
template <size_t S, typename T>
|
||||
std::ostream&
|
||||
|
@ -66,6 +66,11 @@ namespace util::geom {
|
||||
typedef ray<3,float> ray3f;
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
ray3f
|
||||
operator* (matrix4f, ray3f);
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
/// returns the distance along the ray in a ray-plane intersection
|
||||
///
|
||||
|
Loading…
Reference in New Issue
Block a user