LiteFX 0.4.1.2025
Computer Graphics Engine
Loading...
Searching...
No Matches
LiteFX::Math Namespace Reference

Namespaces

namespace  Vectors
 Contains additional exported vector types.
 

Classes

struct  Matrix
 An algebraic matrix type. More...
 
class  Rect
 
class  RectF
 
class  RectI
 
class  Size2d
 
class  Size3d
 
class  Size4d
 
struct  Vector
 An algebraic vector type. More...
 
class  Vector1f
 A vector that contains a single float. More...
 
class  Vector1u
 A vector that contains a single unsigned integer. More...
 
class  Vector2f
 A vector that contains two floats. More...
 
class  Vector2i
 A vector that contains two signed integers. More...
 
class  Vector2u
 A vector that contains two unsigned integers. More...
 
class  Vector3f
 A vector that stores three floats. More...
 
class  Vector3i
 
class  Vector3u
 
class  Vector4f
 
class  Vector4i
 
class  Vector4u
 

Typedefs

using Byte = uint8_t
 A type for an unsigned 8 bit integer.
 
using Int16 = int16_t
 A type for a signed 16 bit integer.
 
using UInt16 = uint16_t
 A type for an unsigned 16 bit integer.
 
using Int32 = int32_t
 A type for a signed 32 bit integer.
 
using UInt32 = uint32_t
 A type for an unsigned 32 bit integer.
 
using Int64 = int64_t
 A type for a signed 64 bit integer.
 
using UInt64 = uint64_t
 A type for an unsigned 64 bit integer.
 
using Float = float_t
 A type for a floating point value with single precision.
 
using Double = double_t
 A type for a floating point value with double precision.
 
template<typename T >
using TMatrix2 = Matrix<T, 2, 2>
 A generic matrix with 2 rows and 2 columns.
 
template<typename T >
using TMatrix3 = Matrix<T, 3, 3>
 A generic matrix with 3 rows and 3 columns.
 
template<typename T >
using TMatrix4 = Matrix<T, 4, 4>
 A generic matrix with 4 rows and 4 columns.
 
template<typename T >
using TMatrix3x4 = Matrix<T, 3, 4>
 A generic matrix with 3 rows and 4 columns.
 
template<typename T >
using TVector1 = Vector<T, 1>
 A generic vector with one component.
 
template<typename T >
using TVector2 = Vector<T, 2>
 A generic vector with two components.
 
template<typename T >
using TVector3 = Vector<T, 3>
 A generic vector with three components.
 
template<typename T >
using TVector4 = Vector<T, 4>
 A generic vector with four components.
 

Functions

constexpr Byte operator""_b (unsigned long long int arg) noexcept
 A literal to define a byte.
 
constexpr Int16 operator""_i16 (unsigned long long int arg) noexcept
 A literal to define a 16 bit integer.
 
constexpr UInt16 operator""_ui16 (unsigned long long int arg) noexcept
 A literal to define a 16 bit unsigned integer.
 
constexpr Int32 operator""_i32 (unsigned long long int arg) noexcept
 A literal to define a 32 bit integer.
 
constexpr UInt32 operator""_ui32 (unsigned long long int arg) noexcept
 A literal to define a 32 bit unsigned integer.
 
constexpr Int64 operator""_i64 (unsigned long long int arg) noexcept
 A literal to define a 64 bit integer.
 
constexpr UInt64 operator""_ui64 (unsigned long long int arg) noexcept
 A literal to define a 64 bit unsigned integer.
 
constexpr Float operator""_f32 (long double arg) noexcept
 A literal to define a floating point value with single precision.
 
constexpr Double operator""_f64 (long double arg) noexcept
 A literal to define a floating point value with double precision.
 

Typedef Documentation

◆ Byte

using LiteFX::Math::Byte = uint8_t

A type for an unsigned 8 bit integer.

◆ Double

using LiteFX::Math::Double = double_t

A type for a floating point value with double precision.

◆ Float

using LiteFX::Math::Float = float_t

A type for a floating point value with single precision.

◆ Int16

using LiteFX::Math::Int16 = int16_t

A type for a signed 16 bit integer.

◆ Int32

using LiteFX::Math::Int32 = int32_t

A type for a signed 32 bit integer.

◆ Int64

using LiteFX::Math::Int64 = int64_t

A type for a signed 64 bit integer.

◆ TMatrix2

template<typename T >
using LiteFX::Math::TMatrix2 = Matrix<T, 2, 2>

A generic matrix with 2 rows and 2 columns.

Template Parameters
TThe type of the matrix elements.

◆ TMatrix3

template<typename T >
using LiteFX::Math::TMatrix3 = Matrix<T, 3, 3>

A generic matrix with 3 rows and 3 columns.

Template Parameters
TThe type of the matrix elements.

◆ TMatrix3x4

template<typename T >
using LiteFX::Math::TMatrix3x4 = Matrix<T, 3, 4>

A generic matrix with 3 rows and 4 columns.

Template Parameters
TThe type of the matrix elements.

◆ TMatrix4

template<typename T >
using LiteFX::Math::TMatrix4 = Matrix<T, 4, 4>

A generic matrix with 4 rows and 4 columns.

Template Parameters
TThe type of the matrix elements.

◆ TVector1

template<typename T >
using LiteFX::Math::TVector1 = Vector<T, 1>

A generic vector with one component.

Template Parameters
TThe type of the vector component.

◆ TVector2

template<typename T >
using LiteFX::Math::TVector2 = Vector<T, 2>

A generic vector with two components.

Template Parameters
TThe type of the vector components.

◆ TVector3

template<typename T >
using LiteFX::Math::TVector3 = Vector<T, 3>

A generic vector with three components.

Template Parameters
TThe type of the vector components.

◆ TVector4

template<typename T >
using LiteFX::Math::TVector4 = Vector<T, 4>

A generic vector with four components.

Template Parameters
TThe type of the vector components.

◆ UInt16

using LiteFX::Math::UInt16 = uint16_t

A type for an unsigned 16 bit integer.

◆ UInt32

using LiteFX::Math::UInt32 = uint32_t

A type for an unsigned 32 bit integer.

◆ UInt64

using LiteFX::Math::UInt64 = uint64_t

A type for an unsigned 64 bit integer.

Function Documentation

◆ operator""_b()

Byte LiteFX::Math::operator""_b ( unsigned long long int arg)
constexprnoexcept

A literal to define a byte.

Parameters
argThe value that should be assigned to the byte.
Returns
The value as byte.

◆ operator""_f32()

Float LiteFX::Math::operator""_f32 ( long double arg)
constexprnoexcept

A literal to define a floating point value with single precision.

Parameters
argThe value that should be assigned to the floating point number.
Returns
The value as floating point number.

◆ operator""_f64()

Double LiteFX::Math::operator""_f64 ( long double arg)
constexprnoexcept

A literal to define a floating point value with double precision.

Parameters
argThe value that should be assigned to the floating point number.
Returns
The value as floating point number.

◆ operator""_i16()

Int16 LiteFX::Math::operator""_i16 ( unsigned long long int arg)
constexprnoexcept

A literal to define a 16 bit integer.

Parameters
argThe value that should be assigned to the integer.
Returns
The value as 16 bit integer.

◆ operator""_i32()

Int32 LiteFX::Math::operator""_i32 ( unsigned long long int arg)
constexprnoexcept

A literal to define a 32 bit integer.

Parameters
argThe value that should be assigned to the integer.
Returns
The value as 32 bit integer.

◆ operator""_i64()

Int64 LiteFX::Math::operator""_i64 ( unsigned long long int arg)
constexprnoexcept

A literal to define a 64 bit integer.

Parameters
argThe value that should be assigned to the integer.
Returns
The value as 64 bit integer.

◆ operator""_ui16()

UInt16 LiteFX::Math::operator""_ui16 ( unsigned long long int arg)
constexprnoexcept

A literal to define a 16 bit unsigned integer.

Parameters
argThe value that should be assigned to the integer.
Returns
The value as 16 bit unsigned integer.

◆ operator""_ui32()

UInt32 LiteFX::Math::operator""_ui32 ( unsigned long long int arg)
constexprnoexcept

A literal to define a 32 bit unsigned integer.

Parameters
argThe value that should be assigned to the integer.
Returns
The value as 32 bit unsigned integer.

◆ operator""_ui64()

UInt64 LiteFX::Math::operator""_ui64 ( unsigned long long int arg)
constexprnoexcept

A literal to define a 64 bit unsigned integer.

Parameters
argThe value that should be assigned to the integer.
Returns
The value as 64 bit unsigned integer.