Direct-BT v3.3.0-1-gc2d430c
Direct-BT - Direct Bluetooth Programming.
|
Math Support 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::math::MathDivByZeroError |
math_error_t::div_by_zero, i.e. More... | |
class | jau::math::MathDomainError |
math_error_t::invalid More... | |
class | jau::math::MathError |
class | jau::math::MathInexactError |
math_error_t::inexact More... | |
class | jau::math::MathOverflowError |
math_error_t::overflow More... | |
class | jau::math::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_ref > | jau::math::geom::AGeom2f_list |
typedef std::shared_ptr< AGeom2f > | jau::math::geom::AGeom2f_ref |
typedef std::shared_ptr< Disk2f > | jau::math::geom::Disk2f_ref |
typedef std::vector< Geom2f_ref > | jau::math::geom::Geom2f_list |
typedef std::shared_ptr< Geom2f > | jau::math::geom::Geom2f_ref |
typedef std::shared_ptr< LineStrip2f > | jau::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< Rect2f > | jau::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 |
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 AffineTransformType & | jau::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::math::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... | |
Math Support Functionality, e.g.
linear algebra, meta group
Further support is coming from
typedef std::shared_ptr<Geom2f> jau::math::geom::Geom2f_ref |
Definition at line 93 of file geom2f.hpp.
typedef std::vector<Geom2f_ref> jau::math::geom::Geom2f_list |
Definition at line 94 of file geom2f.hpp.
typedef std::shared_ptr<AGeom2f> jau::math::geom::AGeom2f_ref |
Definition at line 463 of file geom2f.hpp.
typedef std::vector<AGeom2f_ref> jau::math::geom::AGeom2f_list |
Definition at line 464 of file geom2f.hpp.
typedef std::shared_ptr<Disk2f> jau::math::geom::Disk2f_ref |
Definition at line 553 of file geom2f.hpp.
typedef std::shared_ptr<Rect2f> jau::math::geom::Rect2f_ref |
Definition at line 756 of file geom2f.hpp.
typedef std::shared_ptr<LineStrip2f> jau::math::geom::LineStrip2f_ref |
Definition at line 897 of file geom2f.hpp.
typedef Matrix4<float> jau::math::Mat4f |
typedef Quaternion<float> jau::math::Quat4f |
Definition at line 1199 of file quaternion.hpp.
typedef RectI<int> jau::math::Recti |
typedef PMVMatrix4<float> jau::math::util::PMVMat4f |
Definition at line 1286 of file pmvmat4f.hpp.
typedef SimpleStack<float, 16 > jau::math::util::Stack16f |
4x4 float matrix stack based on single float elements
Definition at line 109 of file sstack.hpp.
typedef MatrixStack<float> jau::math::util::Mat4fStack |
4x4 float matrix stack
Definition at line 166 of file sstack.hpp.
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.
uploading the GLUniformData
data to the GPU.
Definition at line 51 of file syncbuffer.hpp.
typedef void(* jau::math::util::sync_action_fptr) () |
Plain function pointer type matching sync_action_t.
Definition at line 54 of file syncbuffer.hpp.
typedef SyncMatrix4<float> jau::math::util::SyncMat4f |
Definition at line 105 of file syncbuffer.hpp.
typedef SyncMatrices4<float> jau::math::util::SyncMats4f |
Definition at line 126 of file syncbuffer.hpp.
typedef Vector2F<float> jau::math::Vec2f |
using jau::math::Point2F = typedef Vector2F<T> |
typedef Point2F<float> jau::math::Point2f |
typedef Ray2F<float> jau::math::Ray2f |
typedef Vector2I<int> jau::math::Vec2i |
typedef Vector3F<float> jau::math::Vec3f |
using jau::math::Point3F = typedef Vector3F<T> |
typedef Point3F<float> jau::math::Point3f |
typedef Ray3F<float> jau::math::Ray3f |
typedef Vector4F<float> jau::math::Vec4f |
using jau::math::Point4F = typedef Vector4F<T> |
typedef Point4F<float> jau::math::Point4f |
|
strong |
|
strong |
Definition at line 41 of file affine_transform.hpp.
|
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.
|
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 |
a | first vertex |
b | second vertex |
c | third vertex |
Definition at line 55 of file geom2f.hpp.
|
constexprnoexcept |
Return the orientation of the given point triplet a, b and c using triArea()
Definition at line 62 of file geom2f.hpp.
|
staticconstexprnoexcept |
|
staticconstexprnoexcept |
Definition at line 58 of file affine_transform.hpp.
|
staticconstexprnoexcept |
Definition at line 61 of file affine_transform.hpp.
|
staticconstexprnoexcept |
Definition at line 64 of file affine_transform.hpp.
|
staticconstexprnoexcept |
Definition at line 68 of file affine_transform.hpp.
|
staticconstexprnoexcept |
Definition at line 71 of file affine_transform.hpp.
|
staticconstexprnoexcept |
Definition at line 74 of file affine_transform.hpp.
|
staticconstexprnoexcept |
Definition at line 77 of file affine_transform.hpp.
|
noexcept |
|
noexcept |
Returns std::string representation of math_error_t.
Definition at line 627 of file basic_types.cpp.
|
constexprnoexcept |
Definition at line 1165 of file quaternion.hpp.
|
constexprnoexcept |
Definition at line 1171 of file quaternion.hpp.
|
constexprnoexcept |
Definition at line 1177 of file quaternion.hpp.
|
constexprnoexcept |
Definition at line 1183 of file quaternion.hpp.
|
constexprnoexcept |
Definition at line 1189 of file quaternion.hpp.
|
noexcept |
Definition at line 1195 of file quaternion.hpp.
|
noexcept |
|
inlinenoexcept |
Definition at line 1282 of file pmvmat4f.hpp.
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |