Joshua Nelson
c303cb573c
Add constexpr to quat,mat and vec
...
This is required for constexpr assignment which requires converting to a user defined type.
2025-08-15 06:10:54 +01:00
Jan Niklas Hasse
587289e487
Fix unused parameter warning in Release builds
...
BOOST_QVM_ASSERT is disabled there, so cast the variables to void
instead.
2025-01-16 23:06:40 +01:00
Emil Dotchevski
c26cbf5c0d
Header generation changes
2024-09-21 21:10:37 -07:00
Emil Dotchevski
c4b9c063a0
Fix for issue 54
2024-09-19 22:21:59 -07:00
Emil Dotchevski
68f960dc43
Added signed/unsigned long long specializations for is_scalar
2024-02-27 00:36:08 -08:00
Emil Dotchevski
0713e55bcf
Simplified to_string definition
2023-11-05 23:01:42 -08:00
Emil Dotchevski
ec2725754d
Removing bad ascii character insterted by mistake
2023-10-08 23:43:49 -07:00
Emil Dotchevski
830af205ea
Issue 45
2023-10-08 22:31:28 -07:00
Emil Dotchevski
fa272cb0b0
Issue 44
2023-06-06 12:48:59 -07:00
Emil Dotchevski
e659dc47a6
translation() supports non-square matrices
2023-03-08 22:44:36 -08:00
Emil Dotchevski
bb440047d5
Deprecated slerp, added slerp180/slerp360.
2023-03-01 21:21:26 -08:00
Jan Niklas Hasse
6d767ae0e5
Fix -Wunused-parameter in quat_operations.hpp
2023-01-18 11:17:43 +01:00
Emil Dotchevski
b9e75e0ddd
Issue #41
2023-01-17 20:33:28 -08:00
Emil Dotchevski
5791440b34
SFINAE use in conversion operator member functions. Fixes issue 39.
2022-04-15 11:12:06 -07:00
Emil Dotchevski
f7a3f6f759
Optional support for write_element definitions that take the value to write as an argument, instead of returning a reference to the element.
2022-03-14 20:20:49 -07:00
Emil Dotchevski
786303cdbb
Support for std::array if C++11 is available (Issue #38 )
2022-02-06 19:55:03 -08:00
Emil Dotchevski
be39b1008a
Updated copyright message
2022-01-18 15:02:54 -08:00
Emil Dotchevski
cfa94dbd40
is_scalar<char>::value is now false
2021-11-26 12:51:58 -08:00
Emil Dotchevski
54aa1f8d93
C++17 constexpr where easily doable
2021-11-25 16:04:49 -08:00
Emil Dotchevski
36ab7dfd00
Issue 33
2021-07-21 21:24:57 -07:00
Emil Dotchevski
46797f11f7
Invoking math functions via ADL
2021-07-18 18:21:41 -07:00
Emil Dotchevski
6cdb7477e8
Better single header distribution generation
2021-01-30 12:46:29 -08:00
Emil Dotchevski
9b8a496080
Generating qvm.hpp and qvm_lite.hpp on GitHub Actions
2020-12-19 23:46:20 -08:00
Emil Dotchevski
9fd0764eaa
Major refactor: single header support, deduce_quat2/deduce_vec2/deduce_mat2 used in all binary operations, cross product for 2D vectors, Meson build
2020-12-16 00:05:15 -08:00
Emil Dotchevski
e59006aa27
long double overloads in math.hpp
2020-04-01 21:51:30 -07:00
Emil Dotchevski
ffb434f1fa
Issue #23 , thanks steveire
2020-02-29 13:02:49 -08:00
Emil Dotchevski
1dd8654c24
Merge branch 'master' of https://github.com/boostorg/qvm
2019-12-21 11:10:38 -08:00
Emil Dotchevski
eb64271a11
Switched include guards from UUID_ to BOOST_QVM_
2019-12-20 23:21:57 -08:00
DionHo
0ba983d3cd
Quaternion slerp() using incorrect precision
...
In my use cases, the slerp operation returned a quaternion with nan-values because the angle between input quaternions was too low. I used double precision for the quaternions, but the acosf() function reduced the calculation accuracy, resulting in "theta==0.0".
Using acos<TR> instead of acosf is consistent with the other trigonometrical functions used in this method and solves the problem of precision loss in my use case.
(With even smaller angle differences, the calculation could still result in nan-quaternions when using double precision, but this is still an improvement, imho.)
2019-10-05 16:35:53 +02:00
Emil Dotchevski
79612faa2c
Added missing copyright messages
2019-08-05 12:27:01 -07:00
Emil Dotchevski
084c93f565
Removed equal_to, removed deduce_scalar from cmp<>.
2019-08-04 19:07:50 -07:00
agate-pris
a8ef094a00
Add equal_to
...
Added to compare different types.
2019-08-03 18:55:43 +09:00
agate-pris
fa035be9a0
Fix cmp of mat for non default constructible scalar types
2019-08-03 18:55:10 +09:00
agate-pris
641d5d4162
Fix cmp of vec for non default constructible scalar types
2019-08-03 18:54:47 +09:00
agate-pris
6f9af4aedd
Fix cmp of quat for non default constructible scalar types
2019-08-03 18:51:16 +09:00
agate-pris
8222bc437f
Add quaternion comparer
...
Added qvm_detail::cmp_quat.
2019-08-03 18:50:28 +09:00
Emil Dotchevski
a4ec8db5da
Workaround for a compiler warning, thanks Luigi Castelli
2019-07-19 16:47:08 -07:00
Emil Dotchevski
f15c67aa78
vec_register, thanks agate-pris
2018-12-17 14:59:00 -08:00
Emil Dotchevski
f648828173
Merge branch 'develop' of https://github.com/boostorg/qvm
2018-08-09 20:45:59 -07:00
Emil Dotchevski
7f7a846bca
Euler angles
2018-03-14 21:12:15 -07:00
Adam Wulkiewicz
d927bbf634
Fix unused parameter of identity_mat's mat_traits::read_element().
2017-12-24 03:51:22 +01:00
Emil Dotchevski
5209c985d8
Fixing the "assign" bug. Thanks nightsparc!
2017-05-13 21:23:26 -07:00
Emil Dotchevski
dfb75902c7
Full set of swizzling permutations.
2016-12-23 18:46:28 -08:00
Emil Dotchevski
5c079d4492
Implemented "swizzling" for scalars->vectors, e.g. X001(42.0f)->(42.0f,0,0,1)
2016-12-23 18:20:44 -08:00
Emil Dotchevski
2f315d7fd7
Changed MatType to mat_type in mat_traits_defaults.
2016-12-21 14:24:08 -08:00
Emil Dotchevski
5393fc3f1f
Implemented quat_traits_defaults, vec_traits_defaults, mat_traits_defaults. Deleted mat_index/vec_index.
2016-12-21 12:29:03 -08:00
Emil Dotchevski
a08d224368
is_scalar<long double>::value is now true.
2016-11-03 20:23:58 -07:00
Emil Dotchevski
d9e1584aef
scalar*vec, scalar*mat operations implemented
2016-11-03 20:13:27 -07:00
Emil Dotchevski
23589568c8
Fixing more pedantic warnings
2016-04-11 19:38:08 -07:00
Emil Dotchevski
1c9b2c16af
Fixed pedantic warnings.
2016-04-09 11:43:48 -07:00