libcruft-util/test/geom/ray.cpp

33 lines
851 B
C++
Raw Permalink Normal View History

#include <cruft/util/geom/aabb.hpp>
#include <cruft/util/geom/plane.hpp>
#include <cruft/util/geom/ray.hpp>
#include <cruft/util/geom/iostream.hpp>
#include <cruft/util/tap.hpp>
2015-02-19 13:28:56 +11:00
using cruft::geom::ray2f;
using cruft::geom::ray3f;
2015-03-07 03:20:50 +11:00
2015-04-13 21:47:37 +10:00
//-----------------------------------------------------------------------------
2015-03-07 03:20:50 +11:00
void
test_intersect_plane (cruft::TAP::logger &tap)
2015-02-19 13:28:56 +11:00
{
2015-03-11 22:31:35 +11:00
// trivial case: origin ray facing z, plane at unit z facing -z.
const cruft::geom::ray3f l { .origin = 0, .direction = {0, 0, 1} };
const cruft::geom::plane3f p (cruft::point3f {0,0,1}, cruft::vector3f {0,0,-1});
2015-02-19 13:28:56 +11:00
tap.expect_eq (distance (l, p), 1.f, "ray-plane intersect");
2015-02-19 13:28:56 +11:00
}
2015-03-07 03:20:50 +11:00
2015-04-13 21:47:37 +10:00
//-----------------------------------------------------------------------------
2015-03-07 03:20:50 +11:00
int
main (void)
{
cruft::TAP::logger tap;
2015-04-13 21:47:37 +10:00
test_intersect_plane (tap);
return tap.status ();
2015-03-07 03:20:50 +11:00
}