Vladimír Vondruš
305fdf81ee
It's 2023 already!
3 years ago
Vladimír Vondruš
d75f31e854
python: expose new linear RGB(A) conversion APIs from Color.
3 years ago
Vladimír Vondruš
dddef56c87
python: adapt to Magnum changes.
...
Which means the API gets renamed, so a breaking change.
3 years ago
Vladimír Vondruš
62a07c38bc
python: adapt to Magnum changes.
4 years ago
Aaron Gokaslan
ca5e16f658
python: avoid some unnecessary object copies.
4 years ago
Vladimír Vondruš
2295f43873
Updated copyright year.
4 years ago
Vladimír Vondruš
0eade80567
python: expose RGB<->XYZ conversion utilities.
...
I just needed to calculate expected output for a doc snippet, that's
all.
4 years ago
Vladimír Vondruš
0120b3f768
python: add remaining vector/scalar, exp and other math functions.
...
Except for binomial coefficient, there the asserts are hard to replicate
and would need a change on Magnum side.
4 years ago
Aaron Gokaslan
c50a2f6851
python: add bindings for convenience color functions.
...
Co-authored-by: Vladimír Vondruš <mosra@centrum.cz>
5 years ago
Vladimír Vondruš
aadc437b25
python: added Vector4 from Vector3 and Vector3 from Vector2 constructors.
...
Not sure why I missed those.
5 years ago
Vladimír Vondruš
84f9bb2a9d
Updated copyright year.
5 years ago
Vladimír Vondruš
57db13422f
python: make this compatible with pybind11 2.6.
...
Pybind changed py::module to py::module_ in order to support C++
modules, adapting to that change. It still builds on older versions,
but we're using only the new APIs.
6 years ago
Vladimír Vondruš
f2cba9cb57
python: adapt to Magnum changes.
6 years ago
Vladimír Vondruš
b1d45fc85a
Updated copyright year.
6 years ago
Vladimír Vondruš
86bac39471
Adapt to Corrade changes.
6 years ago
Vladimír Vondruš
500311fa7c
python: add APIs for Color from/to sRGB int.
...
I need that for generating colormaps.
6 years ago
Vladimír Vondruš
f20c5beb76
python: move away from concrete pybind exceptions.
...
Use only py::error_already_set as that's the least heavy of them. Also
changed all occurences of "throw" to "raise" so next time I'm doing a
prune of all C++ exceptions for good, those are easy to find.
7 years ago
Vladimír Vondruš
d818e40698
python: implemented vector swizzles.
7 years ago
Vladimír Vondruš
4718de1ed3
python: don't define negation on unsigned vector types.
...
Thanks, MSVC.
7 years ago
Vladimír Vondruš
ff9003d10c
python: silence annoying GCC 4.8 warnings.
7 years ago
Vladimír Vondruš
7e057863c8
python: fix Clang's -Wself-assign-overloaded warnings.
...
It's unfortunate that the pybind11 operator helpers need this, but well.
7 years ago
Vladimír Vondruš
d157b55637
magnum: again (and hopefully for the last time) reorder constructors.
...
The order should be (and now is):
1. magnum's own conversion constructors (double from integer and such)
2. stuff like implicit color3 -> color4, if applicable
3. buffer protocol constructors
4. general "init from a tuple" constructors last, because they're the
slowest
7 years ago
Vladimír Vondruš
22a17cb5b8
python: slightly improve perf of __getitem__ on matrices/vectors.
...
Also test them properly. The full optimization is waiting for a pybind
PR to get merged.
7 years ago
Vladimír Vondruš
d4dff647f7
python: these are done.
7 years ago
Vladimír Vondruš
0170dea8f4
python: consolidate buffer-related headers.
7 years ago
Vladimír Vondruš
d1d6cb9ec0
python/magum/math: switch to our own buffer protocol implementation.
...
Also don't needlessly define buffer protocol again for subclasses (such
as Matrix3 or Color4) as the base can handle that just fine.
7 years ago
Vladimír Vondruš
7549d107de
python: implement buffer protocol for Vector types as well.
...
This makes Vector3 to np.array conversion about 20x faster. Yes, *that*
much. Crazy. Timings from the benchmark added in previous commit before:
np.array([]) 0.66096 µs
np.array([1.0, 2.0, 3.0]) 0.70623 µs
a = array.array("f", [1.0, 2.0, 3.0]); np.array(a) 0.57877 µs
a = Vector3(1.0, 2.0, 3.0); np.array(a) 18.18542 µs
after:
np.array([]) 0.57162 µs
np.array([1.0, 2.0, 3.0]) 0.68309 µs
a = array.array("f", [1.0, 2.0, 3.0]); np.array(a) 0.53958 µs
a = Vector3(1.0, 2.0, 3.0); np.array(a) 0.74818 µs
There's still some overhead that could be removed I think, making the
Vector3-to-numpy conversion faster than list-to-numpy.
7 years ago
Vladimír Vondruš
82862b8bcd
python: numpy compatibility for matrices and vectors.
7 years ago
Vladimír Vondruš
124980cec4
python: return proper type when doing operations on Color.
7 years ago
Vladimír Vondruš
464154adca
python: implement conversions between different underlying types.
...
Such a tiny feature and such a pain when it's not there.
7 years ago
Vladimír Vondruš
998c428355
python: expose Color3 and Color4.
...
Mainly for RGB -> RGBA shortcuts. Need to invent some nice decoding from
a string.
7 years ago
Vladimír Vondruš
f6cca325dd
python: make vectors implicitly convertible from tuples.
7 years ago
Vladimír Vondruš
b81cde3c45
python: support iteration over vectors.
7 years ago
Vladimír Vondruš
081d32938a
python: expose all Vector variants.
7 years ago