Antkeeper  0.0.1
Namespaces | Functions
intersection.hpp File Reference
#include <engine/geom/primitives/hyperplane.hpp>
#include <engine/geom/primitives/hyperrectangle.hpp>
#include <engine/geom/primitives/hypersphere.hpp>
#include <engine/geom/primitives/ray.hpp>
#include <algorithm>
#include <optional>

Go to the source code of this file.

Namespaces

 geom
 Geometric algorithms.
 

Functions

template<class T , std::size_t N>
std::optional< std::tuple< T, T > > geom::intersection (const ray< T, N > &ray, const hypersphere< T, N > &hypersphere) noexcept
 Ray-hypersphere intersection test. More...
 
template<class T , std::size_t N>
constexpr bool geom::intersection (const hyperrectangle< T, N > &a, const hyperrectangle< T, N > &b) noexcept
 Hyperrectangle-hyperrectangle intersection test. More...
 
template<class T , std::size_t N>
constexpr bool geom::intersection (const hypersphere< T, N > &a, const hypersphere< T, N > &b) noexcept
 Hypersphere-hypersphere intersection test. More...
 
template<class T , std::size_t N>
constexpr std::optional< T > geom::intersection (const ray< T, N > &ray, const hyperplane< T, N > &hyperplane) noexcept
 Ray-hyperplane intersection test. More...
 
template<class T , std::size_t N>
constexpr std::optional< T > geom::intersection (const hyperplane< T, N > &hyperplane, const ray< T, N > &ray) noexcept
 Ray-hyperplane intersection test. More...
 
template<class T , std::size_t N>
constexpr std::optional< std::tuple< T, T > > geom::intersection (const ray< T, N > &ray, const hyperrectangle< T, N > &hyperrectangle) noexcept
 Ray-hyperrectangle intersection test. More...
 
template<class T , std::size_t N>
constexpr std::optional< std::tuple< T, T > > geom::intersection (const hyperrectangle< T, N > &hyperrectangle, const ray< T, N > &ray) noexcept
 Ray-hyperrectangle intersection test. More...
 
template<class T >
constexpr std::optional< std::tuple< T, T, T > > geom::intersection (const ray< T, 3 > &ray, const math::vec3< T > &a, const math::vec3< T > &b, const math::vec3< T > &c) noexcept
 Ray-triangle intersection test. More...
 
template<class T >
constexpr std::optional< std::tuple< T, T, T > > geom::intersection (const math::vec3< T > &a, const math::vec3< T > &b, const math::vec3< T > &c, const ray< T, 3 > &ray) noexcept
 Ray-triangle intersection test. More...
 
template<class T , std::size_t N>
constexpr bool geom::intersection (const hyperrectangle< T, N > &hyperrectangle, const hypersphere< T, N > &hypersphere) noexcept
 Hyperrectangle-hypersphere intersection test. More...
 
template<class T , std::size_t N>
constexpr bool geom::intersection (const hypersphere< T, N > &hypersphere, const hyperrectangle< T, N > &hyperrectangle) noexcept
 Hyperrectangle-hypersphere intersection test. More...