Skip to content

LiteFX::Math

Namespaces

NameDescription
Vectors Contains additional exported vector types.

Types

NameDescription
Matrix An algebraic matrix type.
Rect
RectF
RectI
Size2d
Size3d
Size4d
Vector An algebraic vector type. The value type of a vector must be in standard layout (i.e., std::is_standard_layout_v<T> must evaluate to true). This constraint is enforced at compile time and ensures that vector types can be binary marshaled. For example, the LiteFX::Graphics::Vertex type stores nothing more than a series of vectors. The standard layout constraint ensures that a set of vertices can be converted into a plain byte array and back.
Vector1f A vector that contains a single float.
Vector1u A vector that contains a single unsigned integer.
Vector2f A vector that contains two floats.
Vector2i A vector that contains two signed integers.
Vector2u A vector that contains two unsigned integers.
Vector3f A vector that stores three floats.
Vector3i
Vector3u
Vector4f
Vector4i
Vector4u

Type Aliases

NameDescription
Byte A type for a single byte of raw memory.
Double A type for a floating point value with double precision.
Float A type for a floating point value with single precision.
Int16 A type for a signed 16 bit integer.
Int32 A type for a signed 32 bit integer.
Int64 A type for a signed 64 bit integer.
TMatrix2 A generic matrix with 2 rows and 2 columns.
TMatrix3 A generic matrix with 3 rows and 3 columns.
TMatrix3x4 A generic matrix with 3 rows and 4 columns.
TMatrix4 A generic matrix with 4 rows and 4 columns.
TVector1 A generic vector with one component.
TVector2 A generic vector with two components.
TVector3 A generic vector with three components.
TVector4 A generic vector with four components.
UInt16 A type for an unsigned 16 bit integer.
UInt32 A type for an unsigned 32 bit integer.
UInt64 A type for an unsigned 64 bit integer.
UInt8 A type for an unsigned 8 bit integer.

Functions

NameDescription
align Aligns a value size to an alignment alignment.
operator""_b A literal to define a byte.
operator""_f32 A literal to define a floating point value with single precision.
operator""_f64 A literal to define a floating point value with double precision.
operator""_i16 A literal to define a 16 bit integer.
operator""_i32 A literal to define a 32 bit integer.
operator""_i64 A literal to define a 64 bit integer.
operator""_ui16 A literal to define a 16 bit unsigned integer.
operator""_ui32 A literal to define a 32 bit unsigned integer.
operator""_ui64 A literal to define a 64 bit unsigned integer.
operator""_ui8 A literal to define a 8 bit unsigned integer.

Using Namespace Directives

Name
LiteFX