Tatooine
Public Types | Public Member Functions | List of all members
tatooine::detail::aabb_ray_intersectable_parent< AABB, Real, NumDimensions > Struct Template Reference

#include <axis_aligned_bounding_box.h>

Inheritance diagram for tatooine::detail::aabb_ray_intersectable_parent< AABB, Real, NumDimensions >:
[legend]
Collaboration diagram for tatooine::detail::aabb_ray_intersectable_parent< AABB, Real, NumDimensions >:
[legend]

Public Types

using parent_type = ray_intersectable< Real, NumDimensions >
 
using intersection_type = intersection< real_type, NumDimensions >
 
using optional_intersection_type = std::optional< intersection_type >
 
using ray_type = ray< real_type, NumDimensions >
 
- Public Types inherited from tatooine::ray_intersectable< Real, NumDimensions >
using real_type = Real
 
using intersection_type = intersection< real_type, NumDimensions >
 
using optional_intersection_type = std::optional< intersection_type >
 
using ray_type = ray< real_type, NumDimensions >
 

Public Member Functions

auto as_aabb () const -> auto const &
 
auto check_intersection (ray_type const &r, Real const =0) const -> optional_intersection_type override
 
- Public Member Functions inherited from tatooine::ray_intersectable< Real, NumDimensions >
virtual ~ray_intersectable ()=default
 
virtual auto check_intersection (ray_type const &r, real_type const min_t) const -> optional_intersection_type=0
 

Member Typedef Documentation

◆ intersection_type

template<typename AABB , typename Real , std::size_t NumDimensions>
using tatooine::ray_intersectable< Real, NumDimensions >::intersection_type = intersection<real_type, NumDimensions>

◆ optional_intersection_type

template<typename AABB , typename Real , std::size_t NumDimensions>
using tatooine::ray_intersectable< Real, NumDimensions >::optional_intersection_type = std::optional<intersection_type>

◆ parent_type

template<typename AABB , typename Real , std::size_t NumDimensions>
using tatooine::detail::aabb_ray_intersectable_parent< AABB, Real, NumDimensions >::parent_type = ray_intersectable<Real, NumDimensions>

◆ ray_type

template<typename AABB , typename Real , std::size_t NumDimensions>
using tatooine::ray_intersectable< Real, NumDimensions >::ray_type = ray<real_type, NumDimensions>

Member Function Documentation

◆ as_aabb()

template<typename AABB , typename Real , std::size_t NumDimensions>
auto tatooine::detail::aabb_ray_intersectable_parent< AABB, Real, NumDimensions >::as_aabb ( ) const -> auto const&
inline

◆ check_intersection()

template<typename AABB , typename Real , std::size_t NumDimensions>
auto tatooine::detail::aabb_ray_intersectable_parent< AABB, Real, NumDimensions >::check_intersection ( ray_type const &  r,
Real const  = 0 
) const -> optional_intersection_type
inlineoverridevirtual

The documentation for this struct was generated from the following file: