|
CeresEngine 0.2.0
A game development framework
|
Namespaces | |
| namespace | Constant |
| namespace | detail |
| namespace | impl_ |
| namespace | literals |
Classes | |
| struct | FixedPoint |
| struct | LargeInteger |
A wide integer type that uses Hi for the high-order bits in the integer data and Lo for the low-order bits. More... | |
| struct | LargeIntegerCLZHelper |
| struct | LargeIntegerCLZHelper< LargeInteger< High, Low > > |
| class | Octaves |
| class | PerlinNoise |
| struct | TAABox |
| Axis aligned box represented by minimum and maximum point. More... | |
| struct | TAffineTransform |
| An affine transformation matrix for use in drawing 2D graphics. More... | |
| struct | TCapsule |
| Represents a capsule with a line segment and a radius. More... | |
| class | TColor |
| struct | TConvexVolume |
| Represents a convex volume defined by planes representing the volume border. More... | |
| struct | TDegree |
| Wrapper class which indicates a given angle value is in degrees. More... | |
| struct | TExtent2 |
| 2-Dimensional extent structure. More... | |
| struct | TExtent3 |
| 3-Dimensional extent structure. More... | |
| struct | TFacing |
| A structure that describes orthogonal directions. More... | |
| struct | TLineSegment |
| Represents a line segment in three dimensional space defined by a start and an end point. More... | |
| struct | TOffset2 |
| 2-Dimensional offset structure. More... | |
| struct | TOffset3 |
| 3-Dimensional offset structure. More... | |
| struct | TPlane |
| A plane represented by a normal and a distance. More... | |
| struct | TRadian |
| Wrapper class which indicates a given angle value is in radians. More... | |
| struct | TRange |
| struct | TRay |
| A ray in 3D space represented with an origin and direction. More... | |
| struct | TRayIntersection |
| A structure that describes an intersection with a ray. More... | |
| struct | TRect |
| Represents a rectangle in three dimensional space. More... | |
| struct | TRect2 |
| Represents a 2D rectangle using real values. More... | |
| struct | TRect2Edge |
| struct | TSize2 |
| A structure that contains width and height values. More... | |
| struct | TSphere |
| A sphere represented by a center point and a radius. More... | |
| struct | TTransform |
| A class that simplifies working with transformation matrices. More... | |
Typedefs | |
| using | Degree = TDegree< double > |
A Degree type that uses double as storage type. | |
| using | Degreef = TDegree< float > |
A Degree type that uses float as storage type. | |
| using | Radian = TRadian< double > |
A Radian type that uses double as storage type. | |
| using | Radianf = TRadian< float > |
A Radian type that uses float as storage type. | |
| using | Color = TColor< double > |
| using | Colorf = TColor< float > |
| using | Extent2 = TExtent2< double > |
| 2-Dimensional extent structure. | |
| using | Extent2f = TExtent2< float > |
| 2-Dimensional extent structure. | |
| using | Extent2UI = TExtent2< UInt32 > |
| 2-Dimensional extent structure. | |
| using | Extent3 = TExtent3< double > |
| 3-Dimensional extent structure. | |
| using | Extent3f = TExtent3< float > |
| 3-Dimensional extent structure. | |
| using | Fixed32x32 = FixedPoint< Int64, 32 > |
| A general purpose 32.32 fixed point type. | |
| using | Fixed44x20 = FixedPoint< Int64, 20 > |
| A general purpose 44.20 fixed point type. | |
| using | Fixed20x44 = FixedPoint< Int64, 44 > |
| A general purpose 20.44 fixed point type. | |
| using | Fixed48x16 = Math::FixedPoint< Int64, 16 > |
| A general purpose 48.16 fixed point type. | |
| using | Fixed16x48 = Math::FixedPoint< Int64, 48 > |
| A general purpose 16.48 fixed point type. | |
| using | Fixed64x64 = FixedPoint< Int128, 64 > |
| A general purpose 64.64 fixed point type. | |
| using | Fixed32x96 = FixedPoint< Int128, 96 > |
| A general purpose 32.96 fixed point type. | |
| using | Fixed96x32 = FixedPoint< Int128, 32 > |
| A general purpose 96.32 fixed point type. | |
| using | AABox = TAABox< double > |
| Axis aligned box represented by minimum and maximum point. | |
| using | AABoxf = TAABox< float > |
| Axis aligned box represented by minimum and maximum point. | |
| using | Capsule = TCapsule< double > |
| Represents a capsule with a line segment and a radius. | |
| using | Capsulef = TCapsule< float > |
| Represents a capsule with a line segment and a radius. | |
| using | ConvexVolume = TConvexVolume< double > |
| Represents a convex volume defined by planes representing the volume border. | |
| using | ConvexVolumef = TConvexVolume< float > |
| Represents a convex volume defined by planes representing the volume border. | |
| using | LineSegment = TLineSegment< double > |
| Represents a line segment in three dimensional space defined by a start and an end point. | |
| using | LineSegmentf = TLineSegment< float > |
| Represents a line segment in three dimensional space defined by a start and an end point. | |
| using | Plane = TPlane< double > |
| A plane represented by a normal and a distance. | |
| using | Planef = TPlane< float > |
| A plane represented by a normal and a distance. | |
| using | Ray = TRay< double > |
| A ray in 3D space represented with an origin and direction. | |
| using | Rayf = TRay< float > |
| A ray in 3D space represented with an origin and direction. | |
| using | RayIntersection = TRayIntersection< double > |
| A structure that describes an intersection with a ray. | |
| using | RayIntersectionf = TRayIntersection< float > |
| A structure that describes an intersection with a ray. | |
| using | Rect = TRect< double > |
| Represents a rectangle in three dimensional space. | |
| using | Rectf = TRect< float > |
| Represents a rectangle in three dimensional space. | |
| using | Sphere = TSphere< double > |
| A sphere represented by a center point and a radius. | |
| using | Spheref = TSphere< float > |
| A sphere represented by a center point and a radius. | |
| using | Int128 = LargeInteger< Int64 > |
| An alias to a signed 128-bit integer type. | |
| using | UInt128 = LargeInteger< UInt64 > |
| An alias to a unsigned 128-bit integer type. | |
| template<glm::length_t C, glm::length_t R, typename T = double> | |
| using | TMatrix = glm::mat< C, R, T, glm::highp > |
A CxR matrix that uses a internal representation of type T. | |
| template<typename T = double> | |
| using | TMatrix2 = TMatrix< 2, 2, T > |
A 2x2 type that uses a internal representation of type T | |
| using | Matrix2 = TMatrix2< double > |
| A 2x2 matrix matrix. Data is internally represented as double. | |
| using | Matrix2f = TMatrix2< float > |
| A 2x2 matrix matrix. Data is internally represented as float. | |
| template<typename T = double> | |
| using | TMatrix3 = TMatrix< 3, 3, T > |
A 3x3 type that uses a internal representation of type T | |
| using | Matrix3 = TMatrix3< double > |
| A 3x3 matrix matrix. Data is internally represented as double. | |
| using | Matrix3f = TMatrix3< float > |
| A 3x3 matrix matrix. Data is internally represented as float. | |
| template<typename T = double> | |
| using | TMatrix4 = TMatrix< 4, 4, T > |
A 4x4 type that uses a internal representation of type T | |
| using | Matrix4 = TMatrix4< double > |
| A 4x4 matrix matrix. Data is internally represented as double. | |
| using | Matrix4f = TMatrix4< float > |
| A 4x4 matrix matrix. Data is internally represented as float. | |
| template<typename T = double> | |
| using | TMatrix2x3 = TMatrix< 2, 3, T > |
A 2x3 type that uses a internal representation of type T | |
| using | Matrix2x3 = TMatrix2x3< double > |
| A 2x3 matrix matrix. Data is internally represented as double. | |
| using | Matrix2x3f = TMatrix2x3< float > |
| A 2x3 matrix matrix. Data is internally represented as float. | |
| template<typename T = double> | |
| using | TMatrix2x4 = TMatrix< 2, 4, T > |
A 2x4 type that uses a internal representation of type T | |
| using | Matrix2x4 = TMatrix2x4< double > |
| A 2x4 matrix matrix. Data is internally represented as double. | |
| using | Matrix2x4f = TMatrix2x4< float > |
| A 2x4 matrix matrix. Data is internally represented as float. | |
| template<typename T = double> | |
| using | TMatrix3x2 = TMatrix< 3, 2, T > |
A 3x2 type that uses a internal representation of type T | |
| using | Matrix3x2 = TMatrix3x2< double > |
| A 3x2 matrix matrix. Data is internally represented as double. | |
| using | Matrix3x2f = TMatrix3x2< float > |
| A 3x2 matrix matrix. Data is internally represented as float. | |
| template<typename T = double> | |
| using | TMatrix3x4 = TMatrix< 3, 4, T > |
A 3x4 type that uses a internal representation of type T | |
| using | Matrix3x4 = TMatrix3x4< double > |
| A 3x4 matrix matrix. Data is internally represented as double. | |
| using | Matrix3x4f = TMatrix3x4< float > |
| A 3x4 matrix matrix. Data is internally represented as float. | |
| template<typename T = double> | |
| using | TMatrix4x2 = TMatrix< 4, 2, T > |
A 4x2 type that uses a internal representation of type T | |
| using | Matrix4x2 = TMatrix4x2< double > |
| A 4x2 matrix matrix. Data is internally represented as double. | |
| using | Matrix4x2f = TMatrix4x2< float > |
| A 4x2 matrix matrix. Data is internally represented as float. | |
| template<typename T = double> | |
| using | TMatrix4x3 = TMatrix< 4, 3, T > |
A 4x3 type that uses a internal representation of type T | |
| using | Matrix4x3 = TMatrix4x3< double > |
| A 4x3 matrix matrix. Data is internally represented as double. | |
| using | Matrix4x3f = TMatrix4x3< float > |
| A 4x3 matrix matrix. Data is internally represented as float. | |
| using | Offset2 = TOffset2< double > |
| 2-Dimensional offset structure. | |
| using | Offset2f = TOffset2< float > |
| 2-Dimensional offset structure. | |
| using | Offset3 = TOffset3< double > |
| 3-Dimensional offset structure. | |
| using | Offset3f = TOffset3< float > |
| 3-Dimensional offset structure. | |
| template<typename T = double> | |
| using | TQuaternion = glm::qua< T, glm::highp > |
A quaternion type that uses a internal representation of type T | |
| using | Quaternion = TQuaternion< double > |
| A quaternion type. Data is internally represented as double. | |
| using | Quaternionf = TQuaternion< float > |
| A quaternion type. Data is internally represented as float. | |
| using | Range = TRange< double > |
| using | Rangef = TRange< float > |
| using | Rangei = TRange< Int64 > |
| template<typename T > | |
| using | TPoint2 = TVector2< T > |
| A type that contains a point in a two-dimensional coordinate system. | |
| using | Point2 = TPoint2< double > |
| A type that contains a point in a two-dimensional coordinate system. | |
| using | Size2 = TSize2< double > |
| A structure that contains width and height values. | |
| using | Rect2Edge = TRect2Edge< double > |
| using | Rect2 = TRect2< double > |
| Represents a 2D rectangle using real values. | |
| using | AffineTransform = TAffineTransform< double > |
| An affine transformation matrix for use in drawing 2D graphics. | |
| using | Facing = TFacing< double > |
| A structure that describes orthogonal directions. | |
| using | Facingf = TFacing< float > |
| A structure that describes orthogonal directions. | |
| using | Transform = TTransform< double > |
| A class that simplifies working with transformation matrices. | |
| using | Transformf = TTransform< float > |
| A class that simplifies working with transformation matrices. | |
| template<glm::length_t D, typename T = double> | |
| using | TVector = glm::vec< D, T, glm::highp > |
A D-dimensional vector type that uses a internal representation of type T | |
| template<typename T > | |
| using | TVector2 = TVector< 2, T > |
A two dimensional vector type that uses a internal representation of type T | |
| using | Vector2 = TVector2< double > |
| A two dimensional vector with (x, y) coordinates. | |
| using | Vector2f = TVector2< float > |
| A two dimensional vector with (x, y) coordinates. | |
| using | Vector2i = TVector2< int > |
| A two dimensional vector with (x, y) coordinates. | |
| using | Vector2ui = TVector2< unsigned int > |
| A two dimensional vector with (x, y) coordinates. | |
| using | Vector2b = TVector2< bool > |
| A two dimensional vector with (x, y) coordinates. | |
| using | Vec2 = Vector2 |
A alias to a Vector2. | |
| using | Vec2f = Vector2f |
A alias to a Vector2f. | |
| template<typename T > | |
| using | TVector3 = TVector< 3, T > |
A three dimensional vector type that uses a internal representation of type T | |
| using | Vector3 = TVector3< double > |
| A three dimensional vector with (x, y, z) coordinates. | |
| using | Vector3f = TVector3< float > |
| A three dimensional vector with (x, y, z) coordinates. | |
| using | Vector3i = TVector3< int > |
| A three dimensional vector with (x, y, z) coordinates. | |
| using | Vector3ui = TVector3< unsigned int > |
| A three dimensional vector with (x, y, z) coordinates. | |
| using | Vector3b = TVector3< bool > |
| A three dimensional vector with (x, y, z) coordinates. | |
| using | Vec3 = Vector3 |
A alias to a Vector3. | |
| using | Vec3f = Vector3f |
A alias to a Vector3f. | |
| template<typename T > | |
| using | TVector4 = TVector< 4, T > |
A four dimensional vector type that uses a internal representation of type T | |
| using | Vector4 = TVector4< double > |
| A four dimensional vector with (x, y, z, w) coordinates. | |
| using | Vector4f = TVector4< float > |
| A four dimensional vector with (x, y, z, w) coordinates. | |
| using | Vector4i = TVector4< int > |
| A four dimensional vector with (x, y, z, w) coordinates. | |
| using | Vector4ui = TVector4< unsigned int > |
| A four dimensional vector with (x, y, z, w) coordinates. | |
| using | Vector4b = TVector4< bool > |
| A four dimensional vector with (x, y, z, w) coordinates. | |
| using | Vec4 = Vector4 |
A alias to a Vector4. | |
| using | Vec4f = Vector4f |
A alias to a Vector4f. | |
Enumerations | |
| enum class | FrustumPlane { Left = 0 , Right = 1 , Top = 2 , Bottom = 3 , Far = 4 , Near = 5 } |
| Clip planes that form the camera frustum (visible area). More... | |
Functions | |
| template<CArithmetic T> | |
| std::ostream & | operator<< (std::ostream &os, const TDegree< T > °) |
| constexpr Degree | operator""_deg (const long double degree) |
| Creates a new literal degree angle by using a user-defined literal. | |
| constexpr Degreef | operator""_degf (const long double degree) |
| Creates a new literal degree angle by using a user-defined literal. | |
| template<CArithmetic T> | |
| std::ostream & | operator<< (std::ostream &os, const TRadian< T > &rad) |
| constexpr Radian | operator""_rad (const long double radian) |
| Creates a new literal radian angle by using a user-defined literal. | |
| constexpr Radianf | operator""_radf (const long double radian) |
| Creates a new literal radian angle by using a user-defined literal. | |
| template<typename T > | |
| constexpr TExtent2< T > | operator+ (const TExtent2< T > &lhs, const TExtent2< T > &rhs) noexcept |
| Returns the sum of left hand side extent 'lhs' and the right hand side extent 'rhs'. | |
| template<typename T > | |
| constexpr TExtent2< T > | operator- (const TExtent2< T > &lhs, const TExtent2< T > &rhs) noexcept |
| Returns the subtraction of left hand side extent 'lhs' and the right hand side extent 'rhs'. | |
| template<typename T > | |
| constexpr TExtent2< T > | operator* (const TExtent2< T > &lhs, T &rhs) noexcept |
| Returns the multiplication of left hand side extent 'lhs' and the right hand side extent 'rhs'. | |
| template<typename T > | |
| constexpr TExtent2< T > | operator/ (const TExtent2< T > &lhs, T &rhs) noexcept |
| Returns the division of left hand side extent 'lhs' and the right hand side extent 'rhs'. | |
| template<typename T > | |
| constexpr TExtent2< T > & | operator*= (TExtent2< T > &lhs, T rhs) noexcept |
| Returns the multiplication of left hand side extent 'lhs' and the right hand side extent 'rhs'. | |
| template<typename T > | |
| constexpr TExtent2< T > & | operator/= (TExtent2< T > &lhs, T rhs) noexcept |
| Returns the division of left hand side extent 'lhs' and the right hand side extent 'rhs'. | |
| template<typename T > | |
| constexpr TExtent3< T > | operator+ (const TExtent3< T > &lhs, const TExtent3< T > &rhs) noexcept |
| Returns the sum of left hand side extent 'lhs' and the right hand side extent 'rhs'. | |
| template<typename T > | |
| constexpr TExtent3< T > | operator- (const TExtent3< T > &lhs, const TExtent3< T > &rhs) noexcept |
| Returns the subtraction of left hand side extent 'lhs' and the right hand side extent 'rhs'. | |
| template<typename T > | |
| constexpr bool | operator== (const TExtent2< T > &lhs, const TExtent2< T > &rhs) noexcept |
| Returns true if the left hand side extent 'lhs' is equal to the right hand side extent 'rhs'. | |
| template<typename T > | |
| constexpr bool | operator!= (const TExtent2< T > &lhs, const TExtent2< T > &rhs) noexcept |
| Returns true if the left hand side extent 'lhs' is unequal to the right hand side extent 'rhs'. | |
| template<typename T > | |
| constexpr bool | operator== (const TExtent3< T > &lhs, const TExtent3< T > &rhs) noexcept |
| Returns true if the left hand side extent 'lhs' is equal to the right hand side extent 'rhs'. | |
| template<typename T > | |
| constexpr bool | operator!= (const TExtent3< T > &lhs, const TExtent3< T > &rhs) noexcept |
| Returns true if the left hand side extent 'lhs' is unequal to the right hand side extent 'rhs'. | |
| template<typename T , unsigned int P> | |
| constexpr FixedPoint< T, P > | operator- (const FixedPoint< T, P > a) noexcept |
Converts the fixed-point number a to it's negative representation. | |
| template<typename T , unsigned int P> | |
| constexpr FixedPoint< T, P > | operator+ (const FixedPoint< T, P > a) noexcept |
Converts the fixed-point number a to it's negative representation. | |
| template<typename T , unsigned int P> | |
| constexpr FixedPoint< T, P > | operator+ (const FixedPoint< T, P > a, const typename FixedPoint< T, P >::Self b) noexcept |
Add two fixed-point numbers a and b. | |
| template<typename T , unsigned int P> | |
| constexpr FixedPoint< T, P > | operator- (const FixedPoint< T, P > a, const typename FixedPoint< T, P >::Self b) noexcept |
Subtract two fixed-point numbers a and b. | |
| template<typename T , unsigned int P> | |
| constexpr FixedPoint< T, P > | operator* (const FixedPoint< T, P > x, const typename FixedPoint< T, P >::Self y) noexcept |
Multiply two fixed-point numbers a and b. | |
| template<typename T , unsigned int P> | |
| constexpr FixedPoint< T, P > | operator/ (const FixedPoint< T, P > x, const typename FixedPoint< T, P >::Self y) noexcept |
Divide two fixed-point numbers a and b. | |
| template<typename T , unsigned int P> | |
| constexpr FixedPoint< T, P > & | operator+= (FixedPoint< T, P > &a, const typename FixedPoint< T, P >::Self b) noexcept |
Add two fixed-point numbers a and b and assigns the resulting value into a. | |
| template<typename T , unsigned int P> | |
| constexpr FixedPoint< T, P > & | operator++ (FixedPoint< T, P > &a) noexcept |
Increment the fixed-point value by adding 1.0 to it. | |
| template<typename T , unsigned int P> | |
| constexpr FixedPoint< T, P > | operator++ (FixedPoint< T, P > &a, int) noexcept |
Increment the fixed-point value by adding 1.0 to it. | |
| template<typename T , unsigned int P> | |
| constexpr FixedPoint< T, P > & | operator-= (FixedPoint< T, P > &a, const typename FixedPoint< T, P >::Self b) noexcept |
Subtract two fixed-point numbers a and b and assigns the resulting value into a. | |
| template<typename T , unsigned int P> | |
| constexpr FixedPoint< T, P > & | operator-- (FixedPoint< T, P > &a) noexcept |
Decrement the fixed-point value by subtracting 1.0 from it. | |
| template<typename T , unsigned int P> | |
| constexpr FixedPoint< T, P > | operator-- (FixedPoint< T, P > &a, int) noexcept |
Decrement the fixed-point value by subtracting 1.0 from it. | |
| template<typename T , unsigned int P> | |
| constexpr FixedPoint< T, P > & | operator*= (FixedPoint< T, P > &a, const typename FixedPoint< T, P >::Self b) noexcept |
Multiply two fixed-point numbers a and b and assigns the resulting value into a. | |
| template<typename T , unsigned int P> | |
| constexpr bool | operator== (const FixedPoint< T, P > a, const typename FixedPoint< T, P >::Self b) noexcept |
| Compares two fixed-pointer numbers for equality. | |
| template<typename T , unsigned int P> | |
| constexpr bool | operator!= (const FixedPoint< T, P > a, const typename FixedPoint< T, P >::Self b) noexcept |
| Compares two fixed-pointer numbers for inequality. | |
| template<typename T , unsigned int P> | |
| constexpr bool | operator< (const FixedPoint< T, P > a, const typename FixedPoint< T, P >::Self b) noexcept |
| Compares two fixed-pointer numbers. | |
| template<typename T , unsigned int P> | |
| constexpr bool | operator< (const FixedPoint< T, P > a, double b) noexcept |
| Compares two fixed-pointer numbers. | |
| template<typename T , unsigned int P> | |
| constexpr bool | operator<= (const FixedPoint< T, P > a, const typename FixedPoint< T, P >::Self b) noexcept |
| Compares two fixed-pointer numbers. | |
| template<typename T , unsigned int P> | |
| constexpr bool | operator<= (const FixedPoint< T, P > a, double b) noexcept |
| Compares two fixed-pointer numbers. | |
| template<typename T , unsigned int P> | |
| constexpr bool | operator> (const FixedPoint< T, P > a, const typename FixedPoint< T, P >::Self b) noexcept |
| Compares two fixed-pointer numbers. | |
| template<typename T , unsigned int P> | |
| constexpr bool | operator> (const FixedPoint< T, P > a, double b) noexcept |
| Compares two fixed-pointer numbers. | |
| template<typename T , unsigned int P> | |
| constexpr bool | operator>= (const FixedPoint< T, P > a, const typename FixedPoint< T, P >::Self b) noexcept |
| Compares two fixed-pointer numbers. | |
| template<typename T , unsigned int P> | |
| constexpr bool | operator>= (const FixedPoint< T, P > a, double b) noexcept |
| Compares two fixed-pointer numbers. | |
| template<typename T , unsigned int P> | |
| constexpr FixedPoint< T, P > | abs (const FixedPoint< T, P > &x) |
| Returns the absolute value of a fixed-point value. | |
| template<typename T , unsigned int P> | |
| constexpr FixedPoint< T, P > | frac (const FixedPoint< T, P > &x) |
| Returns the fractional portion of a fixed-point value. | |
| template<typename T , unsigned int P> | |
| constexpr FixedPoint< T, P > | sign (const FixedPoint< T, P > &x) |
| Returns sign of scalar a fixed-point value. | |
| template<typename T , unsigned int P> | |
| constexpr FixedPoint< T, P > | floor (const FixedPoint< T, P > &x) |
| Returns largest integer not greater than a fixed-point value. | |
| template<typename T , unsigned int P> | |
| constexpr FixedPoint< T, P > | ceil (const FixedPoint< T, P > &x) |
| Returns smallest integer not less than a fixed-point value. | |
| template<typename T , unsigned int P> | |
| constexpr FixedPoint< T, P > | round (const FixedPoint< T, P > &x) |
| Returns the rounded value a fixed-point value. | |
| template<typename T , unsigned int P> | |
| constexpr FixedPoint< T, P > | sqrt (const FixedPoint< T, P > &x) |
| Returns square root of a fixed-point value. | |
| template<typename T , unsigned int P> | |
| constexpr FixedPoint< T, P > | acos (FixedPoint< T, P > x) |
| Returns arccosine of a fixed-point value. | |
| template<typename T , unsigned int P> | |
| constexpr FixedPoint< T, P > | asin (FixedPoint< T, P > x) |
| Returns arcsine of a fixed-point value. | |
| template<typename T , unsigned int P> | |
| constexpr FixedPoint< T, P > | atan2 (const FixedPoint< T, P > &y, const FixedPoint< T, P > &x) |
| Returns arctangent of a fixed-point value. | |
| template<typename T , unsigned int P> | |
| constexpr FixedPoint< T, P > | atan (const FixedPoint< T, P > &x) |
| Returns arctangent of a fixed-point value. | |
| template<typename B , unsigned int F> | |
| constexpr FixedPoint< B, F > | fmod (FixedPoint< B, F > x, FixedPoint< B, F > y) noexcept |
| template<typename B , unsigned int F> | |
| FixedPoint< B, F > | sin (FixedPoint< B, F > x) noexcept |
| template<typename T , unsigned int P> | |
| constexpr FixedPoint< T, P > | cos (const FixedPoint< T, P > &x) |
| Returns cosine of a fixed-point value. | |
| template<typename T , unsigned int P> | |
| constexpr FixedPoint< T, P > | tan (const FixedPoint< T, P > &x) |
| Returns tangent of a fixed-point value. Returns the tangent of a in radians. | |
| constexpr FixedPoint< Int64, sizeof(Int64) *8 - std::numeric_limits< double >::digits > | operator""_fp (const long double v) |
| Creates a new fixed-point number from an literal floating-point value. | |
| template<typename T > | |
| bool | approxEquals (T a, T b, T tolerance=std::numeric_limits< T >::epsilon()) |
| Compare two doubles, using tolerance for inaccuracies. | |
| template<typename T > | |
| bool | nearZero (T a, T tolerance=T(1e-8)) |
| Return true iff a is almost zero. | |
| template<typename T > | |
| std::ostream & | operator<< (std::ostream &os, const TAABox< T > &box) |
Prints a string representation of the AABox. | |
| template std::ostream & | operator<< (std::ostream &os, const TAABox< double > &box) |
| template std::ostream & | operator<< (std::ostream &os, const TAABox< float > &box) |
| template<typename T > | |
| std::ostream & | operator<< (std::ostream &os, const TRay< T > &ray) |
Prints a string representation of the Ray. | |
| template std::ostream & | operator<< (std::ostream &, const TRay< double > &) |
| template std::ostream & | operator<< (std::ostream &, const TRay< float > &) |
| template<typename T > | |
| std::ostream & | operator<< (std::ostream &os, const TRayIntersection< T > &intersection) |
Prints a string representation of the RayIntersection. | |
| template std::ostream & | operator<< (std::ostream &, const TRayIntersection< double > &) |
| template std::ostream & | operator<< (std::ostream &, const TRayIntersection< float > &) |
| template<typename T > | |
| constexpr void | multwide (T a, T b, T &hi, T &lo) |
| template<typename T > | |
| constexpr void | multwide (LargeInteger< T, T > a, LargeInteger< T, T > b, LargeInteger< T, T > &hi, LargeInteger< T, T > &lo) |
| template<typename T > | |
| constexpr void | mult128 (T N, T M, T &Ans) |
| template<typename U > | |
| constexpr void | mult128to256 (U N, U M, U &H, U &L) |
| template<char... _Args> | |
| constexpr UInt128 | operator""_u128 () |
| template<char... _Args> | |
| constexpr Int128 | operator""_i128 () |
| template<typename Hi , typename Low > | |
| constexpr LargeInteger< Hi, Low > | operator+ (LargeInteger< Hi, Low > lhs, typename LargeInteger< Hi, Low >::Self rhs) noexcept |
Add two large integer numbers lhs and rhs. | |
| template<typename Hi , typename Low > | |
| constexpr LargeInteger< Hi, Low > | operator- (LargeInteger< Hi, Low > lhs, typename LargeInteger< Hi, Low >::Self rhs) noexcept |
Subtracts two large integer numbers lhs and rhs. | |
| template<typename Hi , typename Low > | |
| constexpr LargeInteger< Hi, Low > | operator* (LargeInteger< Hi, Low > lhs, typename LargeInteger< Hi, Low >::Self rhs) noexcept |
Multiplies two large integer numbers lhs and rhs. | |
| template<typename Hi , typename Low > | |
| constexpr LargeInteger< Hi, Low > | operator/ (LargeInteger< Hi, Low > lhs, typename LargeInteger< Hi, Low >::Self rhs) noexcept |
Divides two large integer numbers lhs and rhs. | |
| template<typename Hi , typename Low > | |
| constexpr LargeInteger< Hi, Low > | operator% (LargeInteger< Hi, Low > lhs, typename LargeInteger< Hi, Low >::Self rhs) noexcept |
Calculates the module two large integer numbers lhs and rhs. | |
| template<typename Hi , typename Low > | |
| constexpr LargeInteger< Hi, Low > | operator& (LargeInteger< Hi, Low > lhs, typename LargeInteger< Hi, Low >::Self rhs) noexcept |
Bitwise and a large integer rhs. | |
| template<typename Hi , typename Low > | |
| constexpr LargeInteger< Hi, Low > | operator| (LargeInteger< Hi, Low > lhs, typename LargeInteger< Hi, Low >::Self rhs) noexcept |
Bitwise or a large integer rhs. | |
| template<typename Hi , typename Low > | |
| constexpr LargeInteger< Hi, Low > | operator^ (LargeInteger< Hi, Low > lhs, typename LargeInteger< Hi, Low >::Self rhs) noexcept |
Bitwise xor a large integer rhs. | |
| template<typename Hi , typename Low > | |
| constexpr LargeInteger< Hi, Low > | operator<< (LargeInteger< Hi, Low > lhs, int rhs) noexcept |
Left shifts rhs bits from lhs. | |
| template<typename Hi , typename Low > | |
| constexpr LargeInteger< Hi, Low > | operator>> (LargeInteger< Hi, Low > lhs, int rhs) noexcept |
Right shifts rhs bits from lhs. | |
| template<typename Hi , typename Low > | |
| constexpr LargeInteger< Hi, Low > | operator+ (LargeInteger< Hi, Low > lhs) noexcept |
| template<typename Hi , typename Low > | |
| constexpr LargeInteger< Hi, Low > | operator- (LargeInteger< Hi, Low > lhs) noexcept |
Inverts the signal of a large integer rhs. | |
| template<typename Hi , typename Low > | |
| constexpr LargeInteger< Hi, Low > | operator~ (LargeInteger< Hi, Low > lhs) noexcept |
Bitwise negates a large integer rhs. | |
| template<typename Hi , typename Low > | |
| constexpr bool | operator! (LargeInteger< Hi, Low > lhs) noexcept |
Logically negates a large integer rhs. | |
| template<typename Hi , typename Low > | |
| LargeInteger< Hi, Low > & | operator++ (LargeInteger< Hi, Low > &lhs) noexcept |
Increments a large integer lhs by 1. | |
| template<typename Hi , typename Low > | |
| LargeInteger< Hi, Low > | operator++ (LargeInteger< Hi, Low > &lhs, int) noexcept |
Increments a large integer lhs by 1. | |
| template<typename Hi , typename Low > | |
| LargeInteger< Hi, Low > & | operator-- (LargeInteger< Hi, Low > &lhs) noexcept |
Decrements a large integer lhs by 1. | |
| template<typename Hi , typename Low > | |
| LargeInteger< Hi, Low > | operator-- (LargeInteger< Hi, Low > &lhs, int) noexcept |
Decrements a large integer lhs by 1. | |
| template<typename Hi , typename Low > | |
| constexpr LargeInteger< Hi, Low > & | operator+= (LargeInteger< Hi, Low > &lhs, typename LargeInteger< Hi, Low >::Self rhs) noexcept |
Add two large integer numbers lhs and rhs in-place in lhs. | |
| template<typename Hi , typename Low > | |
| constexpr LargeInteger< Hi, Low > & | operator-= (LargeInteger< Hi, Low > &lhs, typename LargeInteger< Hi, Low >::Self rhs) noexcept |
Subtract two large integer numbers lhs and rhs in-place in lhs. | |
| template<typename Hi , typename Low > | |
| constexpr LargeInteger< Hi, Low > & | operator*= (LargeInteger< Hi, Low > &lhs, typename LargeInteger< Hi, Low >::Self rhs) noexcept |
Multiply two large integer numbers lhs and rhs in-place in lhs. | |
| template<typename Hi , typename Low > | |
| constexpr LargeInteger< Hi, Low > & | operator/= (LargeInteger< Hi, Low > &lhs, typename LargeInteger< Hi, Low >::Self rhs) noexcept |
Divide two large integer numbers lhs and rhs in-place in lhs. | |
| template<typename Hi , typename Low > | |
| constexpr LargeInteger< Hi, Low > & | operator%= (LargeInteger< Hi, Low > &lhs, typename LargeInteger< Hi, Low >::Self rhs) noexcept |
Calculates the remainder of the division of two large integer numbers lhs and rhs in-place in lhs. | |
| template<typename Hi , typename Low > | |
| constexpr LargeInteger< Hi, Low > & | operator<<= (LargeInteger< Hi, Low > &lhs, int rhs) noexcept |
Left shifts rhs bits from lhs in-place in lhs. | |
| template<typename Hi , typename Low > | |
| constexpr LargeInteger< Hi, Low > & | operator>>= (LargeInteger< Hi, Low > &lhs, int rhs) noexcept |
Right shifts rhs bits from lhs in-place in lhs. | |
| template<typename Hi , typename Low > | |
| constexpr LargeInteger< Hi, Low > & | operator&= (LargeInteger< Hi, Low > &lhs, typename LargeInteger< Hi, Low >::Self rhs) noexcept |
Bitwise and a large integer rhs in-place in lhs. | |
| template<typename Hi , typename Low > | |
| constexpr LargeInteger< Hi, Low > & | operator|= (LargeInteger< Hi, Low > &lhs, typename LargeInteger< Hi, Low >::Self rhs) noexcept |
Bitwise or a large integer rhs in-place in lhs. | |
| template<typename Hi , typename Low > | |
| constexpr LargeInteger< Hi, Low > & | operator^= (LargeInteger< Hi, Low > &lhs, typename LargeInteger< Hi, Low >::Self rhs) noexcept |
Bitwise xor a large integer rhs in-place in lhs. | |
| template<typename Hi , typename Low > | |
| constexpr bool | operator== (LargeInteger< Hi, Low > lhs, typename LargeInteger< Hi, Low >::Self rhs) noexcept |
Compares two large integer numbers lhs and rhs for equality. | |
| template<typename Hi , typename Low > | |
| constexpr bool | operator!= (LargeInteger< Hi, Low > lhs, typename LargeInteger< Hi, Low >::Self rhs) noexcept |
Compares two large integer numbers lhs and rhs for inequality. | |
| template<typename Hi , typename Low > | |
| constexpr bool | operator< (LargeInteger< Hi, Low > lhs, typename LargeInteger< Hi, Low >::Self rhs) noexcept |
Compares two large integer numbers lhs and rhs. | |
| template<typename Hi , typename Low > | |
| constexpr bool | operator<= (LargeInteger< Hi, Low > lhs, typename LargeInteger< Hi, Low >::Self rhs) noexcept |
Compares two large integer numbers lhs and rhs. | |
| template<typename Hi , typename Low > | |
| constexpr bool | operator> (LargeInteger< Hi, Low > lhs, typename LargeInteger< Hi, Low >::Self rhs) noexcept |
Compares two large integer numbers lhs and rhs. | |
| template<typename Hi , typename Low > | |
| constexpr bool | operator>= (LargeInteger< Hi, Low > lhs, typename LargeInteger< Hi, Low >::Self rhs) noexcept |
Compares two large integer numbers lhs and rhs. | |
| template<typename Hi , typename Low > | |
| constexpr LargeInteger< Hi, Low > | abs (LargeInteger< Hi, Low > x) |
Returns the absolute value of x: |x|. | |
| template<typename T > | |
| TMatrix4< T > constexpr | flipProjectionY (TMatrix4< T > proj) noexcept |
| template<typename T > | |
| constexpr TMatrix4< T > | frustum (T left, T right, T bottom, T top, T zNear, T zFar) noexcept |
| Creates a frustum matrix with default handedness, using the default handedness and default near and far clip planes definition. | |
| template<typename T > | |
| constexpr TMatrix4< T > | perspective (T fovy, T aspect, T zNear, T zFar) noexcept |
| Creates a matrix for a symetric perspective-view frustum based on the default handedness and default near and far clip planes definition. | |
| template<typename T > | |
| constexpr TMatrix4< T > | perspectiveFov (T fov, T width, T height, T zNear, T zFar) noexcept |
| Builds a perspective projection matrix based on a field of view and the default handedness and default near and far clip planes definition. | |
| template<typename T > | |
| constexpr TMatrix4< T > | infinitePerspective (T fovy, T aspect, T zNear) noexcept |
| Creates a matrix for a symmetric perspective-view frustum with far plane at infinite with default handedness. | |
| template<typename T > | |
| constexpr TMatrix4< T > | tweakedInfinitePerspective (T fovy, T aspect, T zNear) noexcept |
| Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping. | |
| template<typename T > | |
| constexpr TMatrix4< T > | tweakedInfinitePerspective (T fovy, T aspect, T zNear, T ep) noexcept |
| Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping. | |
| template<typename T > | |
| constexpr TMatrix4< T > | ortho (T left, T right, T bottom, T top, T zNear, T zFar) |
| Creates a matrix for projecting two-dimensional coordinates onto the screen. | |
| template<typename T > | |
| double | smoothStep (T val1, T val2, T t) |
| Performs smooth Hermite interpolation between values. | |
| template<typename T > | |
| T | quintic (T val) |
Performs quintic interpolation where val is the value to map onto a quintic S-curve. | |
| template<typename T , typename U > | |
| auto | cubic (T val1, T val2, T val3, T val4, U f) |
Performs cubic interpolation between two values bound between two other values where f is the alpha value. | |
| template<typename T , glm::length_t D> | |
| bool | approxEquals (const TVector< D, T > &a, const TVector< D, T > &b, T tolerance=std::numeric_limits< T >::epsilon()) |
| Compare two vectors, using tolerance for inaccuracies. | |
| template<typename T , glm::length_t D> | |
| bool | approxEquals (const TVector< D, T > &a, T b, T tolerance=std::numeric_limits< T >::epsilon()) |
| Compare two vectors, using tolerance for inaccuracies. | |
| template<typename T > | |
| bool | approxEquals (const TQuaternion< T > &a, const TQuaternion< T > &b, T tolerance=std::numeric_limits< T >::epsilon()) |
| Compare two quaternions, using tolerance for inaccuracies. | |
| template<typename T > | |
| T | lerp (T t, T min, T max) |
Linearly interpolates between the two values using t. | |
| template<typename T > | |
| T | invLerp (T val, T min, T max) |
| Determines the position of a value between two other values. | |
| template<typename A , typename B > | |
| std::common_type_t< A, B > | gcd (const A &a, const B &b) |
| Return the greater common divisor between two values. | |
| template<typename A , typename B > | |
| std::common_type_t< A, B > | lcm (const A &a, const B &b) |
| Return the least common multiple between two values. | |
| template<typename T > | |
| int | solveLinear (T A, T B, T *roots) |
| Solves the linear equation with the parameters A, B. | |
| template<typename T > | |
| int | solveQuadratic (T A, T B, T C, T *roots) |
| Solves the quadratic equation with the parameters A, B, C. | |
| template<typename T > | |
| int | solveCubic (T A, T B, T C, T D, T *roots) |
| Solves the cubic equation with the parameters A, B, C, D. | |
| template<typename T > | |
| int | solveQuartic (T A, T B, T C, T D, T E, T *roots) |
| Solves the quartic equation with the parameters A, B, C, D, E. | |
| template<class T > | |
| T | cubicHermite (const double t, const T &pointA, const T &pointB, const T &tangentA, const T &tangentB) |
| Evaluates a cubic Hermite curve at a specific point. | |
| template<class T > | |
| T | cubicHermiteD1 (const double t, const T &pointA, const T &pointB, const T &tangentA, const T &tangentB) |
| Evaluates the first derivative of a cubic Hermite curve at a specific point. | |
| template<class T > | |
| Array< T, 4 > | cubicHermiteCoefficients (const T &pointA, const T &pointB, const T &tangentA, const T &tangentB) |
| Calculates coefficients needed for evaluating a cubic curve in Hermite form. | |
| template<class T , typename L > | |
| Array< T, 4 > | cubicHermiteCoefficients (const T &pointA, const T &pointB, const T &tangentA, const T &tangentB, L length) |
| Calculates coefficients needed for evaluating a cubic curve in Hermite form. | |
| template<typename T , typename Integrand > | |
| T | rombergIntegration (T a, T b, int order, Integrand &&integrand) |
| Calculates the Romberg Integration. | |
| template<typename T , typename Integrand > | |
| T | gaussianQuadrature (T a, T b, T *roots, T *coefficients, Integrand &&integrand) |
| Calculates the Gaussian Quadrature. | |
| template<typename T > | |
| T | haltonSequence (int index, int base) |
| Generates numbers in a deterministic sequence suitable for Monte Carlo algorithms. | |
| template<typename T > | |
| T | angle (const TVector2< T > &v1, const TVector2< T > &v2) |
| template<typename T > | |
| T | angle (const TVector3< T > &v1, const TVector3< T > &v2) |
| template<typename T > | |
| TVector2< T > | cross (const TVector2< T > &v) |
| template<typename T > | |
| TVector3< T > | transform (const TQuaternion< T > &q, const TVector3< T > &v) |
| template<typename T > | |
| TQuaternion< T > | qrotate (const T &angle, const TVector3< T > &axis) |
| template<typename T > | |
| TVector3< T > | normal (const TVector3< T > &p1, const TVector3< T > &p2, const TVector3< T > &p3) |
| template<typename T , typename TI , typename TS > | |
| TVector3< T > | project (const TVector3< T > &v, const TMatrix4< T > &modelViewProj, const TVector2< TI > &viewportOrigin, const TVector2< TS > &viewportSize) |
| template<typename T > | |
| TMatrix4< T > | ortho2D (const T &left, const T &right, const T &bottom, const T &top) |
| template<typename T > | |
| TVector3< T > | slerp (const TVector3< T > &v1, const TVector3< T > &v2, const T &a) |
| template<typename T > | |
| TMatrix4< T > | rotate (const TVector3< T > &angle) |
| template<typename T > | |
| TMatrix3< T > | rotate (const T &angle) |
| template<typename T > | |
| TVector2< T > | transform (const TMatrix3< T > &m, const TVector2< T > &v) |
| template<int D, typename T > | |
| TVector2< T > | bezier (const TVector2< T >(&p)[D], T t) |
| template<int D, typename T > | |
| TVector3< T > | bezier (const TVector3< T >(&p)[D], T t) |
| template<int D0, int D1, typename T > | |
| TVector3< T > | bezier2 (const TVector3< T >(&p)[D1][D0], const TVector2< T > &t) |
| template<int O, int D, typename T > | |
| TVector2< T > | bezierDerivative (const TVector2< T >(&p)[D], T t) |
| template<int O, int D, typename T > | |
| TVector3< T > | bezierDerivative (const TVector3< T >(&p)[D], T t) |
| template<int O, int D0, int D1, typename T > | |
| TMatrix2x3< T > | bezier2Jacobian (const TVector3< T >(&p)[D1][D0], const TVector2< T > &t) |
| template<typename T > | |
| constexpr TOffset2< T > | operator+ (const TOffset2< T > &lhs, const TOffset2< T > &rhs) noexcept |
| Returns the sum of left hand side offset 'lhs' and the right hand side offset 'rhs'. | |
| template<typename T > | |
| constexpr TOffset2< T > | operator- (const TOffset2< T > &lhs, const TOffset2< T > &rhs) noexcept |
| Returns the subtraction of left hand side offset 'lhs' and the right hand side offset 'rhs'. | |
| template<typename T > | |
| constexpr TOffset3< T > | operator+ (const TOffset3< T > &lhs, const TOffset3< T > &rhs) noexcept |
| Returns the sum of left hand side offset 'lhs' and the right hand side offset 'rhs'. | |
| template<typename T > | |
| constexpr TOffset3< T > | operator- (const TOffset3< T > &lhs, const TOffset3< T > &rhs) noexcept |
| Returns the subtraction of left hand side offset 'lhs' and the right hand side offset 'rhs'. | |
| template<typename T > | |
| constexpr bool | operator== (const TOffset2< T > &lhs, const TOffset2< T > &rhs) noexcept |
| Returns true if the left hand side offset 'lhs' is equal to the right hand side offset 'rhs'. | |
| template<typename T > | |
| constexpr bool | operator!= (const TOffset2< T > &lhs, const TOffset2< T > &rhs) noexcept |
| Returns true if the left hand side offset 'lhs' is unequal to the right hand side offset 'rhs'. | |
| template<typename T > | |
| constexpr bool | operator== (const TOffset3< T > &lhs, const TOffset3< T > &rhs) noexcept |
| Returns true if the left hand side offset 'lhs' is equal to the right hand side offset 'rhs'. | |
| template<typename T > | |
| constexpr bool | operator!= (const TOffset3< T > &lhs, const TOffset3< T > &rhs) noexcept |
| Returns true if the left hand side offset 'lhs' is unequal to the right hand side offset 'rhs'. | |
| template<typename OffsetT , typename LengthT > | |
| constexpr TRange< OffsetT, LengthT > | operator& (TRange< OffsetT, LengthT > a, TRange< OffsetT, LengthT > b) noexcept |
Computes the intersection of both ranges a and b. | |
| template<typename OffsetT , typename LengthT > | |
| constexpr bool | operator== (TRange< OffsetT, LengthT > a, TRange< OffsetT, LengthT > b) noexcept |
| Compares two ranges for equality. | |
| template<typename OffsetT , typename LengthT > | |
| constexpr bool | operator!= (TRange< OffsetT, LengthT > a, TRange< OffsetT, LengthT > b) noexcept |
| Compares two ranges for inequality. | |
| template<typename OffsetT , typename LengthT > | |
| constexpr bool | operator< (decltype(TRange< OffsetT, LengthT >::offset) offset, TRange< OffsetT, LengthT > range) noexcept |
| Checks if a offset is before the range. | |
| template<typename OffsetT , typename LengthT > | |
| constexpr bool | operator<= (decltype(TRange< OffsetT, LengthT >::offset) offset, TRange< OffsetT, LengthT > range) noexcept |
| Checks if a offset is before the range or is within the range. | |
| template<typename OffsetT , typename LengthT > | |
| constexpr bool | operator> (decltype(TRange< OffsetT, LengthT >::offset) offset, TRange< OffsetT, LengthT > range) noexcept |
| Checks if a offset is after the range. | |
| template<typename OffsetT , typename LengthT > | |
| constexpr bool | operator>= (decltype(TRange< OffsetT, LengthT >::offset) offset, TRange< OffsetT, LengthT > range) noexcept |
| Checks if a offset is after the range or is within the range. | |
| template<typename T > | |
| constexpr T | MinX (const TRect2< T > &rect) |
| template<typename T > | |
| constexpr T | MinY (const TRect2< T > &rect) |
| template<typename T > | |
| constexpr T | Width (const TRect2< T > &rect) |
| template<typename T > | |
| constexpr T | Height (const TRect2< T > &rect) |
| template<typename T > | |
| constexpr T | MaxX (const TRect2< T > &rect) |
| template<typename T > | |
| constexpr T | MaxY (const TRect2< T > &rect) |
| template<typename T > | |
| constexpr T | MidX (const TRect2< T > &rect) |
| template<typename T > | |
| constexpr T | MidY (const TRect2< T > &rect) |
| template<std::size_t N, glm::length_t D, typename T > | |
| T & | get (TVector< D, T > &vector) noexcept |
| Decomposes a vector into one of it's components. | |
| template<std::size_t N, glm::length_t D, typename T > | |
| const T & | get (const TVector< D, T > &vector) noexcept |
| Decomposes a vector into one of it's components. | |
| using Math::AABox = typedef TAABox<double> |
Axis aligned box represented by minimum and maximum point.
| using Math::AABoxf = typedef TAABox<float> |
Axis aligned box represented by minimum and maximum point.
| using Math::AffineTransform = typedef TAffineTransform<double> |
An affine transformation matrix for use in drawing 2D graphics.
An affine transformation matrix is used to rotate, scale, translate, or skew the objects you draw in a graphics context. The TAffineTransform type provides functions for creating, concatenating, and applying affine transformations.
Affine transforms are represented by a 3 by 3 matrix.
| using Math::Capsule = typedef TCapsule<double> |
Represents a capsule with a line segment and a radius.
| using Math::Capsulef = typedef TCapsule<float> |
Represents a capsule with a line segment and a radius.
| using Math::Color = typedef TColor<double> |
| using Math::Colorf = typedef TColor<float> |
| using Math::ConvexVolume = typedef TConvexVolume<double> |
Represents a convex volume defined by planes representing the volume border.
| using Math::ConvexVolumef = typedef TConvexVolume<float> |
Represents a convex volume defined by planes representing the volume border.
| using Math::Degree = typedef TDegree<double> |
A Degree type that uses double as storage type.
| using Math::Degreef = typedef TDegree<float> |
A Degree type that uses float as storage type.
| using Math::Extent2 = typedef TExtent2<double> |
2-Dimensional extent structure.
| using Math::Extent2f = typedef TExtent2<float> |
2-Dimensional extent structure.
| using Math::Extent2UI = typedef TExtent2<UInt32> |
2-Dimensional extent structure.
| using Math::Extent3 = typedef TExtent3<double> |
3-Dimensional extent structure.
| using Math::Extent3f = typedef TExtent3<float> |
3-Dimensional extent structure.
| using Math::Facing = typedef TFacing<double> |
A structure that describes orthogonal directions.
| using Math::Facingf = typedef TFacing<float> |
A structure that describes orthogonal directions.
| using Math::Fixed16x48 = typedef Math::FixedPoint<Int64, 48> |
A general purpose 16.48 fixed point type.
| using Math::Fixed20x44 = typedef FixedPoint<Int64, 44> |
A general purpose 20.44 fixed point type.
| using Math::Fixed32x32 = typedef FixedPoint<Int64, 32> |
A general purpose 32.32 fixed point type.
| using Math::Fixed32x96 = typedef FixedPoint<Int128, 96> |
A general purpose 32.96 fixed point type.
| using Math::Fixed44x20 = typedef FixedPoint<Int64, 20> |
A general purpose 44.20 fixed point type.
| using Math::Fixed48x16 = typedef Math::FixedPoint<Int64, 16> |
A general purpose 48.16 fixed point type.
| using Math::Fixed64x64 = typedef FixedPoint<Int128, 64> |
A general purpose 64.64 fixed point type.
| using Math::Fixed96x32 = typedef FixedPoint<Int128, 32> |
A general purpose 96.32 fixed point type.
| using Math::Int128 = typedef LargeInteger<Int64> |
An alias to a signed 128-bit integer type.
| using Math::LineSegment = typedef TLineSegment<double> |
Represents a line segment in three dimensional space defined by a start and an end point.
| using Math::LineSegmentf = typedef TLineSegment<float> |
Represents a line segment in three dimensional space defined by a start and an end point.
| using Math::Matrix2 = typedef TMatrix2<double> |
A 2x2 matrix matrix. Data is internally represented as double.
| using Math::Matrix2f = typedef TMatrix2<float> |
A 2x2 matrix matrix. Data is internally represented as float.
| using Math::Matrix2x3 = typedef TMatrix2x3<double> |
A 2x3 matrix matrix. Data is internally represented as double.
| using Math::Matrix2x3f = typedef TMatrix2x3<float> |
A 2x3 matrix matrix. Data is internally represented as float.
| using Math::Matrix2x4 = typedef TMatrix2x4<double> |
A 2x4 matrix matrix. Data is internally represented as double.
| using Math::Matrix2x4f = typedef TMatrix2x4<float> |
A 2x4 matrix matrix. Data is internally represented as float.
| using Math::Matrix3 = typedef TMatrix3<double> |
A 3x3 matrix matrix. Data is internally represented as double.
| using Math::Matrix3f = typedef TMatrix3<float> |
A 3x3 matrix matrix. Data is internally represented as float.
| using Math::Matrix3x2 = typedef TMatrix3x2<double> |
A 3x2 matrix matrix. Data is internally represented as double.
| using Math::Matrix3x2f = typedef TMatrix3x2<float> |
A 3x2 matrix matrix. Data is internally represented as float.
| using Math::Matrix3x4 = typedef TMatrix3x4<double> |
A 3x4 matrix matrix. Data is internally represented as double.
| using Math::Matrix3x4f = typedef TMatrix3x4<float> |
A 3x4 matrix matrix. Data is internally represented as float.
| using Math::Matrix4 = typedef TMatrix4<double> |
A 4x4 matrix matrix. Data is internally represented as double.
| using Math::Matrix4f = typedef TMatrix4<float> |
A 4x4 matrix matrix. Data is internally represented as float.
| using Math::Matrix4x2 = typedef TMatrix4x2<double> |
A 4x2 matrix matrix. Data is internally represented as double.
| using Math::Matrix4x2f = typedef TMatrix4x2<float> |
A 4x2 matrix matrix. Data is internally represented as float.
| using Math::Matrix4x3 = typedef TMatrix4x3<double> |
A 4x3 matrix matrix. Data is internally represented as double.
| using Math::Matrix4x3f = typedef TMatrix4x3<float> |
A 4x3 matrix matrix. Data is internally represented as float.
| using Math::Offset2 = typedef TOffset2<double> |
2-Dimensional offset structure.
| using Math::Offset2f = typedef TOffset2<float> |
2-Dimensional offset structure.
| using Math::Offset3 = typedef TOffset3<double> |
3-Dimensional offset structure.
| using Math::Offset3f = typedef TOffset3<float> |
3-Dimensional offset structure.
| using Math::Plane = typedef TPlane<double> |
A plane represented by a normal and a distance.
| using Math::Planef = typedef TPlane<float> |
A plane represented by a normal and a distance.
| using Math::Point2 = typedef TPoint2<double> |
A type that contains a point in a two-dimensional coordinate system.
| using Math::Quaternion = typedef TQuaternion<double> |
A quaternion type. Data is internally represented as double.
| using Math::Quaternionf = typedef TQuaternion<float> |
A quaternion type. Data is internally represented as float.
| using Math::Radian = typedef TRadian<double> |
A Radian type that uses double as storage type.
| using Math::Radianf = typedef TRadian<float> |
A Radian type that uses float as storage type.
| using Math::Range = typedef TRange<double> |
| using Math::Rangef = typedef TRange<float> |
| using Math::Rangei = typedef TRange<Int64> |
| using Math::Rayf = typedef TRay<float> |
A ray in 3D space represented with an origin and direction.
| using Math::RayIntersection = typedef TRayIntersection<double> |
A structure that describes an intersection with a ray.
| using Math::RayIntersectionf = typedef TRayIntersection<float> |
A structure that describes an intersection with a ray.
| using Math::Rect = typedef TRect<double> |
Represents a rectangle in three dimensional space.
It is represented by two axes that extend from the specified origin. Axes should be perpendicular to each other and they extend in both positive and negative directions from the origin by the amount specified by extents.
| using Math::Rect2 = typedef TRect2<double> |
Represents a 2D rectangle using real values.
Rectangle is represented with an origin in top left and width/height.
| using Math::Rect2Edge = typedef TRect2Edge<double> |
| using Math::Rectf = typedef TRect<float> |
Represents a rectangle in three dimensional space.
It is represented by two axes that extend from the specified origin. Axes should be perpendicular to each other and they extend in both positive and negative directions from the origin by the amount specified by extents.
| using Math::Size2 = typedef TSize2<double> |
A structure that contains width and height values.
| using Math::Sphere = typedef TSphere<double> |
A sphere represented by a center point and a radius.
| using Math::Spheref = typedef TSphere<float> |
A sphere represented by a center point and a radius.
| using Math::TMatrix = typedef glm::mat<C, R, T, glm::highp> |
A CxR matrix that uses a internal representation of type T.
| using Math::TMatrix2 = typedef TMatrix<2, 2, T> |
A 2x2 type that uses a internal representation of type T
| using Math::TMatrix2x3 = typedef TMatrix<2, 3, T> |
A 2x3 type that uses a internal representation of type T
| using Math::TMatrix2x4 = typedef TMatrix<2, 4, T> |
A 2x4 type that uses a internal representation of type T
| using Math::TMatrix3 = typedef TMatrix<3, 3, T> |
A 3x3 type that uses a internal representation of type T
| using Math::TMatrix3x2 = typedef TMatrix<3, 2, T> |
A 3x2 type that uses a internal representation of type T
| using Math::TMatrix3x4 = typedef TMatrix<3, 4, T> |
A 3x4 type that uses a internal representation of type T
| using Math::TMatrix4 = typedef TMatrix<4, 4, T> |
A 4x4 type that uses a internal representation of type T
| using Math::TMatrix4x2 = typedef TMatrix<4, 2, T> |
A 4x2 type that uses a internal representation of type T
| using Math::TMatrix4x3 = typedef TMatrix<4, 3, T> |
A 4x3 type that uses a internal representation of type T
| using Math::TPoint2 = typedef TVector2<T> |
A type that contains a point in a two-dimensional coordinate system.
| using Math::TQuaternion = typedef glm::qua<T, glm::highp> |
A quaternion type that uses a internal representation of type T
| using Math::Transform = typedef TTransform<double> |
A class that simplifies working with transformation matrices.
| T | The scalar type used by the transform. |
| using Math::Transformf = typedef TTransform<float> |
A class that simplifies working with transformation matrices.
| T | The scalar type used by the transform. |
| using Math::TVector = typedef glm::vec<D, T, glm::highp> |
A D-dimensional vector type that uses a internal representation of type T
| using Math::TVector2 = typedef TVector<2, T> |
A two dimensional vector type that uses a internal representation of type T
| using Math::TVector3 = typedef TVector<3, T> |
A three dimensional vector type that uses a internal representation of type T
| using Math::TVector4 = typedef TVector<4, T> |
A four dimensional vector type that uses a internal representation of type T
| using Math::UInt128 = typedef LargeInteger<UInt64> |
An alias to a unsigned 128-bit integer type.
| using Math::Vec2 = typedef Vector2 |
A alias to a Vector2.
| using Math::Vec2f = typedef Vector2f |
A alias to a Vector2f.
| using Math::Vec3 = typedef Vector3 |
A alias to a Vector3.
| using Math::Vec3f = typedef Vector3f |
A alias to a Vector3f.
| using Math::Vec4 = typedef Vector4 |
A alias to a Vector4.
| using Math::Vec4f = typedef Vector4f |
A alias to a Vector4f.
| using Math::Vector2 = typedef TVector2<double> |
A two dimensional vector with (x, y) coordinates.
| using Math::Vector2b = typedef TVector2<bool> |
A two dimensional vector with (x, y) coordinates.
Data is internally represented as bool.
| using Math::Vector2f = typedef TVector2<float> |
A two dimensional vector with (x, y) coordinates.
Data is internally represented as float.
| using Math::Vector2i = typedef TVector2<int> |
A two dimensional vector with (x, y) coordinates.
Data is internally represented as unsigned int.
| using Math::Vector2ui = typedef TVector2<unsigned int> |
A two dimensional vector with (x, y) coordinates.
Data is internally represented as unsigned int.
| using Math::Vector3 = typedef TVector3<double> |
A three dimensional vector with (x, y, z) coordinates.
| using Math::Vector3b = typedef TVector3<bool> |
A three dimensional vector with (x, y, z) coordinates.
Data is internally represented as bool.
| using Math::Vector3f = typedef TVector3<float> |
A three dimensional vector with (x, y, z) coordinates.
Data is internally represented as float.
| using Math::Vector3i = typedef TVector3<int> |
A three dimensional vector with (x, y, z) coordinates.
Data is internally represented as unsigned int.
| using Math::Vector3ui = typedef TVector3<unsigned int> |
A three dimensional vector with (x, y, z) coordinates.
Data is internally represented as unsigned int.
| using Math::Vector4 = typedef TVector4<double> |
A four dimensional vector with (x, y, z, w) coordinates.
| using Math::Vector4b = typedef TVector4<bool> |
A four dimensional vector with (x, y, z, w) coordinates.
Data is internally represented as bool.
| using Math::Vector4f = typedef TVector4<float> |
A four dimensional vector with (x, y, z, w) coordinates.
Data is internally represented as float.
| using Math::Vector4i = typedef TVector4<int> |
A four dimensional vector with (x, y, z, w) coordinates.
Data is internally represented as unsigned int.
| using Math::Vector4ui = typedef TVector4<unsigned int> |
A four dimensional vector with (x, y, z, w) coordinates.
Data is internally represented as unsigned int.
|
strong |
|
inlineconstexpr |
Returns the absolute value of a fixed-point value.
|
constexpr |
Returns the absolute value of x: |x|.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| x | The value whose absolute value is returned. |
x.
|
inlineconstexpr |
Returns arccosine of a fixed-point value.
|
inline |
Compare two quaternions, using tolerance for inaccuracies.
|
inline |
Compare two vectors, using tolerance for inaccuracies.
|
inline |
Compare two vectors, using tolerance for inaccuracies.
|
inline |
Compare two doubles, using tolerance for inaccuracies.
|
inlineconstexpr |
Returns arcsine of a fixed-point value.
|
inlineconstexpr |
Returns arctangent of a fixed-point value.
Returns the arctangent of x in the range of -pi/2 to pi/2 radians.
|
inlineconstexpr |
Returns arctangent of a fixed-point value.
Calculates the arctangent of y/x. atan2 is well defined for every point other than the origin, even if x equals 0 and y does not equal 0.
| TVector3< T > Math::bezier2 | ( | const TVector3< T >(&) | p[D1][D0], |
| const TVector2< T > & | t | ||
| ) |
| TMatrix2x3< T > Math::bezier2Jacobian | ( | const TVector3< T >(&) | p[D1][D0], |
| const TVector2< T > & | t | ||
| ) |
| TVector2< T > Math::bezierDerivative | ( | const TVector2< T >(&) | p[D], |
| T | t | ||
| ) |
| TVector3< T > Math::bezierDerivative | ( | const TVector3< T >(&) | p[D], |
| T | t | ||
| ) |
|
inlineconstexpr |
Returns smallest integer not less than a fixed-point value.
|
inlineconstexpr |
Returns cosine of a fixed-point value.
Returns the cosine of a in radians. The return value is in the range [-1,+1].
|
inline |
Performs cubic interpolation between two values bound between two other values where f is the alpha value.
It should range from 0.0 to 1.0. If it is 0.0 the method returns val2. If it is 1.0 it returns val3.
|
inline |
Evaluates a cubic Hermite curve at a specific point.
| t | The parameter that at which to evaluate the curve, in range [0, 1]. |
| pointA | The starting point (at t=0). |
| pointB | The ending point (at t=1). |
| tangentA | The starting tangent (at t=0). |
| tangentB | The ending tangent (at t = 1). |
t.
|
inline |
Calculates coefficients needed for evaluating a cubic curve in Hermite form.
Assumes t has been normalized is in range [0, 1]. Tangents must be scaled by the length of the curve (length is the maximum value of t before it was normalized).
| pointA | The starting point (at t=0). |
| pointB | The ending point (at t=1). |
| tangentA | The starting tangent (at t=0). |
| tangentB | The ending tangent (at t=1). |
|
inline |
Calculates coefficients needed for evaluating a cubic curve in Hermite form.
Assumes t is in range [0, length]. Tangents must not be scaled by length.
| pointA | The starting point (at t=0). |
| pointB | The ending point (at t=length). |
| tangentA | The starting tangent (at t=0). |
| tangentB | The ending tangent (at t=length). |
| length | The maximum value the curve will be evaluated at. |
|
inline |
Evaluates the first derivative of a cubic Hermite curve at a specific point.
| t | The parameter that at which to evaluate the curve, in range [0, 1]. |
| pointA | The starting point (at t=0). |
| pointB | The ending point (at t=1). |
| tangentA | The starting tangent (at t=0). |
| tangentB | The ending tangent (at t=1). |
t.
|
inlineconstexprnoexcept |
|
inlineconstexpr |
Returns largest integer not greater than a fixed-point value.
|
inlineconstexprnoexcept |
|
inlineconstexpr |
Returns the fractional portion of a fixed-point value.
|
inlineconstexprnoexcept |
Creates a frustum matrix with default handedness, using the default handedness and default near and far clip planes definition.
| T | A floating-point scalar type |
|
inline |
Calculates the Gaussian Quadrature.
| a | The lower bound. |
| b | The upper bound. |
| roots | The roots of the function. |
| coefficients | The coefficients of the function. |
| integrand | The function to integrate. |
|
inline |
Return the greater common divisor between two values.
|
noexcept |
Decomposes a vector into one of it's components.
| N | The component to be decomposed. |
| D | The vector dimension |
| T | The vector component type. |
| vector | The vector to be decomposed. |
|
noexcept |
Decomposes a vector into one of it's components.
| N | The component to be decomposed. |
| D | The vector dimension |
| T | The vector component type. |
| vector | The vector to be decomposed. |
|
inline |
Generates numbers in a deterministic sequence suitable for Monte Carlo algorithms.
| index | The index of the item in the sequence to return. |
| base | The base that determines how is the sequence sub-divided. |
|
inlineconstexpr |
|
inlineconstexprnoexcept |
Creates a matrix for a symmetric perspective-view frustum with far plane at infinite with default handedness.
| fovy | Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. |
| aspect | Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). |
| zNear | Specifies the distance from the viewer to the near clipping plane (always positive). |
| T | A floating-point scalar type |
|
inline |
Determines the position of a value between two other values.
Returns 0 if value is less or equal than min, 1 if value is equal or greater than max, and value in range (0, 1) otherwise.
|
inline |
Return the least common multiple between two values.
|
inline |
Linearly interpolates between the two values using t.
t should be in [0, 1] range, where t = 0 corresponds to min value, while t = 1 corresponds to max value.
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
inline |
Return true iff a is almost zero.
| TVector3< T > Math::normal | ( | const TVector3< T > & | p1, |
| const TVector3< T > & | p2, | ||
| const TVector3< T > & | p3 | ||
| ) |
|
constexprnoexcept |
Logically negates a large integer rhs.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
|
inlineconstexprnoexcept |
Compares two fixed-pointer numbers for inequality.
| T | the fixed-point underlying integer type |
| P | the number of bits dedicated to the fixed-point |
| a | The right-hand side operator |
| b | The left-hand side operator |
true if a and b DO NOT represent the same number
|
inlineconstexprnoexcept |
Returns true if the left hand side extent 'lhs' is unequal to the right hand side extent 'rhs'.
|
inlineconstexprnoexcept |
Returns true if the left hand side extent 'lhs' is unequal to the right hand side extent 'rhs'.
|
inlineconstexprnoexcept |
Returns true if the left hand side offset 'lhs' is unequal to the right hand side offset 'rhs'.
|
inlineconstexprnoexcept |
Returns true if the left hand side offset 'lhs' is unequal to the right hand side offset 'rhs'.
|
constexprnoexcept |
Compares two large integer numbers lhs and rhs for inequality.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
| rhs | The right-hand side operand |
true if lhs and rhs do not represent the same number
|
constexprnoexcept |
Compares two ranges for inequality.
| OffsetT | the range offset type |
| LengthT | the range length type |
| a | The range a |
| b | The range b |
true if both a and b DO NOT represent the same range.
|
constexpr |
Creates a new literal degree angle by using a user-defined literal.
|
constexpr |
Creates a new literal degree angle by using a user-defined literal.
|
constexpr |
Creates a new fixed-point number from an literal floating-point value.
| v | The floating point value |
|
constexpr |
Creates a new literal radian angle by using a user-defined literal.
|
constexpr |
Creates a new literal radian angle by using a user-defined literal.
|
constexprnoexcept |
Calculates the module two large integer numbers lhs and rhs.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
| rhs | The right-hand side operand |
lhs % rhs
|
constexprnoexcept |
Calculates the remainder of the division of two large integer numbers lhs and rhs in-place in lhs.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
| rhs | The right-hand side operand |
lhs after the operation
|
constexprnoexcept |
Bitwise and a large integer rhs.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
| rhs | The right-hand side operand |
|
constexprnoexcept |
Computes the intersection of both ranges a and b.
| OffsetT | the range offset type |
| LengthT | the range length type |
| a | The range a |
| b | The range b |
|
constexprnoexcept |
Bitwise and a large integer rhs in-place in lhs.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
| rhs | The right-hand side operand |
lhs after the operation
|
inlineconstexprnoexcept |
Multiply two fixed-point numbers a and b.
| T | the fixed-point underlying integer type |
| P | the number of bits dedicated to the fixed-point |
| x | The right-hand side operator |
| y | The left-hand side operator |
a * b
|
constexprnoexcept |
Returns the multiplication of left hand side extent 'lhs' and the right hand side extent 'rhs'.
|
constexprnoexcept |
Multiplies two large integer numbers lhs and rhs.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
| rhs | The right-hand side operand |
lhs * rhs
|
inlineconstexprnoexcept |
Multiply two fixed-point numbers a and b and assigns the resulting value into a.
| T | the fixed-point underlying integer type |
| P | the number of bits dedicated to the fixed-point |
| a | The right-hand side operator |
| b | The left-hand side operator |
|
constexprnoexcept |
Multiply two large integer numbers lhs and rhs in-place in lhs.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
| rhs | The right-hand side operand |
lhs after the operation
|
constexprnoexcept |
Returns the multiplication of left hand side extent 'lhs' and the right hand side extent 'rhs'.
|
inlineconstexprnoexcept |
Converts the fixed-point number a to it's negative representation.
| T | the fixed-point underlying integer type |
| P | the number of bits dedicated to the fixed-point |
| a | The number to calculate the negative of |
a
|
inlineconstexprnoexcept |
Add two fixed-point numbers a and b.
| T | the fixed-point underlying integer type |
| P | the number of bits dedicated to the fixed-point |
| a | The right-hand side operator |
| b | The left-hand side operator |
a + b
|
constexprnoexcept |
Returns the sum of left hand side extent 'lhs' and the right hand side extent 'rhs'.
std::numeric_limits<UInt32>::max().
|
constexprnoexcept |
Returns the sum of left hand side extent 'lhs' and the right hand side extent 'rhs'.
std::numeric_limits<UInt32>::max().
|
constexprnoexcept |
Returns the sum of left hand side offset 'lhs' and the right hand side offset 'rhs'.
[std::numeric_limits<T>::min(), std::numeric_limits<T>::max().
|
constexprnoexcept |
Returns the sum of left hand side offset 'lhs' and the right hand side offset 'rhs'.
std::numeric_limits<T>::min(), std::numeric_limits<T>::max().
|
constexprnoexcept |
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
rhs unmodified
|
constexprnoexcept |
Add two large integer numbers lhs and rhs.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
| rhs | The right-hand side operand |
lhs + rhs
|
inlineconstexprnoexcept |
Increment the fixed-point value by adding 1.0 to it.
| T | the fixed-point underlying integer type |
| P | the number of bits dedicated to the fixed-point |
| a | The fixed-point value to be incremented |
a
|
inlineconstexprnoexcept |
Increment the fixed-point value by adding 1.0 to it.
| T | the fixed-point underlying integer type |
| P | the number of bits dedicated to the fixed-point |
| a | The fixed-point value to be incremented |
a before the increment
|
noexcept |
Increments a large integer lhs by 1.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
rhs integer incremented by one
|
noexcept |
Increments a large integer lhs by 1.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
rhs before incrementing
|
inlineconstexprnoexcept |
Add two fixed-point numbers a and b and assigns the resulting value into a.
| T | the fixed-point underlying integer type |
| P | the number of bits dedicated to the fixed-point |
| a | The right-hand side operator |
| b | The left-hand side operator |
|
constexprnoexcept |
Add two large integer numbers lhs and rhs in-place in lhs.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
| rhs | The right-hand side operand |
lhs after the operation
|
inlineconstexprnoexcept |
Converts the fixed-point number a to it's negative representation.
| T | the fixed-point underlying integer type |
| P | the number of bits dedicated to the fixed-point |
| a | The number to calculate the negative of |
a
|
inlineconstexprnoexcept |
Subtract two fixed-point numbers a and b.
| T | the fixed-point underlying integer type |
| P | the number of bits dedicated to the fixed-point |
| a | The right-hand side operator |
| b | The left-hand side operator |
a - b
|
constexprnoexcept |
Returns the subtraction of left hand side extent 'lhs' and the right hand side extent 'rhs'.
|
constexprnoexcept |
Returns the subtraction of left hand side extent 'lhs' and the right hand side extent 'rhs'.
|
constexprnoexcept |
Returns the subtraction of left hand side offset 'lhs' and the right hand side offset 'rhs'.
std::numeric_limits<T>::min(), std::numeric_limits<T>::max().
|
constexprnoexcept |
Returns the subtraction of left hand side offset 'lhs' and the right hand side offset 'rhs'.
std::numeric_limits<T>::min(), std::numeric_limits<T>::max().
|
constexprnoexcept |
Inverts the signal of a large integer rhs.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
rhs integer with it's sign inverted
|
constexprnoexcept |
Subtracts two large integer numbers lhs and rhs.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
| rhs | The right-hand side operand |
lhs - rhs
|
inlineconstexprnoexcept |
Decrement the fixed-point value by subtracting 1.0 from it.
| T | the fixed-point underlying integer type |
| P | the number of bits dedicated to the fixed-point |
| a | The fixed-point value to be decremented |
a
|
inlineconstexprnoexcept |
Decrement the fixed-point value by subtracting 1.0 from it.
| T | the fixed-point underlying integer type |
| P | the number of bits dedicated to the fixed-point |
| a | The fixed-point value to be decremented |
a before the decrement
|
noexcept |
Decrements a large integer lhs by 1.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
rhs integer decremented by one
|
noexcept |
Decrements a large integer lhs by 1.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
rhs before decrementing
|
inlineconstexprnoexcept |
Subtract two fixed-point numbers a and b and assigns the resulting value into a.
| T | the fixed-point underlying integer type |
| P | the number of bits dedicated to the fixed-point |
| a | The right-hand side operator |
| b | The left-hand side operator |
|
constexprnoexcept |
Subtract two large integer numbers lhs and rhs in-place in lhs.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
| rhs | The right-hand side operand |
lhs after the operation
|
inlineconstexprnoexcept |
Divide two fixed-point numbers a and b.
| T | the fixed-point underlying integer type |
| P | the number of bits dedicated to the fixed-point |
| x | The right-hand side operator |
| y | The left-hand side operator |
a / b
|
constexprnoexcept |
Returns the division of left hand side extent 'lhs' and the right hand side extent 'rhs'.
|
constexprnoexcept |
Divides two large integer numbers lhs and rhs.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
| rhs | The right-hand side operand |
lhs / rhs
|
constexprnoexcept |
Divide two large integer numbers lhs and rhs in-place in lhs.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
| rhs | The right-hand side operand |
lhs after the operation
|
constexprnoexcept |
Returns the division of left hand side extent 'lhs' and the right hand side extent 'rhs'.
|
inlineconstexprnoexcept |
Compares two fixed-pointer numbers.
| T | the fixed-point underlying integer type |
| P | the number of bits dedicated to the fixed-point |
| a | The right-hand side operator |
| b | The left-hand side operator |
true if a has a smaller value than b.
|
inlineconstexprnoexcept |
Compares two fixed-pointer numbers.
| T | the fixed-point underlying integer type |
| P | the number of bits dedicated to the fixed-point |
| a | The right-hand side operator |
| b | The left-hand side operator |
true if a has a smaller value than b.
|
constexprnoexcept |
Checks if a offset is before the range.
| OffsetT | the range offset type |
| LengthT | the range length type |
| offset | The offset to check against |
| range | The range a |
true if offset comes before range.
|
constexprnoexcept |
Compares two large integer numbers lhs and rhs.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
| rhs | The right-hand side operand |
true if lhs has a smaller value than rhs
|
constexprnoexcept |
Left shifts rhs bits from lhs.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
| rhs | The right-hand side operand |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
| std::ostream & Math::operator<< | ( | std::ostream & | os, |
| const TAABox< T > & | box | ||
| ) |
Prints a string representation of the AABox.
| os | The stream to print to |
| box | The box to be printed |
os. | std::ostream & Math::operator<< | ( | std::ostream & | os, |
| const TDegree< T > & | deg | ||
| ) |
| std::ostream & Math::operator<< | ( | std::ostream & | os, |
| const TRadian< T > & | rad | ||
| ) |
| std::ostream & Math::operator<< | ( | std::ostream & | os, |
| const TRay< T > & | ray | ||
| ) |
Prints a string representation of the Ray.
| os | The stream to print to |
| ray | The ray to be printed |
os. | std::ostream & Math::operator<< | ( | std::ostream & | os, |
| const TRayIntersection< T > & | intersection | ||
| ) |
Prints a string representation of the RayIntersection.
| os | The stream to print to |
| intersection | The ray intersection to be printed |
os.
|
constexprnoexcept |
Left shifts rhs bits from lhs in-place in lhs.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
| rhs | The right-hand side operand |
lhs after the operation
|
inlineconstexprnoexcept |
Compares two fixed-pointer numbers.
| T | the fixed-point underlying integer type |
| P | the number of bits dedicated to the fixed-point |
| a | The right-hand side operator |
| b | The left-hand side operator |
true if a has a smaller value than or is equal to b.
|
inlineconstexprnoexcept |
Compares two fixed-pointer numbers.
| T | the fixed-point underlying integer type |
| P | the number of bits dedicated to the fixed-point |
| a | The right-hand side operator |
| b | The left-hand side operator |
true if a has a smaller value than or is equal to b.
|
constexprnoexcept |
Checks if a offset is before the range or is within the range.
| OffsetT | the range offset type |
| LengthT | the range length type |
| offset | The offset to check against |
| range | The range a |
true if offset comes before range.
|
constexprnoexcept |
Compares two large integer numbers lhs and rhs.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
| rhs | The right-hand side operand |
true if lhs has a smaller value than or is equal to rhs
|
inlineconstexprnoexcept |
Compares two fixed-pointer numbers for equality.
| T | the fixed-point underlying integer type |
| P | the number of bits dedicated to the fixed-point |
| a | The right-hand side operator |
| b | The left-hand side operator |
true if a and b represents the same number
|
inlineconstexprnoexcept |
Returns true if the left hand side extent 'lhs' is equal to the right hand side extent 'rhs'.
|
inlineconstexprnoexcept |
Returns true if the left hand side extent 'lhs' is equal to the right hand side extent 'rhs'.
|
inlineconstexprnoexcept |
Returns true if the left hand side offset 'lhs' is equal to the right hand side offset 'rhs'.
|
inlineconstexprnoexcept |
Returns true if the left hand side offset 'lhs' is equal to the right hand side offset 'rhs'.
|
constexprnoexcept |
Compares two large integer numbers lhs and rhs for equality.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
| rhs | The right-hand side operand |
true if lhs and rhs represent the same number
|
constexprnoexcept |
Compares two ranges for equality.
| OffsetT | the range offset type |
| LengthT | the range length type |
| a | The range a |
| b | The range b |
true if both a and b represent the same range.
|
inlineconstexprnoexcept |
Compares two fixed-pointer numbers.
| T | the fixed-point underlying integer type |
| P | the number of bits dedicated to the fixed-point |
| a | The right-hand side operator |
| b | The left-hand side operator |
true if a has a greater value than b.
|
inlineconstexprnoexcept |
Compares two fixed-pointer numbers.
| T | the fixed-point underlying integer type |
| P | the number of bits dedicated to the fixed-point |
| a | The right-hand side operator |
| b | The left-hand side operator |
true if a has a greater value than b.
|
constexprnoexcept |
Checks if a offset is after the range.
| OffsetT | the range offset type |
| LengthT | the range length type |
| offset | The offset to check against |
| range | The range a |
true if offset comes after range.
|
constexprnoexcept |
Compares two large integer numbers lhs and rhs.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
| rhs | The right-hand side operand |
true if lhs has a larger value than rhs
|
inlineconstexprnoexcept |
Compares two fixed-pointer numbers.
| T | the fixed-point underlying integer type |
| P | the number of bits dedicated to the fixed-point |
| a | The right-hand side operator |
| b | The left-hand side operator |
true if a has a greater value than or is equal to b.
|
inlineconstexprnoexcept |
Compares two fixed-pointer numbers.
| T | the fixed-point underlying integer type |
| P | the number of bits dedicated to the fixed-point |
| a | The right-hand side operator |
| b | The left-hand side operator |
true if a has a greater value than or is equal to b.
|
constexprnoexcept |
Checks if a offset is after the range or is within the range.
| OffsetT | the range offset type |
| LengthT | the range length type |
| offset | The offset to check against |
| range | The range a |
true if offset comes after range.
|
constexprnoexcept |
Compares two large integer numbers lhs and rhs.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
| rhs | The right-hand side operand |
true if lhs has a larger value than or is equal to rhs
|
constexprnoexcept |
Right shifts rhs bits from lhs.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
| rhs | The right-hand side operand |
|
constexprnoexcept |
Right shifts rhs bits from lhs in-place in lhs.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
| rhs | The right-hand side operand |
lhs after the operation
|
constexprnoexcept |
Bitwise xor a large integer rhs.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
| rhs | The right-hand side operand |
|
constexprnoexcept |
Bitwise xor a large integer rhs in-place in lhs.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
| rhs | The right-hand side operand |
lhs after the operation
|
constexprnoexcept |
Bitwise or a large integer rhs.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
| rhs | The right-hand side operand |
|
constexprnoexcept |
Bitwise or a large integer rhs in-place in lhs.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
| rhs | The right-hand side operand |
lhs after the operation
|
constexprnoexcept |
Bitwise negates a large integer rhs.
| Hi | the large integer higher-order bits type |
| Low | the large integer lower-order bits type |
| lhs | The left-hand side operand |
|
inlineconstexpr |
Creates a matrix for projecting two-dimensional coordinates onto the screen.
| T | A floating-point scalar type |
| TMatrix4< T > Math::ortho2D | ( | const T & | left, |
| const T & | right, | ||
| const T & | bottom, | ||
| const T & | top | ||
| ) |
|
inlineconstexprnoexcept |
Creates a matrix for a symetric perspective-view frustum based on the default handedness and default near and far clip planes definition.
| fovy | Specifies the field of view angle in the y direction. Expressed in radians. |
| aspect | Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). |
| zNear | Specifies the distance from the viewer to the near clipping plane (always positive). |
| zFar | Specifies the distance from the viewer to the far clipping plane (always positive). |
| T | A floating-point scalar type |
|
inlineconstexprnoexcept |
Builds a perspective projection matrix based on a field of view and the default handedness and default near and far clip planes definition.
| fov | Expressed in radians. |
| width | Width of the viewport |
| height | Height of the viewport |
| zNear | Specifies the distance from the viewer to the near clipping plane (always positive). |
| zFar | Specifies the distance from the viewer to the far clipping plane (always positive). |
| T | A floating-point scalar type |
| TVector3< T > Math::project | ( | const TVector3< T > & | v, |
| const TMatrix4< T > & | modelViewProj, | ||
| const TVector2< TI > & | viewportOrigin, | ||
| const TVector2< TS > & | viewportSize | ||
| ) |
| TQuaternion< T > Math::qrotate | ( | const T & | angle, |
| const TVector3< T > & | axis | ||
| ) |
|
inline |
Performs quintic interpolation where val is the value to map onto a quintic S-curve.
val should be in [0, 1] range.
|
inline |
Calculates the Romberg Integration.
| a | The lower bound. |
| b | The upper bound. |
| order | The order of the function. |
| integrand | The function to integrate. |
| TMatrix3< T > Math::rotate | ( | const T & | angle | ) |
|
inlineconstexpr |
Returns the rounded value a fixed-point value.
The round operation returns the nearest integer to the operand.
|
inlineconstexpr |
Returns sign of scalar a fixed-point value.
1) Returns -1 component if the respective component of x is negative. 2) Returns 0 component if the respective component of x is zero. 3) Returns 1 component if the respective component of x is positive.
|
noexcept |
| TVector3< T > Math::slerp | ( | const TVector3< T > & | v1, |
| const TVector3< T > & | v2, | ||
| const T & | a | ||
| ) |
|
inline |
Performs smooth Hermite interpolation between values.
|
inline |
Solves the cubic equation with the parameters A, B, C, D.
Returns number of roots found and the roots themselves will be output in the roots array.
| A | The first variable. |
| B | The second variable. |
| C | The third variable. |
| D | The fourth variable. |
| roots | Must be at least size of 3. |
|
inline |
Solves the linear equation with the parameters A, B.
Returns number of roots found and the roots themselves will be output in the roots array.
| A | First variable. |
| B | Second variable. |
| roots | Must be at least size of 1. |
|
inline |
Solves the quadratic equation with the parameters A, B, C.
Returns number of roots found and the roots themselves will be output in the roots array.
| A | The first variable. |
| B | The second variable. |
| C | The third variable. |
| roots | Must be at least size of 2. |
|
inline |
Solves the quartic equation with the parameters A, B, C, D, E.
| A | The first variable. |
| B | The second variable. |
| C | The third variable. |
| D | The fourth variable. |
| E | The fifth variable. |
| roots | Must be at least size of 4. |
roots array.
|
inlineconstexpr |
Returns square root of a fixed-point value.
|
inlineconstexpr |
Returns tangent of a fixed-point value. Returns the tangent of a in radians.
| TVector2< T > Math::transform | ( | const TMatrix3< T > & | m, |
| const TVector2< T > & | v | ||
| ) |
| TVector3< T > Math::transform | ( | const TQuaternion< T > & | q, |
| const TVector3< T > & | v | ||
| ) |
|
inlineconstexprnoexcept |
Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping.
| fovy | Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. |
| aspect | Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). |
| zNear | Specifies the distance from the viewer to the near clipping plane (always positive). |
| T | A floating-point scalar type |
|
inlineconstexprnoexcept |
Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping.
| fovy | Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. |
| aspect | Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). |
| zNear | Specifies the distance from the viewer to the near clipping plane (always positive). |
| ep | Epsilon |
| T | A floating-point scalar type |
|
inlineconstexpr |