Tatooine
ray_intersectable.h
Go to the documentation of this file.
1#ifndef TATOOINE_RAY_INTERSECTABLE_H
2#define TATOOINE_RAY_INTERSECTABLE_H
3//==============================================================================
5#include <tatooine/ray.h>
6//==============================================================================
7namespace tatooine {
8//==============================================================================
9template <typename Real, std::size_t NumDimensions>
11 using real_type = Real;
12 static_assert(is_floating_point<real_type>);
14 using optional_intersection_type = std::optional<intersection_type>;
16
17 //============================================================================
18 virtual ~ray_intersectable() = default;
19 //============================================================================
20 virtual auto check_intersection(ray_type const& r,
21 real_type const min_t) const
23};
24//==============================================================================
25} // namespace tatooine
26//==============================================================================
27#endif
Definition: algorithm.h:6
Definition: intersection.h:13
Definition: ray_intersectable.h:10
virtual ~ray_intersectable()=default
std::optional< intersection_type > optional_intersection_type
Definition: ray_intersectable.h:14
virtual auto check_intersection(ray_type const &r, real_type const min_t) const -> optional_intersection_type=0
Real real_type
Definition: ray_intersectable.h:11
Definition: ray.h:10