jaulib v1.1.2-85-g839acae-dirty
Jau Support Library (C++, Java, ..)
Classes | Typedefs | Enumerations | Functions
Specific Mathematical Operations and Functionality

Specific mathematical operations and functionality, e.g. More...

Classes

class  jau::math::geom::AABBox2f
 Axis Aligned Bounding Box. More...
 
class  jau::math::geom::AABBox3f
 Axis Aligned Bounding Box. More...
 
class  jau::math::geom::plane::AffineTransform
 Represents a affine 2x3 transformation matrix in column major order (memory layout). More...
 
class  jau::math::geom::AGeom2f
 Animated geometric object. More...
 
class  jau::math::geom::Disk2f
 
class  jau::math::FovHVHalves
 Horizontal and vertical field of view (FOV) halves, allowing a non-centered projection. More...
 
class  jau::math::geom::Frustum
 Providing frustum planes derived by different inputs (P*MV, ..) used to classify objects. More...
 
class  jau::math::geom::Geom2f
 Geometric object. More...
 
class  jau::math::geom::LineSeg2f
 
struct  jau::math::geom::LineSeg3f
 
class  jau::math::geom::LineStrip2f
 A clockwise (CW) polyline. More...
 
class  jau::MathDivByZeroError
 math_error_t::div_by_zero, i.e. More...
 
class  jau::MathDomainError
 math_error_t::invalid More...
 
class  jau::MathError
 
class  jau::MathInexactError
 math_error_t::inexact More...
 
class  jau::MathOverflowError
 math_error_t::overflow More...
 
class  jau::MathUnderflowError
 math_error_t::underflow More...
 
class  jau::math::Matrix4< Value_type, >
 Basic 4x4 value_type matrix implementation using fields for intensive use-cases (host operations). More...
 
class  jau::math::util::MatrixStack< Value_type, >
 A Matrix stack of compounds, each consisting of 16 * T More...
 
class  jau::math::util::PMVMatrix4< Value_type, >
 PMVMatrix4 implements the basic computer graphics Matrix4 pack using projection (P), modelview (Mv) and texture (T) Matrix4 operations. More...
 
class  jau::math::Quaternion< Value_type, >
 Quaternion implementation supporting Gimbal-Lock free rotations. More...
 
class  jau::math::Ray2F< T, >
 Simple compound denoting a ray. More...
 
struct  jau::math::Ray3F< T, >
 Simple compound denoting a ray. More...
 
class  jau::math::geom::Rect2f
 
class  jau::math::RectI< Value_type, >
 Rectangle with x, y, width and height integer components. More...
 
class  jau::math::util::SimpleStack< Value_type, Element_size, >
 A simple stack of compounds, each consisting of element_size * T More...
 
class  jau::math::util::SyncBuffer
 Convenient tuple of a sync_action_t and data buffer. More...
 
class  jau::math::util::SyncMatrices4< Value_type, >
 SyncBuffer interface with multiple underlying Matrix4. More...
 
class  jau::math::util::SyncMatrix4< Value_type, >
 SyncBuffer interface with a single underlying Matrix4. More...
 
class  jau::math::Vector2F< Value_type, >
 2D vector using two value_type components. More...
 
struct  jau::math::Vector2I< Value_type, >
 2D vector using two integer components. More...
 
class  jau::math::Vector3F< Value_type, >
 3D vector using three value_type components. More...
 
class  jau::math::Vector4F< Value_type, >
 4D vector using four value_type components. More...
 

Typedefs

typedef std::vector< AGeom2f_refjau::math::geom::AGeom2f_list
 
typedef std::shared_ptr< AGeom2fjau::math::geom::AGeom2f_ref
 
typedef std::shared_ptr< Disk2fjau::math::geom::Disk2f_ref
 
typedef std::vector< Geom2f_refjau::math::geom::Geom2f_list
 
typedef std::shared_ptr< Geom2fjau::math::geom::Geom2f_ref
 
typedef std::shared_ptr< LineStrip2fjau::math::geom::LineStrip2f_ref
 
typedef Matrix4< float > jau::math::Mat4f
 
typedef MatrixStack< float > jau::math::util::Mat4fStack
 4x4 float matrix stack More...
 
typedef PMVMatrix4< float > jau::math::util::PMVMat4f
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
using jau::math::Point2F = Vector2F< T >
 Point2F alias of Vector2F. More...
 
typedef Point2F< float > jau::math::Point2f
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
using jau::math::Point3F = Vector3F< T >
 Point3F alias of Vector3F. More...
 
typedef Point3F< float > jau::math::Point3f
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
using jau::math::Point4F = Vector4F< T >
 Point4F alias of Vector4F. More...
 
typedef Point4F< float > jau::math::Point4f
 
typedef Quaternion< float > jau::math::Quat4f
 
typedef Ray2F< float > jau::math::Ray2f
 
typedef Ray3F< float > jau::math::Ray3f
 
typedef std::shared_ptr< Rect2fjau::math::geom::Rect2f_ref
 
typedef RectI< int > jau::math::Recti
 
typedef SimpleStack< float, 16 > jau::math::util::Stack16f
 4x4 float matrix stack based on single float elements More...
 
typedef void(* jau::math::util::sync_action_fptr) ()
 Plain function pointer type matching sync_action_t. More...
 
typedef jau::function< void()> jau::math::util::sync_action_t
 Specific data synchronization action implemented by the data provider to update the buffer with the underlying data before usage, e.g. More...
 
typedef SyncMatrix4< float > jau::math::util::SyncMat4f
 
typedef SyncMatrices4< float > jau::math::util::SyncMats4f
 
typedef Vector2F< float > jau::math::Vec2f
 
typedef Vector2I< int > jau::math::Vec2i
 
typedef Vector3F< float > jau::math::Vec3f
 
typedef Vector4F< float > jau::math::Vec4f
 

Enumerations

enum class  jau::math::geom::plane::AffineTransformType : int {
  jau::math::geom::plane::AffineTransformType::UNKNOWN = -1 , jau::math::geom::plane::AffineTransformType::IDENTITY = 0 , jau::math::geom::plane::AffineTransformType::TRANSLATION = 1 , jau::math::geom::plane::AffineTransformType::UNIFORM_SCALE = 2 ,
  jau::math::geom::plane::AffineTransformType::GENERAL_SCALE = 4 , jau::math::geom::plane::AffineTransformType::QUADRANT_ROTATION = 8 , jau::math::geom::plane::AffineTransformType::GENERAL_ROTATION = 16 , jau::math::geom::plane::AffineTransformType::GENERAL_TRANSFORM = 32 ,
  jau::math::geom::plane::AffineTransformType::FLIP = 64 , jau::math::geom::plane::AffineTransformType::MASK_SCALE = UNIFORM_SCALE | GENERAL_SCALE , jau::math::geom::plane::AffineTransformType::MASK_ROTATION = QUADRANT_ROTATION | GENERAL_ROTATION
}
 
enum class  jau::math_error_t {
  jau::math_error_t::invalid , jau::math_error_t::div_by_zero , jau::math_error_t::overflow , jau::math_error_t::underflow ,
  jau::math_error_t::inexact
}
 Error types as specified by C++ Math Error Handling More...
 
enum class  jau::math::geom::orientation_t { jau::math::geom::orientation_t::COL , jau::math::geom::orientation_t::CLW , jau::math::geom::orientation_t::CCW }
 

Functions

static constexpr bool jau::math::geom::plane::is_set (const AffineTransformType mask, const AffineTransformType bit) noexcept
 
static constexpr int jau::math::geom::plane::number (const AffineTransformType rhs) noexcept
 
static constexpr bool jau::math::geom::plane::operator!= (const AffineTransformType lhs, const AffineTransformType rhs) noexcept
 
static constexpr AffineTransformType jau::math::geom::plane::operator& (const AffineTransformType lhs, const AffineTransformType rhs) noexcept
 
template<typename T , std::enable_if_t< std::numeric_limits< T >::is_integer, bool > = true>
constexpr Vector2I< T > jau::math::operator* (const float s, const Vector2I< T > &rhs) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Matrix4< T > jau::math::operator* (const Matrix4< T > &lhs, const Matrix4< T > &rhs) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Matrix4< T > jau::math::operator* (const Matrix4< T > &lhs, const T s) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Quaternion< T > jau::math::operator* (const Quaternion< T > &lhs, const Quaternion< T > &rhs) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Quaternion< T > jau::math::operator* (const Quaternion< T > &lhs, const T s) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Matrix4< T > jau::math::operator* (const T s, const Matrix4< T > &rhs) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Quaternion< T > jau::math::operator* (const T s, const Quaternion< T > &rhs) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector2F< T > jau::math::operator* (const T s, const Vector2F< T > &rhs) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector3F< T > jau::math::operator* (const T s, const Vector3F< T > &rhs) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector4F< T > jau::math::operator* (const T s, const Vector4F< T > &rhs) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector2F< T > jau::math::operator* (const Vector2F< T > &lhs, const T s) noexcept
 
template<typename T , std::enable_if_t< std::numeric_limits< T >::is_integer, bool > = true>
constexpr Vector2I< T > jau::math::operator* (const Vector2I< T > &lhs, const float s) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector3F< T > jau::math::operator* (const Vector3F< T > &lhs, const T s) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector4F< T > jau::math::operator* (const Vector4F< T > &lhs, const T s) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Quaternion< T > jau::math::operator+ (const Quaternion< T > &lhs, const Quaternion< T > &rhs) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector2F< T > jau::math::operator+ (const Vector2F< T > &lhs, const Vector2F< T > &rhs) noexcept
 
template<typename T , std::enable_if_t< std::numeric_limits< T >::is_integer, bool > = true>
constexpr Vector2I< T > jau::math::operator+ (const Vector2I< T > &lhs, const Vector2I< T > &rhs) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector3F< T > jau::math::operator+ (const Vector3F< T > &lhs, const Vector3F< T > &rhs) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector4F< T > jau::math::operator+ (const Vector4F< T > &lhs, const Vector4F< T > &rhs) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Quaternion< T > jau::math::operator- (const Quaternion< T > &lhs, const Quaternion< T > &rhs) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector2F< T > jau::math::operator- (const Vector2F< T > &lhs, const Vector2F< T > &rhs) noexcept
 
template<typename T , std::enable_if_t< std::numeric_limits< T >::is_integer, bool > = true>
constexpr Vector2I< T > jau::math::operator- (const Vector2I< T > &lhs, const Vector2I< T > &rhs) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector3F< T > jau::math::operator- (const Vector3F< T > &lhs, const Vector3F< T > &rhs) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector4F< T > jau::math::operator- (const Vector4F< T > &lhs, const Vector4F< T > &rhs) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector2F< T > jau::math::operator/ (const Vector2F< T > &lhs, const T s) noexcept
 
template<typename T , std::enable_if_t< std::numeric_limits< T >::is_integer, bool > = true>
constexpr Vector2I< T > jau::math::operator/ (const Vector2I< T > &lhs, const float s) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector3F< T > jau::math::operator/ (const Vector3F< T > &lhs, const T s) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector4F< T > jau::math::operator/ (const Vector4F< T > &lhs, const T s) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
std::ostream & jau::math::operator<< (std::ostream &out, const Matrix4< T > &v) noexcept
 
template<typename Value_type , std::enable_if_t< std::is_floating_point_v< Value_type >, bool > = true>
std::ostream & jau::math::util::operator<< (std::ostream &out, const PMVMatrix4< Value_type > &v) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
std::ostream & jau::math::operator<< (std::ostream &out, const Quaternion< T > &v) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
std::ostream & jau::math::operator<< (std::ostream &out, const Ray2F< T > &v) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
std::ostream & jau::math::operator<< (std::ostream &out, const Ray3F< T > &v) noexcept
 
template<typename T , std::enable_if_t< std::numeric_limits< T >::is_integer, bool > = true>
std::ostream & jau::math::operator<< (std::ostream &out, const RectI< T > &v) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
std::ostream & jau::math::operator<< (std::ostream &out, const Vector2F< T > &v) noexcept
 
template<typename T , std::enable_if_t< std::numeric_limits< T >::is_integer, bool > = true>
std::ostream & jau::math::operator<< (std::ostream &out, const Vector2I< T > &v) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
std::ostream & jau::math::operator<< (std::ostream &out, const Vector3F< T > &v) noexcept
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
std::ostream & jau::math::operator<< (std::ostream &out, const Vector4F< T > &v) noexcept
 
static constexpr bool jau::math::geom::plane::operator== (const AffineTransformType lhs, const AffineTransformType rhs) noexcept
 
static constexpr AffineTransformType jau::math::geom::plane::operator^ (const AffineTransformType lhs, const AffineTransformType rhs) noexcept
 
static constexpr AffineTransformType jau::math::geom::plane::operator| (const AffineTransformType lhs, const AffineTransformType rhs) noexcept
 
static constexpr AffineTransformTypejau::math::geom::plane::operator|= (AffineTransformType &lhs, const AffineTransformType rhs) noexcept
 
constexpr orientation_t jau::math::geom::orientation (const Point2f &a, const Point2f &b, const Point2f &c) noexcept
 Return the orientation of the given point triplet a, b and c using triArea() More...
 
std::string jau::to_string (const math_error_t v) noexcept
 Returns std::string representation of math_error_t. More...
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector3F< T > jau::math::to_vec3 (const Vector4F< T > &v) noexcept
 out = { this.x, this.y, this.z } dropping w, returns out. More...
 
constexpr double jau::math::geom::tri_area (const Point2f &a, const Point2f &b, const Point2f &c)
 Computes oriented double area of a triangle, i.e. More...
 

Detailed Description

Specific mathematical operations and functionality, e.g.

linear algebra, meta group

Further support is coming from

Typedef Documentation

◆ Geom2f_ref

typedef std::shared_ptr<Geom2f> jau::math::geom::Geom2f_ref

Definition at line 93 of file geom2f.hpp.

◆ Geom2f_list

Definition at line 94 of file geom2f.hpp.

◆ AGeom2f_ref

typedef std::shared_ptr<AGeom2f> jau::math::geom::AGeom2f_ref

Definition at line 465 of file geom2f.hpp.

◆ AGeom2f_list

Definition at line 466 of file geom2f.hpp.

◆ Disk2f_ref

typedef std::shared_ptr<Disk2f> jau::math::geom::Disk2f_ref

Definition at line 555 of file geom2f.hpp.

◆ Rect2f_ref

typedef std::shared_ptr<Rect2f> jau::math::geom::Rect2f_ref

Definition at line 758 of file geom2f.hpp.

◆ LineStrip2f_ref

Definition at line 899 of file geom2f.hpp.

◆ Mat4f

typedef Matrix4<float> jau::math::Mat4f

Definition at line 1881 of file mat4f.hpp.

◆ Quat4f

typedef Quaternion<float> jau::math::Quat4f

Definition at line 1199 of file quaternion.hpp.

◆ Recti

typedef RectI<int> jau::math::Recti

Definition at line 126 of file recti.hpp.

◆ PMVMat4f

Definition at line 1279 of file pmvmat4f.hpp.

◆ Stack16f

4x4 float matrix stack based on single float elements

Definition at line 109 of file sstack.hpp.

◆ Mat4fStack

4x4 float matrix stack

Definition at line 166 of file sstack.hpp.

◆ sync_action_t

Specific data synchronization action implemented by the data provider to update the buffer with the underlying data before usage, e.g.

uploading the GLUniformData data to the GPU.

Definition at line 51 of file syncbuffer.hpp.

◆ sync_action_fptr

typedef void(* jau::math::util::sync_action_fptr) ()

Plain function pointer type matching sync_action_t.

Definition at line 54 of file syncbuffer.hpp.

◆ SyncMat4f

Definition at line 107 of file syncbuffer.hpp.

◆ SyncMats4f

Definition at line 130 of file syncbuffer.hpp.

◆ Vec2f

typedef Vector2F<float> jau::math::Vec2f

Definition at line 350 of file vec2f.hpp.

◆ Point2F

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
using jau::math::Point2F = typedef Vector2F<T>

Point2F alias of Vector2F.

Definition at line 359 of file vec2f.hpp.

◆ Point2f

typedef Point2F<float> jau::math::Point2f

Definition at line 361 of file vec2f.hpp.

◆ Ray2f

typedef Ray2F<float> jau::math::Ray2f

Definition at line 395 of file vec2f.hpp.

◆ Vec2i

typedef Vector2I<int> jau::math::Vec2i

Definition at line 263 of file vec2i.hpp.

◆ Vec3f

typedef Vector3F<float> jau::math::Vec3f

Definition at line 365 of file vec3f.hpp.

◆ Point3F

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
using jau::math::Point3F = typedef Vector3F<T>

Point3F alias of Vector3F.

Definition at line 374 of file vec3f.hpp.

◆ Point3f

typedef Point3F<float> jau::math::Point3f

Definition at line 376 of file vec3f.hpp.

◆ Ray3f

typedef Ray3F<float> jau::math::Ray3f

Definition at line 409 of file vec3f.hpp.

◆ Vec4f

typedef Vector4F<float> jau::math::Vec4f

Definition at line 317 of file vec4f.hpp.

◆ Point4F

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
using jau::math::Point4F = typedef Vector4F<T>

Point4F alias of Vector4F.

Definition at line 326 of file vec4f.hpp.

◆ Point4f

typedef Point4F<float> jau::math::Point4f

Definition at line 328 of file vec4f.hpp.

Enumeration Type Documentation

◆ orientation_t

enum class jau::math::geom::orientation_t
strong
Enumerator
COL 

Collinear.

CLW 

Clockwise.

CCW 

Counter-Clockwise.

Definition at line 34 of file geom.hpp.

◆ AffineTransformType

Enumerator
UNKNOWN 

The AffineTransformType::TYPE_UNKNOWN is an initial type_t value.

IDENTITY 
TRANSLATION 
UNIFORM_SCALE 
GENERAL_SCALE 
QUADRANT_ROTATION 
GENERAL_ROTATION 
GENERAL_TRANSFORM 
FLIP 
MASK_SCALE 
MASK_ROTATION 

Definition at line 41 of file affine_transform.hpp.

◆ math_error_t

enum class jau::math_error_t
strong

Error types as specified by C++ Math Error Handling

Enumerator
invalid 

See FE_INVALID.

div_by_zero 

See FE_DIVBYZERO.

overflow 

See FE_OVERFLOW.

underflow 

See FE_UNDERFLOW.

inexact 

See FE_INEXACT.

Definition at line 46 of file math_error.hpp.

Function Documentation

◆ tri_area()

constexpr double jau::math::geom::tri_area ( const Point2f a,
const Point2f b,
const Point2f c 
)
constexpr

Computes oriented double area of a triangle, i.e.

the 2x2 determinant with b-a and c-a per column.

      | bx-ax, cx-ax |
det = | by-ay, cy-ay |
Parameters
afirst vertex
bsecond vertex
cthird vertex
Returns
area > 0 CCW, ..

Definition at line 55 of file geom2f.hpp.

Here is the caller graph for this function:

◆ orientation()

constexpr orientation_t jau::math::geom::orientation ( const Point2f a,
const Point2f b,
const Point2f c 
)
constexprnoexcept

Return the orientation of the given point triplet a, b and c using triArea()

Definition at line 62 of file geom2f.hpp.

Here is the caller graph for this function:

◆ number()

static constexpr int jau::math::geom::plane::number ( const AffineTransformType  rhs)
staticconstexprnoexcept

Definition at line 55 of file affine_transform.hpp.

Here is the caller graph for this function:

◆ operator^()

static constexpr AffineTransformType jau::math::geom::plane::operator^ ( const AffineTransformType  lhs,
const AffineTransformType  rhs 
)
staticconstexprnoexcept

Definition at line 58 of file affine_transform.hpp.

◆ operator|()

static constexpr AffineTransformType jau::math::geom::plane::operator| ( const AffineTransformType  lhs,
const AffineTransformType  rhs 
)
staticconstexprnoexcept

Definition at line 61 of file affine_transform.hpp.

◆ operator|=()

static constexpr AffineTransformType & jau::math::geom::plane::operator|= ( AffineTransformType lhs,
const AffineTransformType  rhs 
)
staticconstexprnoexcept

Definition at line 64 of file affine_transform.hpp.

◆ operator&()

static constexpr AffineTransformType jau::math::geom::plane::operator& ( const AffineTransformType  lhs,
const AffineTransformType  rhs 
)
staticconstexprnoexcept

Definition at line 68 of file affine_transform.hpp.

◆ operator==()

static constexpr bool jau::math::geom::plane::operator== ( const AffineTransformType  lhs,
const AffineTransformType  rhs 
)
staticconstexprnoexcept

Definition at line 71 of file affine_transform.hpp.

◆ operator!=()

static constexpr bool jau::math::geom::plane::operator!= ( const AffineTransformType  lhs,
const AffineTransformType  rhs 
)
staticconstexprnoexcept

Definition at line 74 of file affine_transform.hpp.

◆ is_set()

static constexpr bool jau::math::geom::plane::is_set ( const AffineTransformType  mask,
const AffineTransformType  bit 
)
staticconstexprnoexcept

Definition at line 77 of file affine_transform.hpp.

◆ operator*() [1/14]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Matrix4< T > jau::math::operator* ( const Matrix4< T > &  lhs,
const Matrix4< T > &  rhs 
)
constexprnoexcept

Definition at line 1859 of file mat4f.hpp.

◆ operator*() [2/14]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Matrix4< T > jau::math::operator* ( const Matrix4< T > &  lhs,
const T  s 
)
constexprnoexcept

Definition at line 1865 of file mat4f.hpp.

◆ operator*() [3/14]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Matrix4< T > jau::math::operator* ( const T  s,
const Matrix4< T > &  rhs 
)
constexprnoexcept

Definition at line 1871 of file mat4f.hpp.

◆ operator<<() [1/10]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
std::ostream & jau::math::operator<< ( std::ostream &  out,
const Matrix4< T > &  v 
)
noexcept

Definition at line 1877 of file mat4f.hpp.

◆ to_string()

std::string jau::to_string ( const math_error_t  v)
noexcept

Returns std::string representation of math_error_t.

Definition at line 580 of file basic_types.cpp.

◆ operator+() [1/5]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Quaternion< T > jau::math::operator+ ( const Quaternion< T > &  lhs,
const Quaternion< T > &  rhs 
)
constexprnoexcept

Definition at line 1165 of file quaternion.hpp.

◆ operator-() [1/5]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Quaternion< T > jau::math::operator- ( const Quaternion< T > &  lhs,
const Quaternion< T > &  rhs 
)
constexprnoexcept

Definition at line 1171 of file quaternion.hpp.

◆ operator*() [4/14]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Quaternion< T > jau::math::operator* ( const Quaternion< T > &  lhs,
const Quaternion< T > &  rhs 
)
constexprnoexcept

Definition at line 1177 of file quaternion.hpp.

◆ operator*() [5/14]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Quaternion< T > jau::math::operator* ( const Quaternion< T > &  lhs,
const T  s 
)
constexprnoexcept

Definition at line 1183 of file quaternion.hpp.

◆ operator*() [6/14]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Quaternion< T > jau::math::operator* ( const T  s,
const Quaternion< T > &  rhs 
)
constexprnoexcept

Definition at line 1189 of file quaternion.hpp.

◆ operator<<() [2/10]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
std::ostream & jau::math::operator<< ( std::ostream &  out,
const Quaternion< T > &  v 
)
noexcept

Definition at line 1195 of file quaternion.hpp.

◆ operator<<() [3/10]

template<typename T , std::enable_if_t< std::numeric_limits< T >::is_integer, bool > = true>
std::ostream & jau::math::operator<< ( std::ostream &  out,
const RectI< T > &  v 
)
noexcept

Definition at line 122 of file recti.hpp.

◆ operator<<() [4/10]

template<typename Value_type , std::enable_if_t< std::is_floating_point_v< Value_type >, bool > = true>
std::ostream & jau::math::util::operator<< ( std::ostream &  out,
const PMVMatrix4< Value_type > &  v 
)
inlinenoexcept

Definition at line 1275 of file pmvmat4f.hpp.

◆ operator+() [2/5]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector2F< T > jau::math::operator+ ( const Vector2F< T > &  lhs,
const Vector2F< T > &  rhs 
)
constexprnoexcept

Definition at line 310 of file vec2f.hpp.

◆ operator-() [2/5]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector2F< T > jau::math::operator- ( const Vector2F< T > &  lhs,
const Vector2F< T > &  rhs 
)
constexprnoexcept

Definition at line 322 of file vec2f.hpp.

◆ operator*() [7/14]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector2F< T > jau::math::operator* ( const Vector2F< T > &  lhs,
const T  s 
)
constexprnoexcept

Definition at line 328 of file vec2f.hpp.

◆ operator*() [8/14]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector2F< T > jau::math::operator* ( const T  s,
const Vector2F< T > &  rhs 
)
constexprnoexcept

Definition at line 334 of file vec2f.hpp.

◆ operator/() [1/4]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector2F< T > jau::math::operator/ ( const Vector2F< T > &  lhs,
const T  s 
)
constexprnoexcept

Definition at line 340 of file vec2f.hpp.

◆ operator<<() [5/10]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
std::ostream & jau::math::operator<< ( std::ostream &  out,
const Vector2F< T > &  v 
)
noexcept

Definition at line 346 of file vec2f.hpp.

◆ operator<<() [6/10]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
std::ostream & jau::math::operator<< ( std::ostream &  out,
const Ray2F< T > &  v 
)
noexcept

Definition at line 391 of file vec2f.hpp.

◆ operator+() [3/5]

template<typename T , std::enable_if_t< std::numeric_limits< T >::is_integer, bool > = true>
constexpr Vector2I< T > jau::math::operator+ ( const Vector2I< T > &  lhs,
const Vector2I< T > &  rhs 
)
constexprnoexcept

Definition at line 223 of file vec2i.hpp.

◆ operator-() [3/5]

template<typename T , std::enable_if_t< std::numeric_limits< T >::is_integer, bool > = true>
constexpr Vector2I< T > jau::math::operator- ( const Vector2I< T > &  lhs,
const Vector2I< T > &  rhs 
)
constexprnoexcept

Definition at line 235 of file vec2i.hpp.

◆ operator*() [9/14]

template<typename T , std::enable_if_t< std::numeric_limits< T >::is_integer, bool > = true>
constexpr Vector2I< T > jau::math::operator* ( const Vector2I< T > &  lhs,
const float  s 
)
constexprnoexcept

Definition at line 241 of file vec2i.hpp.

◆ operator*() [10/14]

template<typename T , std::enable_if_t< std::numeric_limits< T >::is_integer, bool > = true>
constexpr Vector2I< T > jau::math::operator* ( const float  s,
const Vector2I< T > &  rhs 
)
constexprnoexcept

Definition at line 247 of file vec2i.hpp.

◆ operator/() [2/4]

template<typename T , std::enable_if_t< std::numeric_limits< T >::is_integer, bool > = true>
constexpr Vector2I< T > jau::math::operator/ ( const Vector2I< T > &  lhs,
const float  s 
)
constexprnoexcept

Definition at line 253 of file vec2i.hpp.

◆ operator<<() [7/10]

template<typename T , std::enable_if_t< std::numeric_limits< T >::is_integer, bool > = true>
std::ostream & jau::math::operator<< ( std::ostream &  out,
const Vector2I< T > &  v 
)
noexcept

Definition at line 259 of file vec2i.hpp.

◆ operator+() [4/5]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector3F< T > jau::math::operator+ ( const Vector3F< T > &  lhs,
const Vector3F< T > &  rhs 
)
constexprnoexcept

Definition at line 325 of file vec3f.hpp.

◆ operator-() [4/5]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector3F< T > jau::math::operator- ( const Vector3F< T > &  lhs,
const Vector3F< T > &  rhs 
)
constexprnoexcept

Definition at line 337 of file vec3f.hpp.

◆ operator*() [11/14]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector3F< T > jau::math::operator* ( const Vector3F< T > &  lhs,
const T  s 
)
constexprnoexcept

Definition at line 343 of file vec3f.hpp.

◆ operator*() [12/14]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector3F< T > jau::math::operator* ( const T  s,
const Vector3F< T > &  rhs 
)
constexprnoexcept

Definition at line 349 of file vec3f.hpp.

◆ operator/() [3/4]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector3F< T > jau::math::operator/ ( const Vector3F< T > &  lhs,
const T  s 
)
constexprnoexcept

Definition at line 355 of file vec3f.hpp.

◆ operator<<() [8/10]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
std::ostream & jau::math::operator<< ( std::ostream &  out,
const Vector3F< T > &  v 
)
noexcept

Definition at line 361 of file vec3f.hpp.

◆ operator<<() [9/10]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
std::ostream & jau::math::operator<< ( std::ostream &  out,
const Ray3F< T > &  v 
)
noexcept

Definition at line 405 of file vec3f.hpp.

◆ operator+() [5/5]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector4F< T > jau::math::operator+ ( const Vector4F< T > &  lhs,
const Vector4F< T > &  rhs 
)
constexprnoexcept

Definition at line 270 of file vec4f.hpp.

◆ operator-() [5/5]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector4F< T > jau::math::operator- ( const Vector4F< T > &  lhs,
const Vector4F< T > &  rhs 
)
constexprnoexcept

Definition at line 282 of file vec4f.hpp.

◆ operator*() [13/14]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector4F< T > jau::math::operator* ( const Vector4F< T > &  lhs,
const T  s 
)
constexprnoexcept

Definition at line 288 of file vec4f.hpp.

◆ operator*() [14/14]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector4F< T > jau::math::operator* ( const T  s,
const Vector4F< T > &  rhs 
)
constexprnoexcept

Definition at line 294 of file vec4f.hpp.

◆ operator/() [4/4]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector4F< T > jau::math::operator/ ( const Vector4F< T > &  lhs,
const T  s 
)
constexprnoexcept

Definition at line 300 of file vec4f.hpp.

◆ to_vec3()

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
constexpr Vector3F< T > jau::math::to_vec3 ( const Vector4F< T > &  v)
constexprnoexcept

out = { this.x, this.y, this.z } dropping w, returns out.

Definition at line 307 of file vec4f.hpp.

Here is the caller graph for this function:

◆ operator<<() [10/10]

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, bool > = true>
std::ostream & jau::math::operator<< ( std::ostream &  out,
const Vector4F< T > &  v 
)
noexcept

Definition at line 313 of file vec4f.hpp.