Antkeeper
0.0.1
|
Classes | |
struct | hyperplane |
n-dimensional plane. More... | |
struct | hyperrectangle |
n-dimensional axis-aligned rectangle. More... | |
struct | hypersphere |
n-dimensional sphere. More... | |
struct | line_segment |
n-dimensional line segment. More... | |
struct | ray |
Half of a line proceeding from an initial point. More... | |
Typedefs | |
template<class T > | |
using | box = hyperrectangle< T, 3 > |
3-dimensional hyperrectangle. More... | |
template<class T > | |
using | circle = hypersphere< T, 2 > |
2-dimensional hypersphere. More... | |
template<class T > | |
using | line = hyperplane< T, 2 > |
2-dimensional hyperplane. More... | |
template<class T > | |
using | plane = hyperplane< T, 3 > |
3-dimensional hyperplane. More... | |
template<class T > | |
using | rectangle = hyperrectangle< T, 2 > |
2-dimensional hyperrectangle. More... | |
template<class T > | |
using | sphere = hypersphere< T, 3 > |
3-dimensional hypersphere. More... | |
Functions | |
template<class T , std::size_t N> | |
std::optional< std::tuple< T, T > > | 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 | 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 | 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 > | 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 > | 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 > > | 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 > > | intersection (const hyperrectangle< T, N > &hyperrectangle, const ray< T, N > &ray) noexcept |
Ray-hyperrectangle intersection test. More... | |
template<class T , std::size_t N> | |
constexpr bool | 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 | intersection (const hypersphere< T, N > &hypersphere, const hyperrectangle< T, N > &hyperrectangle) noexcept |
Hyperrectangle-hypersphere intersection test. More... | |
using geom::primitive::box = typedef hyperrectangle<T, 3> |
using geom::primitive::circle = typedef hypersphere<T, 2> |
2-dimensional hypersphere.
T | Real type. |
Definition at line 34 of file circle.hpp.
using geom::primitive::line = typedef hyperplane<T, 2> |
using geom::primitive::plane = typedef hyperplane<T, 3> |
3-dimensional hyperplane.
T | Real type. |
Definition at line 34 of file primitives/plane.hpp.
using geom::primitive::rectangle = typedef hyperrectangle<T, 2> |
2-dimensional hyperrectangle.
T | Real type. |
Definition at line 34 of file rectangle.hpp.
using geom::primitive::sphere = typedef hypersphere<T, 3> |
3-dimensional hypersphere.
T | Real type. |
Definition at line 34 of file primitives/sphere.hpp.
|
inlineconstexprnoexcept |
Ray-hyperplane intersection test.
ray | Ray. |
hyperplane | Hyperplane. |
std::nullopt
if no intersection occurred. Definition at line 57 of file primitives/intersection.hpp.
|
inlineconstexprnoexcept |
Hyperrectangle-hyperrectangle intersection test.
a | First hyperrectangle. |
b | Second hyperrectangle. |
true
if an intersection occurred, false
otherwise. Definition at line 148 of file primitives/intersection.hpp.
|
constexprnoexcept |
Hyperrectangle-hypersphere intersection test.
hyperrectangle | Hyperrectangle. |
hypersphere | Hypersphere. |
true
if an intersection occurred, false
otherwise. Definition at line 163 of file primitives/intersection.hpp.
|
inlineconstexprnoexcept |
Ray-hyperrectangle intersection test.
ray | Ray. |
hyperrectangle | Hyperrectangle. |
std::nullopt
if no intersection occurred. Definition at line 101 of file primitives/intersection.hpp.
|
inlineconstexprnoexcept |
Hypersphere-hypersphere intersection test.
a | First hypersphere. |
b | Second hypersphere. |
true
if an intersection occurred, false
otherwise. Definition at line 199 of file primitives/intersection.hpp.
|
inlineconstexprnoexcept |
Hyperrectangle-hypersphere intersection test.
hyperrectangle | Hyperrectangle. |
hypersphere | Hypersphere. |
true
if an intersection occurred, false
otherwise. Definition at line 184 of file primitives/intersection.hpp.
|
constexprnoexcept |
Ray-hyperplane intersection test.
ray | Ray. |
hyperplane | Hyperplane. |
std::nullopt
if no intersection occurred. Definition at line 43 of file primitives/intersection.hpp.
|
constexprnoexcept |
Ray-hyperrectangle intersection test.
ray | Ray. |
hyperrectangle | Hyperrectangle. |
std::nullopt
if no intersection occurred. Definition at line 73 of file primitives/intersection.hpp.
|
noexcept |
Ray-hypersphere intersection test.
ray | Ray. |
hypersphere | Hypersphere. |
std::nullopt
if no intersection occurred. Definition at line 116 of file primitives/intersection.hpp.