Move Vectormath main
C++20 game and graphics mathematics
Loading...
Searching...
No Matches
BoundsQueries.hpp File Reference
#include <algorithm>
#include <cmath>
#include <cstddef>
#include <limits>
#include <optional>
#include <mv/math/geometry/Aabb3.hpp>
#include <mv/math/geometry/Ray3.hpp>
#include <mv/math/geometry/Sphere3.hpp>
#include <mv/math/queries/ClosestPointQueries.hpp>
#include <mv/math/queries/PreparedRay3.hpp>
#include <mv/math/queries/QueryTypes.hpp>

Go to the source code of this file.

Classes

struct  mv::math::detail::RayAabbSlabSolution< T >
 
struct  mv::math::detail::RaySphereSolution< T >
 

Namespaces

namespace  mv
 
namespace  mv::math
 
namespace  mv::math::detail
 

Functions

template<typename T >
T mv::math::detail::Component (const Vec3< T > &value, std::size_t axis) noexcept
 
template<typename T >
T mv::math::detail::Component (const Point3< T > &value, std::size_t axis) noexcept
 
template<typename T >
Normal3< T > mv::math::detail::AxisNormal (std::size_t axis, T sign) noexcept
 
template<typename T >
bool mv::math::detail::IsStrictlyInside (const Aabb3< T > &box, const Point3< T > &point) noexcept
 
template<typename T >
std::optional< RayAabbSlabSolution< T > > mv::math::detail::TryIntersectPreparedAabbSlabs (const PreparedRay3< T > &prepared, const Aabb3< T > &box) noexcept
 
template<typename T >
bool mv::math::detail::IntersectsPreparedAabbSlabs (const PreparedRay3< T > &prepared, const Aabb3< T > &box) noexcept
 
template<typename T >
std::optional< RaySphereSolution< T > > mv::math::detail::TryIntersectRaySphere (const Ray3< T > &ray, const Sphere3< T > &sphere) noexcept
 
template<typename T >
std::optional< RaySphereHit3< T > > mv::math::Intersect (const Ray3< T > &ray, const Sphere3< T > &sphere) noexcept
 
template<typename T >
bool mv::math::Intersects (const Ray3< T > &ray, const Sphere3< T > &sphere) noexcept
 
template<typename T >
std::optional< RayAabbHit3< T > > mv::math::Intersect (const PreparedRay3< T > &ray, const Aabb3< T > &box) noexcept
 
template<typename T >
std::optional< RayAabbHit3< T > > mv::math::Intersect (const Ray3< T > &ray, const Aabb3< T > &box) noexcept
 
template<typename T >
bool mv::math::Intersects (const PreparedRay3< T > &ray, const Aabb3< T > &box) noexcept
 
template<typename T >
bool mv::math::Intersects (const Ray3< T > &ray, const Aabb3< T > &box) noexcept
 
template<typename T >
bool mv::math::Intersects (const Sphere3< T > &left, const Sphere3< T > &right) noexcept
 
template<typename T >
bool mv::math::Intersects (const Aabb3< T > &left, const Aabb3< T > &right) noexcept
 
template<typename T >
bool mv::math::Intersects (const Sphere3< T > &sphere, const Aabb3< T > &box) noexcept
 
template<typename T >
bool mv::math::Intersects (const Aabb3< T > &box, const Sphere3< T > &sphere) noexcept
 
template<typename T >
bool mv::math::Intersects (const Capsule3< T > &capsule, const Sphere3< T > &sphere) noexcept
 
template<typename T >
bool mv::math::Intersects (const Sphere3< T > &sphere, const Capsule3< T > &capsule) noexcept
 
template<typename T >
bool mv::math::Intersects (const Capsule3< T > &first, const Capsule3< T > &second) noexcept