Move Vectormath main
C++20 game and graphics mathematics
Loading...
Searching...
No Matches
Frustum3.hpp File Reference
#include <algorithm>
#include <array>
#include <cassert>
#include <cmath>
#include <cstddef>
#include <cstdint>
#include <optional>
#include <type_traits>
#include <mv/math/Mat4.hpp>
#include <mv/math/geometry/Plane3.hpp>
#include <mv/math/transforms/Projection.hpp>

Go to the source code of this file.

Classes

class  mv::math::Frustum3< T >
 

Namespaces

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

Typedefs

using mv::math::Frustum3f = Frustum3< float >
 
using mv::math::Frustum3d = Frustum3< double >
 

Enumerations

enum class  mv::math::FrustumPlane : std::uint8_t {
  mv::math::Left , mv::math::Right , mv::math::Bottom , mv::math::Top ,
  mv::math::Near , mv::math::Far
}
 
enum class  mv::math::FrustumPlaneMask : std::uint8_t {
  mv::math::None = 0U , mv::math::Left = 1U << 0U , mv::math::Right = 1U << 1U , mv::math::Bottom = 1U << 2U ,
  mv::math::Top = 1U << 3U , mv::math::Near = 1U << 4U , mv::math::Far = 1U << 5U , mv::math::All = (1U << 6U) - 1U
}
 

Functions

constexpr FrustumPlaneMask mv::math::operator| (FrustumPlaneMask left, FrustumPlaneMask right) noexcept
 
constexpr FrustumPlaneMask mv::math::operator& (FrustumPlaneMask left, FrustumPlaneMask right) noexcept
 
constexpr FrustumPlaneMask mv::math::operator~ (FrustumPlaneMask value) noexcept
 
constexpr FrustumPlaneMask & mv::math::operator|= (FrustumPlaneMask &left, FrustumPlaneMask right) noexcept
 
constexpr FrustumPlaneMask & mv::math::operator&= (FrustumPlaneMask &left, FrustumPlaneMask right) noexcept
 
constexpr FrustumPlaneMask mv::math::PlaneMask (FrustumPlane plane) noexcept
 
constexpr bool mv::math::HasPlane (FrustumPlaneMask mask, FrustumPlane plane) noexcept
 
template<typename T >
std::optional< Plane3< T > > mv::math::detail::TryPlaneFromCoefficients (T x, T y, T z, T offset) noexcept