libcruft-util/test/geom/ray.cpp
Danny Robson f6056153e3 rename root namespace from util to cruft
This places, at long last, the core library code into the same namespace
as the extended library code.
2018-08-05 14:42:02 +10:00

33 lines
796 B
C++

#include "geom/aabb.hpp"
#include "geom/plane.hpp"
#include "geom/ray.hpp"
#include "geom/iostream.hpp"
#include "tap.hpp"
using cruft::geom::ray2f;
using cruft::geom::ray3f;
//-----------------------------------------------------------------------------
void
test_intersect_plane (cruft::TAP::logger &tap)
{
// 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});
tap.expect_eq (distance (l, p), 1.f, "ray-plane intersect");
}
//-----------------------------------------------------------------------------
int
main (void)
{
cruft::TAP::logger tap;
test_intersect_plane (tap);
return tap.status ();
}