Move Vectormath main
C++20 game and graphics mathematics
Loading...
Searching...
No Matches
Normal3.hpp File Reference
#include <cmath>
#include <cstdint>
#include <optional>
#include <type_traits>
#include <utility>
#include <mv/math/Rotation3.hpp>
#include <mv/math/detail/Normalization.hpp>

Go to the source code of this file.

Classes

class  mv::math::Normal3< T >
 
struct  mv::math::RefractionResult3< T >
 

Namespaces

namespace  mv
 
namespace  mv::math
 

Typedefs

using mv::math::Normal3f = Normal3< float >
 
using mv::math::Normal3d = Normal3< double >
 
using mv::math::RefractionResult3f = RefractionResult3< float >
 
using mv::math::RefractionResult3d = RefractionResult3< double >
 

Enumerations

enum class  mv::math::RefractionStatus : std::uint8_t { mv::math::Success , mv::math::TotalInternalReflection , mv::math::InvalidIndexRatio , mv::math::NumericalFailure }
 

Functions

template<typename T >
requires std::is_floating_point_v<T>
Normal3< T > mv::math::Rotate (const Rotation3< T > &, const Normal3< T > &) noexcept
 
template<typename T >
requires std::is_floating_point_v<T>
Vec3< T > mv::math::ProjectOntoPlane (const Vec3< T > &value, const Normal3< T > &planeNormal) noexcept
 
template<typename T >
requires std::is_floating_point_v<T>
Vec3< T > mv::math::Reflect (const Vec3< T > &incident, const Normal3< T > &normal) noexcept
 
template<typename T >
requires std::is_floating_point_v<T>
RefractionResult3< T > mv::math::Refract (const Direction3< T > &incident, const Normal3< T > &surfaceNormal, T incidentOverTransmittedIndex) noexcept