xcal
基于 C++23 的现代图形渲染引擎
|
Compiler-specific type information handling for MSVC 更多...
命名空间 | |
namespace | concepts |
namespace | ops |
类 | |
struct | __batchHelper |
Metaclassfor constructing a vector from a pack of arguments 更多... | |
struct | __batchHelper< T, len > |
Metaclass for constructing a vector from a pack of arguments 更多... | |
class | complex |
Complex number class template 更多... | |
class | Constant |
class | Expression |
class | Fraction |
class | mat |
Matrix class template 更多... | |
class | Monomial |
struct | MyStr |
class | Polynomial |
class | quaternion |
Quaternion class template 更多... | |
struct | Slice |
Compile-time index sequence for vector slicing operations 更多... | |
struct | static_string |
class | Symbol |
struct | tvector |
struct | tvector<> |
class | vec |
Vector class template 更多... | |
struct | VecInfo |
概念 | |
concept | Vec |
Type requirement concept for vector types | |
concept | VecItem |
Concept for valid vector component types | |
concept | TVector |
类型定义 | |
using | complex_f128 = complex< long double > |
using | complex_f64 = complex< double > |
using | complex_f32 = complex< float > |
using | complex_f = complex< float > |
using | complex_i = complex< int32_t > |
using | complex_l = complex< long > |
using | complex_ll = complex< long long > |
template<typename T > | |
using | vec2 = vec< T, 2 > |
Alias for vec<T, 2> | |
template<typename T > | |
using | vec3 = vec< T, 3 > |
Alias for vec<T, 3> | |
template<typename T > | |
using | vec4 = vec< T, 4 > |
Alias for vec<T, 4> | |
template<size_t _len> | |
using | vecf = vec< float, _len > |
Alias for vec<float, _len> | |
template<size_t _len> | |
using | vecd = vec< double, _len > |
Alias for vec<double, _len> | |
template<size_t _len> | |
using | veci = vec< int, _len > |
Alias for vec<int, _len> | |
template<size_t _len> | |
using | vecui = vec< unsigned int, _len > |
Alias for vec<unsigned int, _len> | |
template<size_t _len> | |
using | vecl = vec< long, _len > |
Alias for vec<long, _len> | |
template<size_t _len> | |
using | vecul = vec< unsigned long, _len > |
Alias for vec<unsigned long, _len> | |
template<size_t _len> | |
using | vecll = vec< long long, _len > |
Alias for vec<long long, _len> | |
template<size_t _len> | |
using | vecull = vec< unsigned long long, _len > |
Alias for vec<unsigned long long, _len> | |
template<size_t _len> | |
using | vecb = vec< bool, _len > |
Alias for vec<bool, _len> | |
using | vec2f = vec2< float > |
using | vec3f = vec3< float > |
using | vec4f = vec4< float > |
using | vec2d = vec2< double > |
using | vec3d = vec3< double > |
using | vec4d = vec4< double > |
using | vec2i = vec2< int > |
using | vec3i = vec3< int > |
using | vec4i = vec4< int > |
using | vec2ui = vec2< unsigned int > |
using | vec3ui = vec3< unsigned int > |
using | vec4ui = vec4< unsigned int > |
using | vec2l = vec2< long > |
using | vec3l = vec3< long > |
using | vec4l = vec4< long > |
using | vec2ul = vec2< unsigned long > |
using | vec3ul = vec3< unsigned long > |
using | vec4ul = vec4< unsigned long > |
using | vec2ll = vec2< long long > |
using | vec3ll = vec3< long long > |
using | vec4ll = vec4< long long > |
using | vec2ull = vec2< unsigned long long > |
using | vec3ull = vec3< unsigned long long > |
using | vec4ull = vec4< unsigned long long > |
using | vec2b = vec2< bool > |
using | vec3b = vec3< bool > |
using | vec4b = vec4< bool > |
template<class _Tp > | |
using | mat1x2 = mat< _Tp, 1, 2 > |
Alias for mat<_Tp, 1, 2> | |
template<class _Tp > | |
using | mat1x3 = mat< _Tp, 1, 3 > |
Alias for mat<_Tp, 1, 3> | |
template<class _Tp > | |
using | mat1x4 = mat< _Tp, 1, 4 > |
Alias for mat<_Tp, 1, 4> | |
template<class _Tp > | |
using | mat2x1 = mat< _Tp, 2, 1 > |
Alias for mat<_Tp, 2, 1> | |
template<class _Tp > | |
using | mat2x2 = mat< _Tp, 2, 2 > |
Alias for mat<_Tp, 2, 2> | |
template<class _Tp > | |
using | mat2x3 = mat< _Tp, 2, 3 > |
Alias for mat<_Tp, 2, 3> | |
template<class _Tp > | |
using | mat2x4 = mat< _Tp, 2, 4 > |
Alias for mat<_Tp, 2, 4> | |
template<class _Tp > | |
using | mat3x1 = mat< _Tp, 3, 1 > |
Alias for mat<_Tp, 3, 1> | |
template<class _Tp > | |
using | mat3x2 = mat< _Tp, 3, 2 > |
Alias for mat<_Tp, 3, 2> | |
template<class _Tp > | |
using | mat3x3 = mat< _Tp, 3, 3 > |
Alias for mat<_Tp, 3, 3> | |
template<class _Tp > | |
using | mat3x4 = mat< _Tp, 3, 4 > |
Alias for mat<_Tp, 3, 4> | |
template<class _Tp > | |
using | mat4x1 = mat< _Tp, 4, 1 > |
Alias for mat<_Tp, 4, 1> | |
template<class _Tp > | |
using | mat4x2 = mat< _Tp, 4, 2 > |
Alias for mat<_Tp, 4, 2> | |
template<class _Tp > | |
using | mat4x3 = mat< _Tp, 4, 3 > |
Alias for mat<_Tp, 4, 3> | |
template<class _Tp > | |
using | mat4x4 = mat< _Tp, 4, 4 > |
Alias for mat<_Tp, 4, 4> | |
template<class _Tp > | |
using | mat3 = mat3x3< _Tp > |
Alias for mat3x3<_Tp> | |
template<class _Tp > | |
using | mat4 = mat4x4< _Tp > |
Alias for mat4x4<_Tp> | |
using | mat1x2f = mat1x2< float > |
using | mat1x3f = mat1x3< float > |
using | mat1x4f = mat1x4< float > |
using | mat2x1f = mat2x1< float > |
using | mat2x2f = mat2x2< float > |
using | mat2x3f = mat2x3< float > |
using | mat2x4f = mat2x4< float > |
using | mat3x1f = mat3x1< float > |
using | mat3x2f = mat3x2< float > |
using | mat3x3f = mat3x3< float > |
using | mat3x4f = mat3x4< float > |
using | mat4x1f = mat4x1< float > |
using | mat4x2f = mat4x2< float > |
using | mat4x3f = mat4x3< float > |
using | mat4x4f = mat4x4< float > |
using | mat1x2d = mat1x2< double > |
using | mat1x3d = mat1x3< double > |
using | mat1x4d = mat1x4< double > |
using | mat2x1d = mat2x1< double > |
using | mat2x2d = mat2x2< double > |
using | mat2x3d = mat2x3< double > |
using | mat2x4d = mat2x4< double > |
using | mat3x1d = mat3x1< double > |
using | mat3x2d = mat3x2< double > |
using | mat3x3d = mat3x3< double > |
using | mat3x4d = mat3x4< double > |
using | mat4x1d = mat4x1< double > |
using | mat4x2d = mat4x2< double > |
using | mat4x3d = mat4x3< double > |
using | mat4x4d = mat4x4< double > |
using | mat1x2i = mat1x2< int > |
using | mat1x3i = mat1x3< int > |
using | mat1x4i = mat1x4< int > |
using | mat2x1i = mat2x1< int > |
using | mat2x2i = mat2x2< int > |
using | mat2x3i = mat2x3< int > |
using | mat2x4i = mat2x4< int > |
using | mat3x1i = mat3x1< int > |
using | mat3x2i = mat3x2< int > |
using | mat3x3i = mat3x3< int > |
using | mat3x4i = mat3x4< int > |
using | mat4x1i = mat4x1< int > |
using | mat4x2i = mat4x2< int > |
using | mat4x3i = mat4x3< int > |
using | mat4x4i = mat4x4< int > |
using | mat1x2l = mat1x2< long > |
using | mat1x3l = mat1x3< long > |
using | mat1x4l = mat1x4< long > |
using | mat2x1l = mat2x1< long > |
using | mat2x2l = mat2x2< long > |
using | mat2x3l = mat2x3< long > |
using | mat2x4l = mat2x4< long > |
using | mat3x1l = mat3x1< long > |
using | mat3x2l = mat3x2< long > |
using | mat3x3l = mat3x3< long > |
using | mat3x4l = mat3x4< long > |
using | mat4x1l = mat4x1< long > |
using | mat4x2l = mat4x2< long > |
using | mat4x3l = mat4x3< long > |
using | mat4x4l = mat4x4< long > |
using | mat1x2ul = mat1x2< unsigned long > |
using | mat1x3ul = mat1x3< unsigned long > |
using | mat1x4ul = mat1x4< unsigned long > |
using | mat2x1ul = mat2x1< unsigned long > |
using | mat2x2ul = mat2x2< unsigned long > |
using | mat2x3ul = mat2x3< unsigned long > |
using | mat2x4ul = mat2x4< unsigned long > |
using | mat3x1ul = mat3x1< unsigned long > |
using | mat3x2ul = mat3x2< unsigned long > |
using | mat3x3ul = mat3x3< unsigned long > |
using | mat3x4ul = mat3x4< unsigned long > |
using | mat4x1ul = mat4x1< unsigned long > |
using | mat4x2ul = mat4x2< unsigned long > |
using | mat4x3ul = mat4x3< unsigned long > |
using | mat4x4ul = mat4x4< unsigned long > |
using | mat1x2b = mat1x2< bool > |
using | mat1x3b = mat1x3< bool > |
using | mat1x4b = mat1x4< bool > |
using | mat2x1b = mat2x1< bool > |
using | mat2x2b = mat2x2< bool > |
using | mat2x3b = mat2x3< bool > |
using | mat2x4b = mat2x4< bool > |
using | mat3x1b = mat3x1< bool > |
using | mat3x2b = mat3x2< bool > |
using | mat3x3b = mat3x3< bool > |
using | mat3x4b = mat3x4< bool > |
using | mat4x1b = mat4x1< bool > |
using | mat4x2b = mat4x2< bool > |
using | mat4x3b = mat4x3< bool > |
using | mat4x4b = mat4x4< bool > |
using | mat2f = mat2x2f |
using | mat3f = mat3x3f |
using | mat4f = mat4x4f |
using | mat2d = mat2x2d |
using | mat3d = mat3x3d |
using | mat4d = mat4x4d |
using | mat2i = mat2x2i |
using | mat3i = mat3x3i |
using | mat4i = mat4x4i |
using | mat2l = mat2x2l |
using | mat3l = mat3x3l |
using | mat4l = mat4x4l |
using | mat2ul = mat2x2ul |
using | mat3ul = mat3x3ul |
using | mat4ul = mat4x4ul |
using | mat2b = mat2x2b |
using | mat3b = mat3x3b |
using | mat4b = mat4x4b |
template<class T , size_t... lens> | |
using | batch = __batchHelper< T, lens... >::Type |
Metafunction for constructing a vector from a pack of arguments | |
typedef std::vector< std::shared_ptr< Constant > > | CoefficientPack |
typedef std::vector< std::shared_ptr< Symbol > > | VariablePack |
函数 | |
xcmath::complex< long long > | operator""_i (unsigned long long x) |
xcmath::complex< long double > | operator""_i (long double x) |
template<class _Tp1 , class... _Tp> | |
vec (const _Tp1 &, const _Tp...) -> vec< _Tp1, sizeof...(_Tp)+1 > | |
Deduction guide for vec class template | |
template<typename T > | |
constexpr T | radians (T degrees) |
Convert degrees to radians | |
template<typename T > | |
constexpr T | degrees (T radians) |
Convert radians to degrees | |
template<class _Tp , size_t _length = 3, size_t _dim = 4> requires ((_length == 3 || _length == 4) && (_dim == 4 || _dim == 3)) | |
mat< _Tp, _dim, _dim > | rotate (const mat< _Tp, _dim, _dim > &m, _Tp angle, const vec< _Tp, _length > &axis) |
Apply rotation for transform or rotation matrix around an axis | |
template<class _Tp , class _MTp = _Tp, size_t _dim = 3> requires (std::is_floating_point_v<_Tp> && (_dim == 3 || _dim == 4)) | |
mat< _MTp, _dim, _dim > | rotate (const mat< _MTp, _dim, _dim > &m, _Tp angle) |
Apply rotation for 2D transform or rotation matrix around an axis | |
template<class _Tp , class _ATp = _Tp, size_t _dim = 3> requires (std::is_floating_point_v<_Tp> && std::is_floating_point_v<_ATp>) | |
mat< _Tp, _dim, _dim > | rotate (const mat< _Tp, _dim, _dim > &m, _ATp angle, _Tp x, _Tp y, _Tp z) |
Apply rotation for matrix around an axis specified by coordinates | |
template<class _Tp , size_t _len = 4, size_t _vlen = 3> requires ((_len == 4 || _len == 3) && _vlen == _len - 1) | |
constexpr mat< _Tp, _len, _len > | translate (const mat< _Tp, _len, _len > &m, const vec< _Tp, _vlen > &v) |
Apply translation for matrix | |
template<class _Tp , size_t _len = 4> requires (_len == 4 || _len == 3) | |
constexpr mat< _Tp, _len, _len > | translate (const mat< _Tp, _len, _len > &m, const vec< _Tp, _len > &v) |
Apply translation for matrix using a homogenous vector | |
template<class _Tp , class _ATp = _Tp, size_t _dim = 4> requires (std::is_floating_point_v<_Tp> && std::is_floating_point_v<_ATp> && (_dim == 4 || _dim == 3)) | |
constexpr mat< _Tp, _dim, _dim > | scale (const mat< _Tp, _dim, _dim > &m, const vec< _ATp, _dim - 1 > &v) |
Apply translation to a matrix | |
template<class _Tp , class _STp , size_t _dim = 4> requires (std::is_arithmetic_v<_STp> && (_dim == 4 || _dim == 3)) | |
constexpr mat< _Tp, _dim, _dim > | scale (const mat< _Tp, _dim, _dim > &m, const _STp s) |
Scale a matrix by a vector | |
template<class _Tp , class _ItemType > requires (!std::is_same_v<_Tp, quaternion<_ItemType>>) | |
auto | operator+ (const _Tp &other, const quaternion< _ItemType > &v) |
Quaternion addition operator with scalar on the left | |
template<class _Tp , class _ItemType > requires (!std::is_same_v<_Tp, quaternion<_ItemType>>) | |
auto | operator- (const _Tp &other, const quaternion< _ItemType > &v) |
Quaternion subtraction operator with scalar on the left | |
constexpr quaternion< int > | operator""_qi (unsigned long long i) |
constexpr quaternion< int > | operator""_qj (unsigned long long j) |
constexpr quaternion< int > | operator""_qk (unsigned long long k) |
constexpr quaternion< float > | operator""_qi (long double i) |
constexpr quaternion< float > | operator""_qj (long double j) |
constexpr quaternion< float > | operator""_qk (long double k) |
template<typename T > requires concepts::OstreamOverwrite<T> || requires(T x) { { x.to_string() } -> std::same_as<std::string>; } | |
std::ostream & | operator<< (std::ostream &os, const complex< T > &c) |
template<typename T , size_t _rows, size_t _cols> requires concepts::OstreamOverwrite<T> || requires(T x) { { x.to_string() } -> std::same_as<std::string>; } | |
std::ostream & | operator<< (std::ostream &os, const mat< T, _rows, _cols > &m) |
template<typename T , size_t _size> requires concepts::OstreamOverwrite<T> || requires(T x) { { x.to_string() } -> std::same_as<std::string>; } | |
std::ostream & | operator<< (std::ostream &os, const vec< T, _size > &v) |
template<typename T > requires concepts::OstreamOverwrite<T> || requires(T x) { { x.to_string() } -> std::same_as<std::string>; } | |
std::ostream & | operator<< (std::ostream &os, const quaternion< T > &q) |
变量 | |
template<size_t _From, size_t _To, size_t _Step = 1> | |
constexpr auto | slice_from_to |
template<size_t _Start, size_t _Len, size_t _Step = 1> | |
constexpr auto | slice_start_len |
template<size_t _Len, size_t _Step = 1> | |
constexpr auto | slice_to = slice_from_to<0, (_Step * _Len) - 1, _Step> |
template<size_t _End, size_t _Len, size_t _Step = 1> | |
constexpr auto | slice_from_end |
constexpr long double | PI |
Pi constant | |
template<class Arg , class... Args> | |
constexpr size_t | VecConstructPackSize |
Metafunction computing total size of vector constructor arguments | |
template<class Arg > | |
constexpr size_t | VecConstructPackSize< Arg > |
Metafunction computing total size of vector constructor arguments | |
template<typename Object > | |
constexpr auto | TypeName |
Compiler-specific type information handling for MSVC
Provides workarounds for MSVC's type system differences
Namespace for extended mathematical utilities
Contains vector implementations, algebraic structures, and related meta-programming utilities
using xcmath::batch = typedef __batchHelper<T, lens...>::Type |
typedef std::vector<std::shared_ptr<Constant> > xcmath::CoefficientPack |
在文件 monomial.h 第 11 行定义.
using xcmath::complex_f = typedef complex<float> |
在文件 complex.hpp 第 92 行定义.
using xcmath::complex_f128 = typedef complex<long double> |
在文件 complex.hpp 第 89 行定义.
using xcmath::complex_f32 = typedef complex<float> |
在文件 complex.hpp 第 91 行定义.
using xcmath::complex_f64 = typedef complex<double> |
在文件 complex.hpp 第 90 行定义.
using xcmath::complex_i = typedef complex<int32_t> |
在文件 complex.hpp 第 93 行定义.
using xcmath::complex_l = typedef complex<long> |
在文件 complex.hpp 第 94 行定义.
using xcmath::complex_ll = typedef complex<long long> |
在文件 complex.hpp 第 95 行定义.
using xcmath::mat1x2 = typedef mat<_Tp, 1, 2> |
using xcmath::mat1x2b = typedef mat1x2<bool> |
在文件 declaration.hpp 第 446 行定义.
using xcmath::mat1x2d = typedef mat1x2<double> |
在文件 declaration.hpp 第 382 行定义.
using xcmath::mat1x2f = typedef mat1x2<float> |
在文件 declaration.hpp 第 366 行定义.
using xcmath::mat1x2i = typedef mat1x2<int> |
在文件 declaration.hpp 第 398 行定义.
using xcmath::mat1x2l = typedef mat1x2<long> |
在文件 declaration.hpp 第 414 行定义.
using xcmath::mat1x2ul = typedef mat1x2<unsigned long> |
在文件 declaration.hpp 第 430 行定义.
using xcmath::mat1x3 = typedef mat<_Tp, 1, 3> |
using xcmath::mat1x3b = typedef mat1x3<bool> |
在文件 declaration.hpp 第 447 行定义.
using xcmath::mat1x3d = typedef mat1x3<double> |
在文件 declaration.hpp 第 383 行定义.
using xcmath::mat1x3f = typedef mat1x3<float> |
在文件 declaration.hpp 第 367 行定义.
using xcmath::mat1x3i = typedef mat1x3<int> |
在文件 declaration.hpp 第 399 行定义.
using xcmath::mat1x3l = typedef mat1x3<long> |
在文件 declaration.hpp 第 415 行定义.
using xcmath::mat1x3ul = typedef mat1x3<unsigned long> |
在文件 declaration.hpp 第 431 行定义.
using xcmath::mat1x4 = typedef mat<_Tp, 1, 4> |
using xcmath::mat1x4b = typedef mat1x4<bool> |
在文件 declaration.hpp 第 448 行定义.
using xcmath::mat1x4d = typedef mat1x4<double> |
在文件 declaration.hpp 第 384 行定义.
using xcmath::mat1x4f = typedef mat1x4<float> |
在文件 declaration.hpp 第 368 行定义.
using xcmath::mat1x4i = typedef mat1x4<int> |
在文件 declaration.hpp 第 400 行定义.
using xcmath::mat1x4l = typedef mat1x4<long> |
在文件 declaration.hpp 第 416 行定义.
using xcmath::mat1x4ul = typedef mat1x4<unsigned long> |
在文件 declaration.hpp 第 432 行定义.
using xcmath::mat2b = typedef mat2x2b |
在文件 declaration.hpp 第 477 行定义.
using xcmath::mat2d = typedef mat2x2d |
在文件 declaration.hpp 第 465 行定义.
using xcmath::mat2f = typedef mat2x2f |
在文件 declaration.hpp 第 462 行定义.
using xcmath::mat2i = typedef mat2x2i |
在文件 declaration.hpp 第 468 行定义.
using xcmath::mat2l = typedef mat2x2l |
在文件 declaration.hpp 第 471 行定义.
using xcmath::mat2ul = typedef mat2x2ul |
在文件 declaration.hpp 第 474 行定义.
using xcmath::mat2x1 = typedef mat<_Tp, 2, 1> |
using xcmath::mat2x1b = typedef mat2x1<bool> |
在文件 declaration.hpp 第 449 行定义.
using xcmath::mat2x1d = typedef mat2x1<double> |
在文件 declaration.hpp 第 385 行定义.
using xcmath::mat2x1f = typedef mat2x1<float> |
在文件 declaration.hpp 第 369 行定义.
using xcmath::mat2x1i = typedef mat2x1<int> |
在文件 declaration.hpp 第 401 行定义.
using xcmath::mat2x1l = typedef mat2x1<long> |
在文件 declaration.hpp 第 417 行定义.
using xcmath::mat2x1ul = typedef mat2x1<unsigned long> |
在文件 declaration.hpp 第 433 行定义.
using xcmath::mat2x2 = typedef mat<_Tp, 2, 2> |
using xcmath::mat2x2b = typedef mat2x2<bool> |
在文件 declaration.hpp 第 450 行定义.
using xcmath::mat2x2d = typedef mat2x2<double> |
在文件 declaration.hpp 第 386 行定义.
using xcmath::mat2x2f = typedef mat2x2<float> |
在文件 declaration.hpp 第 370 行定义.
using xcmath::mat2x2i = typedef mat2x2<int> |
在文件 declaration.hpp 第 402 行定义.
using xcmath::mat2x2l = typedef mat2x2<long> |
在文件 declaration.hpp 第 418 行定义.
using xcmath::mat2x2ul = typedef mat2x2<unsigned long> |
在文件 declaration.hpp 第 434 行定义.
using xcmath::mat2x3 = typedef mat<_Tp, 2, 3> |
using xcmath::mat2x3b = typedef mat2x3<bool> |
在文件 declaration.hpp 第 451 行定义.
using xcmath::mat2x3d = typedef mat2x3<double> |
在文件 declaration.hpp 第 387 行定义.
using xcmath::mat2x3f = typedef mat2x3<float> |
在文件 declaration.hpp 第 371 行定义.
using xcmath::mat2x3i = typedef mat2x3<int> |
在文件 declaration.hpp 第 403 行定义.
using xcmath::mat2x3l = typedef mat2x3<long> |
在文件 declaration.hpp 第 419 行定义.
using xcmath::mat2x3ul = typedef mat2x3<unsigned long> |
在文件 declaration.hpp 第 435 行定义.
using xcmath::mat2x4 = typedef mat<_Tp, 2, 4> |
using xcmath::mat2x4b = typedef mat2x4<bool> |
在文件 declaration.hpp 第 452 行定义.
using xcmath::mat2x4d = typedef mat2x4<double> |
在文件 declaration.hpp 第 388 行定义.
using xcmath::mat2x4f = typedef mat2x4<float> |
在文件 declaration.hpp 第 372 行定义.
using xcmath::mat2x4i = typedef mat2x4<int> |
在文件 declaration.hpp 第 404 行定义.
using xcmath::mat2x4l = typedef mat2x4<long> |
在文件 declaration.hpp 第 420 行定义.
using xcmath::mat2x4ul = typedef mat2x4<unsigned long> |
在文件 declaration.hpp 第 436 行定义.
using xcmath::mat3 = typedef mat3x3<_Tp> |
using xcmath::mat3b = typedef mat3x3b |
在文件 declaration.hpp 第 478 行定义.
using xcmath::mat3d = typedef mat3x3d |
在文件 declaration.hpp 第 466 行定义.
using xcmath::mat3f = typedef mat3x3f |
在文件 declaration.hpp 第 463 行定义.
using xcmath::mat3i = typedef mat3x3i |
在文件 declaration.hpp 第 469 行定义.
using xcmath::mat3l = typedef mat3x3l |
在文件 declaration.hpp 第 472 行定义.
using xcmath::mat3ul = typedef mat3x3ul |
在文件 declaration.hpp 第 475 行定义.
using xcmath::mat3x1 = typedef mat<_Tp, 3, 1> |
using xcmath::mat3x1b = typedef mat3x1<bool> |
在文件 declaration.hpp 第 453 行定义.
using xcmath::mat3x1d = typedef mat3x1<double> |
在文件 declaration.hpp 第 389 行定义.
using xcmath::mat3x1f = typedef mat3x1<float> |
在文件 declaration.hpp 第 373 行定义.
using xcmath::mat3x1i = typedef mat3x1<int> |
在文件 declaration.hpp 第 405 行定义.
using xcmath::mat3x1l = typedef mat3x1<long> |
在文件 declaration.hpp 第 421 行定义.
using xcmath::mat3x1ul = typedef mat3x1<unsigned long> |
在文件 declaration.hpp 第 437 行定义.
using xcmath::mat3x2 = typedef mat<_Tp, 3, 2> |
using xcmath::mat3x2b = typedef mat3x2<bool> |
在文件 declaration.hpp 第 454 行定义.
using xcmath::mat3x2d = typedef mat3x2<double> |
在文件 declaration.hpp 第 390 行定义.
using xcmath::mat3x2f = typedef mat3x2<float> |
在文件 declaration.hpp 第 374 行定义.
using xcmath::mat3x2i = typedef mat3x2<int> |
在文件 declaration.hpp 第 406 行定义.
using xcmath::mat3x2l = typedef mat3x2<long> |
在文件 declaration.hpp 第 422 行定义.
using xcmath::mat3x2ul = typedef mat3x2<unsigned long> |
在文件 declaration.hpp 第 438 行定义.
using xcmath::mat3x3 = typedef mat<_Tp, 3, 3> |
using xcmath::mat3x3b = typedef mat3x3<bool> |
在文件 declaration.hpp 第 455 行定义.
using xcmath::mat3x3d = typedef mat3x3<double> |
在文件 declaration.hpp 第 391 行定义.
using xcmath::mat3x3f = typedef mat3x3<float> |
在文件 declaration.hpp 第 375 行定义.
using xcmath::mat3x3i = typedef mat3x3<int> |
在文件 declaration.hpp 第 407 行定义.
using xcmath::mat3x3l = typedef mat3x3<long> |
在文件 declaration.hpp 第 423 行定义.
using xcmath::mat3x3ul = typedef mat3x3<unsigned long> |
在文件 declaration.hpp 第 439 行定义.
using xcmath::mat3x4 = typedef mat<_Tp, 3, 4> |
using xcmath::mat3x4b = typedef mat3x4<bool> |
在文件 declaration.hpp 第 456 行定义.
using xcmath::mat3x4d = typedef mat3x4<double> |
在文件 declaration.hpp 第 392 行定义.
using xcmath::mat3x4f = typedef mat3x4<float> |
在文件 declaration.hpp 第 376 行定义.
using xcmath::mat3x4i = typedef mat3x4<int> |
在文件 declaration.hpp 第 408 行定义.
using xcmath::mat3x4l = typedef mat3x4<long> |
在文件 declaration.hpp 第 424 行定义.
using xcmath::mat3x4ul = typedef mat3x4<unsigned long> |
在文件 declaration.hpp 第 440 行定义.
using xcmath::mat4 = typedef mat4x4<_Tp> |
using xcmath::mat4b = typedef mat4x4b |
在文件 declaration.hpp 第 479 行定义.
using xcmath::mat4d = typedef mat4x4d |
在文件 declaration.hpp 第 467 行定义.
using xcmath::mat4f = typedef mat4x4f |
在文件 declaration.hpp 第 464 行定义.
using xcmath::mat4i = typedef mat4x4i |
在文件 declaration.hpp 第 470 行定义.
using xcmath::mat4l = typedef mat4x4l |
在文件 declaration.hpp 第 473 行定义.
using xcmath::mat4ul = typedef mat4x4ul |
在文件 declaration.hpp 第 476 行定义.
using xcmath::mat4x1 = typedef mat<_Tp, 4, 1> |
using xcmath::mat4x1b = typedef mat4x1<bool> |
在文件 declaration.hpp 第 457 行定义.
using xcmath::mat4x1d = typedef mat4x1<double> |
在文件 declaration.hpp 第 393 行定义.
using xcmath::mat4x1f = typedef mat4x1<float> |
在文件 declaration.hpp 第 377 行定义.
using xcmath::mat4x1i = typedef mat4x1<int> |
在文件 declaration.hpp 第 409 行定义.
using xcmath::mat4x1l = typedef mat4x1<long> |
在文件 declaration.hpp 第 425 行定义.
using xcmath::mat4x1ul = typedef mat4x1<unsigned long> |
在文件 declaration.hpp 第 441 行定义.
using xcmath::mat4x2 = typedef mat<_Tp, 4, 2> |
using xcmath::mat4x2b = typedef mat4x2<bool> |
在文件 declaration.hpp 第 458 行定义.
using xcmath::mat4x2d = typedef mat4x2<double> |
在文件 declaration.hpp 第 394 行定义.
using xcmath::mat4x2f = typedef mat4x2<float> |
在文件 declaration.hpp 第 378 行定义.
using xcmath::mat4x2i = typedef mat4x2<int> |
在文件 declaration.hpp 第 410 行定义.
using xcmath::mat4x2l = typedef mat4x2<long> |
在文件 declaration.hpp 第 426 行定义.
using xcmath::mat4x2ul = typedef mat4x2<unsigned long> |
在文件 declaration.hpp 第 442 行定义.
using xcmath::mat4x3 = typedef mat<_Tp, 4, 3> |
using xcmath::mat4x3b = typedef mat4x3<bool> |
在文件 declaration.hpp 第 459 行定义.
using xcmath::mat4x3d = typedef mat4x3<double> |
在文件 declaration.hpp 第 395 行定义.
using xcmath::mat4x3f = typedef mat4x3<float> |
在文件 declaration.hpp 第 379 行定义.
using xcmath::mat4x3i = typedef mat4x3<int> |
在文件 declaration.hpp 第 411 行定义.
using xcmath::mat4x3l = typedef mat4x3<long> |
在文件 declaration.hpp 第 427 行定义.
using xcmath::mat4x3ul = typedef mat4x3<unsigned long> |
在文件 declaration.hpp 第 443 行定义.
using xcmath::mat4x4 = typedef mat<_Tp, 4, 4> |
using xcmath::mat4x4b = typedef mat4x4<bool> |
在文件 declaration.hpp 第 460 行定义.
using xcmath::mat4x4d = typedef mat4x4<double> |
在文件 declaration.hpp 第 396 行定义.
using xcmath::mat4x4f = typedef mat4x4<float> |
在文件 declaration.hpp 第 380 行定义.
using xcmath::mat4x4i = typedef mat4x4<int> |
在文件 declaration.hpp 第 412 行定义.
using xcmath::mat4x4l = typedef mat4x4<long> |
在文件 declaration.hpp 第 428 行定义.
using xcmath::mat4x4ul = typedef mat4x4<unsigned long> |
在文件 declaration.hpp 第 444 行定义.
typedef std::vector<std::shared_ptr<Symbol> > xcmath::VariablePack |
在文件 monomial.h 第 12 行定义.
using xcmath::vec2 = typedef vec<T, 2> |
using xcmath::vec2b = typedef vec2<bool> |
在文件 declaration.hpp 第 224 行定义.
using xcmath::vec2d = typedef vec2<double> |
在文件 declaration.hpp 第 203 行定义.
using xcmath::vec2f = typedef vec2<float> |
在文件 declaration.hpp 第 200 行定义.
using xcmath::vec2i = typedef vec2<int> |
在文件 declaration.hpp 第 206 行定义.
using xcmath::vec2l = typedef vec2<long> |
在文件 declaration.hpp 第 212 行定义.
using xcmath::vec2ll = typedef vec2<long long> |
在文件 declaration.hpp 第 218 行定义.
using xcmath::vec2ui = typedef vec2<unsigned int> |
在文件 declaration.hpp 第 209 行定义.
using xcmath::vec2ul = typedef vec2<unsigned long> |
在文件 declaration.hpp 第 215 行定义.
using xcmath::vec2ull = typedef vec2<unsigned long long> |
在文件 declaration.hpp 第 221 行定义.
using xcmath::vec3 = typedef vec<T, 3> |
using xcmath::vec3b = typedef vec3<bool> |
在文件 declaration.hpp 第 225 行定义.
using xcmath::vec3d = typedef vec3<double> |
在文件 declaration.hpp 第 204 行定义.
using xcmath::vec3f = typedef vec3<float> |
在文件 declaration.hpp 第 201 行定义.
using xcmath::vec3i = typedef vec3<int> |
在文件 declaration.hpp 第 207 行定义.
using xcmath::vec3l = typedef vec3<long> |
在文件 declaration.hpp 第 213 行定义.
using xcmath::vec3ll = typedef vec3<long long> |
在文件 declaration.hpp 第 219 行定义.
using xcmath::vec3ui = typedef vec3<unsigned int> |
在文件 declaration.hpp 第 210 行定义.
using xcmath::vec3ul = typedef vec3<unsigned long> |
在文件 declaration.hpp 第 216 行定义.
using xcmath::vec3ull = typedef vec3<unsigned long long> |
在文件 declaration.hpp 第 222 行定义.
using xcmath::vec4 = typedef vec<T, 4> |
using xcmath::vec4b = typedef vec4<bool> |
在文件 declaration.hpp 第 226 行定义.
using xcmath::vec4d = typedef vec4<double> |
在文件 declaration.hpp 第 205 行定义.
using xcmath::vec4f = typedef vec4<float> |
在文件 declaration.hpp 第 202 行定义.
using xcmath::vec4i = typedef vec4<int> |
在文件 declaration.hpp 第 208 行定义.
using xcmath::vec4l = typedef vec4<long> |
在文件 declaration.hpp 第 214 行定义.
using xcmath::vec4ll = typedef vec4<long long> |
在文件 declaration.hpp 第 220 行定义.
using xcmath::vec4ui = typedef vec4<unsigned int> |
在文件 declaration.hpp 第 211 行定义.
using xcmath::vec4ul = typedef vec4<unsigned long> |
在文件 declaration.hpp 第 217 行定义.
using xcmath::vec4ull = typedef vec4<unsigned long long> |
在文件 declaration.hpp 第 223 行定义.
using xcmath::vecb = typedef vec<bool, _len> |
using xcmath::vecd = typedef vec<double, _len> |
using xcmath::vecf = typedef vec<float, _len> |
using xcmath::veci = typedef vec<int, _len> |
using xcmath::vecl = typedef vec<long, _len> |
using xcmath::vecll = typedef vec<long long, _len> |
using xcmath::vecui = typedef vec<unsigned int, _len> |
using xcmath::vecul = typedef vec<unsigned long, _len> |
using xcmath::vecull = typedef vec<unsigned long long, _len> |
Alias for vec<unsigned long long, _len>
_len | Length of the vector |
在文件 declaration.hpp 第 189 行定义.
|
inlineconstexpr |
|
inline |
在文件 complex.hpp 第 85 行定义.
|
inline |
在文件 complex.hpp 第 82 行定义.
|
inlineconstexpr |
在文件 quaternion.hpp 第 443 行定义.
|
inlineconstexpr |
在文件 quaternion.hpp 第 427 行定义.
|
inlineconstexpr |
在文件 quaternion.hpp 第 448 行定义.
|
inlineconstexpr |
在文件 quaternion.hpp 第 432 行定义.
|
inlineconstexpr |
在文件 quaternion.hpp 第 453 行定义.
|
inlineconstexpr |
在文件 quaternion.hpp 第 437 行定义.
auto xcmath::operator+ | ( | const _Tp & | other, |
const quaternion< _ItemType > & | v | ||
) |
Quaternion addition operator with scalar on the left
_Tp | Type of the scalar |
_ItemType | Type of elements in the quaternion |
other | Scalar value |
v | Quaternion to add to |
在文件 quaternion.hpp 第 339 行定义.
引用了 xcmath::quaternion< _Tp >::i(), xcmath::quaternion< _Tp >::j(), xcmath::quaternion< _Tp >::k() , 以及 xcmath::quaternion< _Tp >::r().
auto xcmath::operator- | ( | const _Tp & | other, |
const quaternion< _ItemType > & | v | ||
) |
Quaternion subtraction operator with scalar on the left
_Tp | Type of the scalar |
_ItemType | Type of elements in the quaternion |
other | Scalar value |
v | Quaternion to subtract from |
在文件 quaternion.hpp 第 359 行定义.
引用了 xcmath::quaternion< _Tp >::i(), xcmath::quaternion< _Tp >::j(), xcmath::quaternion< _Tp >::k() , 以及 xcmath::quaternion< _Tp >::r().
std::ostream & xcmath::operator<< | ( | std::ostream & | os, |
const complex< T > & | c | ||
) |
std::ostream & xcmath::operator<< | ( | std::ostream & | os, |
const mat< T, _rows, _cols > & | m | ||
) |
std::ostream & xcmath::operator<< | ( | std::ostream & | os, |
const quaternion< T > & | q | ||
) |
std::ostream & xcmath::operator<< | ( | std::ostream & | os, |
const vec< T, _size > & | v | ||
) |
|
inlineconstexpr |
mat< _MTp, _dim, _dim > xcmath::rotate | ( | const mat< _MTp, _dim, _dim > & | m, |
_Tp | angle | ||
) |
Apply rotation for 2D transform or rotation matrix around an axis
_Tp | Type of elements |
_dim | Dimension of the matrix (3 or 4) |
m | Input matrix to apply rotation |
angle | Rotation angle in degrees |
在文件 function.hpp 第 87 行定义.
mat< _Tp, _dim, _dim > xcmath::rotate | ( | const mat< _Tp, _dim, _dim > & | m, |
_ATp | angle, | ||
_Tp | x, | ||
_Tp | y, | ||
_Tp | z | ||
) |
Apply rotation for matrix around an axis specified by coordinates
_Tp | Type of elements |
_dim | Dimension of the matrix (3 or 4) |
m | Input matrix to apply rotation |
angle | Rotation angle in degrees |
x | X-coordinate of rotation axis |
y | Y-coordinate of rotation axis |
z | Z-coordinate of rotation axis |
在文件 function.hpp 第 109 行定义.
引用了 rotate().
mat< _Tp, _dim, _dim > xcmath::rotate | ( | const mat< _Tp, _dim, _dim > & | m, |
_Tp | angle, | ||
const vec< _Tp, _length > & | axis | ||
) |
Apply rotation for transform or rotation matrix around an axis
_Tp | Type of elements |
_length | Length of the axis vector (3 or 4) |
_dim | Dimension of the matrix (3 or 4) |
m | Input matrix to apply rotation |
angle | Rotation angle in degrees |
axis | Rotation axis vector |
在文件 function.hpp 第 54 行定义.
引用了 xcmath::mat< _Tp, _rows, _cols >::eye(), xcmath::vec< _Tp, _length >::normalize() , 以及 radians().
被这些函数引用 rotate(), TEST() , 以及 xcal::render::opengl::utils::SingleComposedMObjectWrapper< T >::update_model_matrix().
|
constexpr |
Scale a matrix by a vector
_Tp | The type of the matrix |
_STp | The type of the vector |
m | The matrix to scale |
v | The vector to scale by |
在文件 function.hpp 第 180 行定义.
引用了 scale().
|
constexpr |
Apply translation to a matrix
m | Input matrix to apply translation |
v | Translation vector |
在文件 function.hpp 第 160 行定义.
引用了 xcmath::mat< _Tp, _rows, _cols >::eye().
被这些函数引用 scale(), TEST() , 以及 xcal::render::opengl::utils::SingleComposedMObjectWrapper< T >::update_model_matrix().
|
constexpr |
Apply translation for matrix using a homogenous vector
_Tp | Type of elements |
_len | Dimension of the matrix (3 or 4) |
m | Input matrix to apply translation |
v | Translation vector |
在文件 function.hpp 第 145 行定义.
引用了 translate().
|
constexpr |
Apply translation for matrix
_Tp | Type of elements |
_len | Dimension of the matrix (3 or 4) |
m | Input matrix to apply translation |
v | Translation vector |
在文件 function.hpp 第 125 行定义.
被这些函数引用 TEST(), translate() , 以及 xcal::render::opengl::utils::SingleComposedMObjectWrapper< T >::update_model_matrix().
xcmath::vec | ( | const _Tp1 & | , |
const _Tp... | |||
) | -> vec< _Tp1, sizeof...(_Tp)+1 > |
Deduction guide for vec class template
_Tp1 | Type of the first element |
_Tp | Types of remaining elements |
|
constexpr |
Pi constant
在文件 declaration.hpp 第 485 行定义.
被这些函数引用 xcal::render::opengl::object::Circle::create(), degrees(), radians(), TEST(), TEST() , 以及 xcal::camera::TEST().
|
constexpr |
在文件 declaration.hpp 第 53 行定义.
|
constexpr |
在文件 declaration.hpp 第 29 行定义.
|
constexpr |
在文件 declaration.hpp 第 48 行定义.
|
constexpr |
在文件 declaration.hpp 第 51 行定义.
|
constexpr |
在文件 compiling.hpp 第 28 行定义.
|
constexpr |
Metafunction computing total size of vector constructor arguments
Args | Variadic argument types (vectors and/or scalars) |
|
inlineconstexpr |
Metafunction computing total size of vector constructor arguments
Arg |