MeshLib Documentation
Loading...
Searching...
No Matches
MR::ImGuiMath Namespace Reference

Namespaces

namespace  detail
 

Classes

struct  BasicVectorCompareHelper
 
struct  CompareAll
 
struct  CompareAny
 

Functions

template<detail::VectorOrScalarMaybeCvref T>
constexpr auto && getElem (int i, T &&value)
 
template<typename F , typename ... P>
requires detail::ValidOperands<P...>
constexpr auto applyElementwise (F &&func, P &&... params) -> typename detail::VecFromSize< detail::CommonVecSize< P... >::value >::type
 
template<typename F , detail::VectorOrScalarMaybeCvref T>
constexpr auto reduce (F &&func, T &&value)
 
template<detail::Vector A>
constexpr A round (A a)
 
template<detail::Vector A>
constexpr A floor (A a)
 
template<detail::Vector A>
constexpr A ceil (A a)
 
template<detail::Vector A>
constexpr auto dot (A a, A b)
 
template<detail::Vector A>
constexpr auto lengthSq (A a)
 
template<detail::Vector A>
constexpr auto length (A a)
 
template<detail::Vector A>
constexpr A normalize (A a)
 
constexpr ImVec2 rot90 (ImVec2 a)
 
template<detail::Vector A, detail::Scalar B>
constexpr A mix (B t, A a, A b)
 
template<typename A , typename B >
requires detail::ValidOperands<A, B>
constexpr auto min (A a, B b)
 
template<typename A , typename B >
requires detail::ValidOperands<A, B>
constexpr auto max (A a, B b)
 
template<detail::Vector T, typename A , typename B >
requires detail::ValidOperands<T, A, B>
constexpr T clamp (T value, A a, B b)
 
template<detail::VectorOrScalar A>
 CompareAll (A) -> CompareAll< A >
 
template<detail::VectorOrScalar A>
 CompareAny (A) -> CompareAny< A >
 

Function Documentation

◆ applyElementwise()

template<typename F , typename ... P>
requires detail::ValidOperands<P...>
auto MR::ImGuiMath::applyElementwise ( F && func,
P &&... params ) -> typename detail::VecFromSize<detail::CommonVecSize<P...>::value>::type
nodiscardconstexpr

◆ ceil()

template<detail::Vector A>
A MR::ImGuiMath::ceil ( A a)
nodiscardconstexpr

◆ clamp()

template<detail::Vector T, typename A , typename B >
requires detail::ValidOperands<T, A, B>
T MR::ImGuiMath::clamp ( T value,
A a,
B b )
nodiscardconstexpr

◆ CompareAll()

template<detail::VectorOrScalar A>
MR::ImGuiMath::CompareAll ( A ) -> CompareAll< A >

◆ CompareAny()

template<detail::VectorOrScalar A>
MR::ImGuiMath::CompareAny ( A ) -> CompareAny< A >

◆ dot()

template<detail::Vector A>
auto MR::ImGuiMath::dot ( A a,
A b )
nodiscardconstexpr

◆ floor()

template<detail::Vector A>
A MR::ImGuiMath::floor ( A a)
nodiscardconstexpr

◆ getElem()

template<detail::VectorOrScalarMaybeCvref T>
auto && MR::ImGuiMath::getElem ( int i,
T && value )
nodiscardconstexpr

◆ length()

template<detail::Vector A>
auto MR::ImGuiMath::length ( A a)
nodiscardconstexpr

◆ lengthSq()

template<detail::Vector A>
auto MR::ImGuiMath::lengthSq ( A a)
nodiscardconstexpr

◆ max()

template<typename A , typename B >
requires detail::ValidOperands<A, B>
auto MR::ImGuiMath::max ( A a,
B b )
nodiscardconstexpr

◆ min()

template<typename A , typename B >
requires detail::ValidOperands<A, B>
auto MR::ImGuiMath::min ( A a,
B b )
nodiscardconstexpr

◆ mix()

template<detail::Vector A, detail::Scalar B>
A MR::ImGuiMath::mix ( B t,
A a,
A b )
nodiscardconstexpr

◆ normalize()

template<detail::Vector A>
A MR::ImGuiMath::normalize ( A a)
nodiscardconstexpr

◆ reduce()

template<typename F , detail::VectorOrScalarMaybeCvref T>
auto MR::ImGuiMath::reduce ( F && func,
T && value )
nodiscardconstexpr

◆ rot90()

ImVec2 MR::ImGuiMath::rot90 ( ImVec2 a)
nodiscardconstexpr

◆ round()

template<detail::Vector A>
A MR::ImGuiMath::round ( A a)
nodiscardconstexpr