Harlinn.Windows 0.1
Loading...
Searching...
No Matches
Harlinn::Math::PlaneSimd< PlaneT > Class Template Reference

#include <VectorMath.h>

Inheritance diagram for Harlinn::Math::PlaneSimd< PlaneT >:
[legend]
Collaboration diagram for Harlinn::Math::PlaneSimd< PlaneT >:
[legend]

Public Types

using PlaneType = PlaneT
 
using ValueType = typename PlaneType::ValueType
 
using size_type = size_t
 
using value_type = ValueType
 
using Vector = Math::Vector<ValueType, 3>
 
using Simd = PlaneSimd<PlaneT>
 
using Traits = typename PlaneType::Traits
 
using SIMDType = typename Traits::SIMDType
 

Public Member Functions

 PlaneSimd () noexcept
 
 PlaneSimd (const PlaneSimd &other) noexcept
 
 PlaneSimd (SIMDType other) noexcept
 
 PlaneSimd (const PlaneType &plane) noexcept
 
template<SimdType T>
 PlaneSimd (const T &normal, value_type distance)
 
template<TupleType T>
 PlaneSimd (const T &normal, value_type distance)
 
template<SimdType S, SimdType T, SimdType U>
requires IsCompatible<S, T, U> && ( S::Size > 2 ) && std::is_same_v<value_type, typename S::value_type>
 PlaneSimd (const S &point1, const T &point2, const U &point3) noexcept
 
PlaneSimdoperator= (const PlaneSimd &other) noexcept
 
PlaneSimdoperator= (SIMDType other) noexcept
 
PlaneSimdoperator= (const PlaneType &quaternion) noexcept
 
bool operator== (const PlaneSimd &other) const noexcept
 
bool operator!= (const PlaneSimd &other) const noexcept
 
bool operator== (const PlaneType &other) const noexcept
 
bool operator!= (const PlaneType &other) const noexcept
 

Public Attributes

SIMDType simd
 

Static Public Attributes

static constexpr size_type Size = 4
 
static constexpr size_type Capacity = Traits::SIMDTypeCapacity
 

Member Typedef Documentation

◆ PlaneType

template<typename PlaneT >
using Harlinn::Math::PlaneSimd< PlaneT >::PlaneType = PlaneT

◆ Simd

template<typename PlaneT >
using Harlinn::Math::PlaneSimd< PlaneT >::Simd = PlaneSimd<PlaneT>

◆ SIMDType

template<typename PlaneT >
using Harlinn::Math::PlaneSimd< PlaneT >::SIMDType = typename Traits::SIMDType

◆ size_type

template<typename PlaneT >
using Harlinn::Math::PlaneSimd< PlaneT >::size_type = size_t

◆ Traits

template<typename PlaneT >
using Harlinn::Math::PlaneSimd< PlaneT >::Traits = typename PlaneType::Traits

◆ value_type

template<typename PlaneT >
using Harlinn::Math::PlaneSimd< PlaneT >::value_type = ValueType

◆ ValueType

template<typename PlaneT >
using Harlinn::Math::PlaneSimd< PlaneT >::ValueType = typename PlaneType::ValueType

◆ Vector

template<typename PlaneT >
using Harlinn::Math::PlaneSimd< PlaneT >::Vector = Math::Vector<ValueType, 3>

Constructor & Destructor Documentation

◆ PlaneSimd() [1/7]

template<typename PlaneT >
Harlinn::Math::PlaneSimd< PlaneT >::PlaneSimd ( )
inlinenoexcept

◆ PlaneSimd() [2/7]

template<typename PlaneT >
Harlinn::Math::PlaneSimd< PlaneT >::PlaneSimd ( const PlaneSimd< PlaneT > & other)
inlinenoexcept

◆ PlaneSimd() [3/7]

template<typename PlaneT >
Harlinn::Math::PlaneSimd< PlaneT >::PlaneSimd ( SIMDType other)
inlineexplicitnoexcept

◆ PlaneSimd() [4/7]

template<typename PlaneT >
Harlinn::Math::PlaneSimd< PlaneT >::PlaneSimd ( const PlaneType & plane)
inlinenoexcept

◆ PlaneSimd() [5/7]

template<typename PlaneT >
template<SimdType T>
Harlinn::Math::PlaneSimd< PlaneT >::PlaneSimd ( const T & normal,
value_type distance )
inline

◆ PlaneSimd() [6/7]

template<typename PlaneT >
template<TupleType T>
Harlinn::Math::PlaneSimd< PlaneT >::PlaneSimd ( const T & normal,
value_type distance )
inline

◆ PlaneSimd() [7/7]

template<typename PlaneT >
template<SimdType S, SimdType T, SimdType U>
requires IsCompatible<S, T, U> && ( S::Size > 2 ) && std::is_same_v<value_type, typename S::value_type>
Harlinn::Math::PlaneSimd< PlaneT >::PlaneSimd ( const S & point1,
const T & point2,
const U & point3 )
inlinenoexcept

Member Function Documentation

◆ operator!=() [1/2]

template<typename PlaneT >
bool Harlinn::Math::PlaneSimd< PlaneT >::operator!= ( const PlaneSimd< PlaneT > & other) const
inlinenoexcept

◆ operator!=() [2/2]

template<typename PlaneT >
bool Harlinn::Math::PlaneSimd< PlaneT >::operator!= ( const PlaneType & other) const
inlinenoexcept

◆ operator=() [1/3]

template<typename PlaneT >
PlaneSimd & Harlinn::Math::PlaneSimd< PlaneT >::operator= ( const PlaneSimd< PlaneT > & other)
inlinenoexcept

◆ operator=() [2/3]

template<typename PlaneT >
PlaneSimd< PlaneT > & Harlinn::Math::PlaneSimd< PlaneT >::operator= ( const PlaneType & quaternion)
inlinenoexcept

◆ operator=() [3/3]

template<typename PlaneT >
PlaneSimd & Harlinn::Math::PlaneSimd< PlaneT >::operator= ( SIMDType other)
inlinenoexcept

◆ operator==() [1/2]

template<typename PlaneT >
bool Harlinn::Math::PlaneSimd< PlaneT >::operator== ( const PlaneSimd< PlaneT > & other) const
inlinenoexcept

◆ operator==() [2/2]

template<typename PlaneT >
bool Harlinn::Math::PlaneSimd< PlaneT >::operator== ( const PlaneType & other) const
inlinenoexcept

Member Data Documentation

◆ Capacity

template<typename PlaneT >
size_type Harlinn::Math::PlaneSimd< PlaneT >::Capacity = Traits::SIMDTypeCapacity
staticconstexpr

◆ simd

template<typename PlaneT >
SIMDType Harlinn::Math::PlaneSimd< PlaneT >::simd

◆ Size

template<typename PlaneT >
size_type Harlinn::Math::PlaneSimd< PlaneT >::Size = 4
staticconstexpr

The documentation for this class was generated from the following file: