11#ifndef CUBBYFLOW_RAY_HPP
12#define CUBBYFLOW_RAY_HPP
24template <
typename T,
size_t N>
28 static_assert(N > 0,
"Dimension should be greater than 0");
29 static_assert(std::is_floating_point<T>::value,
30 "Ray only can be instantiated with floating point types");
Class for N-D ray.
Definition Ray.hpp:26
Ray(Ray &&other) noexcept
Move constructor.
VectorType direction
The direction of the ray.
Definition Ray.hpp:38
Ray(const Ray &other)
Copy constructor.
~Ray()=default
Default destructor.
VectorType origin
The origin of the ray.
Definition Ray.hpp:35
Ray & operator=(const Ray &other)
Copy assignment operator.
VectorType PointAt(T t) const
Returns a point on the ray at distance t.
Definition Ray-Impl.hpp:42
Ray()
Constructs an empty ray that points (1, 0, ...) from (0, 0, ...).
Definition Ray-Impl.hpp:17
Ray & operator=(Ray &&other) noexcept
Move assignment operator.
Definition pybind11Utils.hpp:22