Vladimír Vondruš
b121e8758a
Math: added Vector::pad().
11 years ago
Vladimír Vondruš
6372711260
Math: save one swizzle in Vector3::cross().
...
There was also an error in the original equation (docs only, though).
11 years ago
Bill Robinson
80e01ae18d
Math: added Matrix4::lookAt().
11 years ago
Vladimír Vondruš
90b519c4d2
Math: improve Constants test, fix Clang compilation.
11 years ago
Vladimír Vondruš
f30a4677eb
Math: added Matrix[34]::shearing*().
11 years ago
Vladimír Vondruš
c71dc12503
Making test declarations more compact.
...
Yet again I experienced how insanely large this thing got over the
years.
11 years ago
Vladimír Vondruš
6488fe6e75
Oh, it's 2015 already.
11 years ago
Vladimír Vondruš
3ae17b5bed
Math: faster quaternion/vector multiplication.
...
Source: https://molecularmusings.wordpress.com/2013/05/24/a-faster-quaternion-vector-multiplication/
11 years ago
Vladimír Vondruš
ba88567710
Remove redundant `inline` keyword.
11 years ago
Vladimír Vondruš
b4311f3462
Doc++
11 years ago
Vladimír Vondruš
c56940993b
Use the new math constants throughout the code.
12 years ago
Vladimír Vondruš
00124f65eb
Math: return unspecified value after an assertion.
...
The user shouldn't expect anything after assertion anyway and it only
adds unnecessary noise to the implementation and tests.
12 years ago
Vladimír Vondruš
75c3e00844
Math: added NaN and infinity to constants.
...
Using std::numeric_limits for the Double variants looks like an overkill
to me, but there apparently isn't any other way, except for crafting the
value manually using the exact binary representation (and hoping it will
be portable) or producing the value as result of division by zero or
something like that (and then working around the warnings and also
hoping it will be portable).
12 years ago
Vladimír Vondruš
076144886a
Math: added half pi and Euler's number to constants.
...
Constants::piHalf() is not longer to write than doing the division
manually and it has significantly smaller mental overhead. Also I chose
piHalf() instead of halfPi() to make it more discoverable through
autocompletion.
Float a = Constants::pi()*0.5f;
Float a = Constants::piHalf();
Float b = Constants::pi()/(2*countOfSomething);
Float b = Constants::piHalf()/countOfSomething;
12 years ago
Vladimír Vondruš
fdb8991d56
Math: various cleanup.
12 years ago
Vladimír Vondruš
64a02d68db
Math: document more non-obvious tricks.
12 years ago
Vladimír Vondruš
05565ef4f7
Math: document some potentially non-obvious tricks.
12 years ago
Vladimír Vondruš
3b76862f69
Math: minor cleanup.
12 years ago
Vladimír Vondruš
1bc3723702
Math: this also isn't Doxygen's fault.
...
Why? Imagine this C++/Doxygen/Markdown parsing nightmare:
/**
* @page operator Operators
*
* See also @ref operator "" _page_.
*/
/**
* @brief Page literal
*
* See also @ref operator "Operators" _page_.
*/
Page operator "" _page_(unsigned long long int);
Sorry ;)
12 years ago
Vladimír Vondruš
11ed4882e0
Removed some workarounds for references in documentation.
...
Fixed in Doxygen master. Yay!
12 years ago
Vladimír Vondruš
8be3630432
Math: doc++
12 years ago
Vladimír Vondruš
7dd224ed21
Math: removed autolink-preventing % noise, removed unneeded HTML tags.
12 years ago
Vladimír Vondruš
664e765fd9
Doc++
...
Fixed Doxygen warnings, improved some workarounds. Everything now uses
explicit references (except where it doesn't work).
12 years ago
Vladimír Vondruš
d90a5e27e8
Hide forward declarations from Doxygen.
...
Forward declarations of templated types don't have named template
parameters and thus Doxygen (sometimes) used these for documentation. It
then looked like this:
Magnum::Math::RectangularMatrix<std::size_t, std::size_t, class>
which isn't helpful at all. After the change it looks like this (much
better):
Magnum::Math::RectangularMatrix<cols, rows, T>
12 years ago
Vladimír Vondruš
5e066d6395
Math: hide macro from Doxygen.
...
For some weird reason it caused Doxygen to use that as target for
documentation block that is *after* the macro.
12 years ago
Vladimír Vondruš
9bb5171365
Math: added Constants::tau().
...
Or two pi, 6.28.
12 years ago
Vladimír Vondruš
80cab864b2
Doc++
12 years ago
Vladimír Vondruš
217b53ceb2
Display all headers in project view of IDEs.
...
Finally makes development with QtCreator usable.
12 years ago
Vladimír Vondruš
5e88bb0da2
Math: less strict precision for comparing floats.
...
Now the viewer example is usable again.
12 years ago
Vladimír Vondruš
b60c2dcb51
Math: better algorithm for comparing floating-point values.
...
Still not ideal (for values around zero), but can't do much better for
such general case.
12 years ago
Vladimír Vondruš
c3df68aa28
doc: make section headers in class/function docs have sane size.
...
Similar reasoning as in mosra/corrade@93b8308bc6a4def9d4564a6cea236cabe54fe063.
12 years ago
Vladimír Vondruš
16eb32740b
Math: added Range::data().
...
The main side-effect of this is that the data layout is now really
specified, making it useful for various glGet*(GL_*_RANGE) calls.
12 years ago
Vladimír Vondruš
e4f7d0bb52
Doc++
12 years ago
Vladimír Vondruš
dcd89bac0a
Math: no need to use class here.
12 years ago
Vladimír Vondruš
b475389cc9
Math: make the constructors in test also constexpr.
12 years ago
Vladimír Vondruš
4a4768a12a
Use template aliases where possible.
...
Because with GCC 4.7 we can.
12 years ago
Vladimír Vondruš
a9a5ead13d
Dropped GCC 4.6 support.
12 years ago
Vladimír Vondruš
a27c61c38e
Math: doc++
12 years ago
Vladimír Vondruš
71db38cb2f
Math: use Vector::max() instead of custom ugly solution.
12 years ago
Vladimír Vondruš
c537cda31e
Math: remove superfluous namespace scoping from test.
12 years ago
Vladimír Vondruš
a8199340fb
Math: fixed confusing naming.
...
Probably was byte vector originally, but isn't anymore.
12 years ago
Vladimír Vondruš
6c9066be8c
doc: removed old Doxygen workarounds.
...
It can finally handle operators, yay! (Well, some of them...)
12 years ago
Vladimír Vondruš
69d02ee7ee
doc: strict ordering of sections in detailed documentation.
...
It makes sense, but this ordering also helps to avoid bug in Doxygen
1.8.6+ which merges next non-xrefitem section with the previous one (so
e.g. the TODO list contained the following @see block, which is not
desired).
12 years ago
Vladimír Vondruš
2ca955bb29
Math: documented Matrix[34]::invertedRigid().
12 years ago
Vladimír Vondruš
81039fc2c9
Math: completed documentation review.
12 years ago
Vladimír Vondruš
87d8b6a229
Disable 64bit integers for WebGL.
...
Due to crappy JavaScript design which doesn't count with any integers at
all, the integers needs to be "emulated" inside the 52-bit exponent of
doubles, which means that only 32bit integers can fit there (not to
mention various issues with 32b overflow, which needs to be emulated
somehow to work properly).
12 years ago
Vladimír Vondruš
e5c366c6af
Doc++
12 years ago
Vladimír Vondruš
a72ca4b2b6
Math: doc++
12 years ago
Vladimír Vondruš
2235cb76b1
Apparently Android is something like newlib.
12 years ago
Vladimír Vondruš
6f0ba96cb6
Happy new year too.
12 years ago