Vladimír Vondruš
4a0f843188
SceneGraph: test that TRS xform recombination works in all cases.
...
It wasn't broken with large angles because I made scaling() signed,
which was a mistake.
6 years ago
Vladimír Vondruš
c25b19d210
SceneGraph: support rotating directly via Complex/Quaternion.
...
A decade late, but finally.
6 years ago
Vladimír Vondruš
17f0112732
SceneGraph: doc++, show privates as private.
...
Forgot to remove the protected doxygen override when implementing this
doxygen feature a year ago.
6 years ago
Vladimír Vondruš
61af7672d1
Test: adapted for the upcoming asserting CORRADE_GRACEFUL_ASSERT.
6 years ago
Vladimír Vondruš
323829ac15
Work around clang-cl forgetting dllexport on extern templates.
6 years ago
Vladimír Vondruš
02a6747b73
SceneGraph: show how to implement object culling on the drawable group.
6 years ago
Vladimír Vondruš
a920722839
doc: label deprecated APIs and stuff new since 2019.10 with version info.
...
Should make new things more discoverable, avoid confusion when a
documented API isn't there and reduce the need for maintaining multiple
separate versions of the docs.
7 years ago
Vladimír Vondruš
98232f383a
Reduce string duplication in enum debug output operators.
...
Bloaty says it saved 10 kB in Debug build of MagnumGL:
VM SIZE FILE SIZE
-------------- --------------
[ = ] 0 .debug_info +1.59Ki +0.0%
+0.4% +1.50Ki .text +1.50Ki +0.4%
[ = ] 0 .debug_str +409 +0.0%
[ = ] 0 .debug_line +276 +0.1%
[ = ] 0 .debug_abbrev +20 +0.0%
-28.6% -2 [LOAD [RX]] -2 -28.6%
[ = ] 0 [Unmapped] -4.28Ki -41.0%
-22.7% -9.23Ki .rodata -9.23Ki -22.7%
-0.8% -7.73Ki TOTAL -9.73Ki -0.1%
And 4 kB in Release:
VM SIZE FILE SIZE
-------------- --------------
+1.1% +3.44Ki .text +3.44Ki +1.1%
+1.7% +1.39Ki .eh_frame +1.39Ki +1.7%
[ = ] 0 [Unmapped] +656 +51%
-25.5% -9.47Ki .rodata -9.47Ki -25.5%
-0.7% -4.64Ki TOTAL -4.00Ki -0.4%
That's not negative, so I guess that's good. This change is of course
more significant in the context of a minimal WebGL build, where the exe
can be as little as 50 kB -- there 4 kB is almost 10% of the size.
7 years ago
Vladimír Vondruš
8c7c2c5745
SceneGraph: clarify transformation calculation.
7 years ago
Vladimír Vondruš
3a243a04b2
CMake: put all binaries into a dedicated location in the build dir.
...
This makes it possible to:
- finally use Magnum as a CMake subproject on Windows and have your
executables not fail to run with a "DLL missing" error (and the
setting is put to cache so superprojects just implicitly make use of
that)
- run tests on Windows without having to install first
- use dynamic plugins from a CMake subproject on any platform without
having to install first or load them by filename --- and the plugin
directory is now easily discovered as relative to
libraryLocation() of the library implementing given plugin interface
7 years ago
Vladimír Vondruš
f7a2694390
SceneGraph: expose Type typedef and Dimensions constant everywhere.
7 years ago
Vladimír Vondruš
f419b25763
Doc++
7 years ago
Vladimír Vondruš
3626562e1d
Adapted to Corrade changes.
...
Mostly missing includes now.
7 years ago
Vladimír Vondruš
93686746ab
Pernament is not a word.
...
/me hides in embarrassment
7 years ago
Vladimír Vondruš
df5b09744f
SceneGraph: fix build with latest Corrade.
...
TBF, I'm increasingly unhappy with this abomination.
7 years ago
Vladimír Vondruš
2d5e2fda41
SceneGraph: properly prefix the assertion message.
7 years ago
Vladimír Vondruš
f9f3df69de
Get rid of std::unique_ptr.
7 years ago
Vladimír Vondruš
2149f7b869
Wrap all tests in unnamed namespaces.
...
This makes the compiler warn about test cases that aren't ever used,
which is a good thing.
7 years ago
Vladimír Vondruš
e6b7aa12fa
Updated copyright year.
7 years ago
Vladimír Vondruš
00b0a814e0
Dropped GCC 4.7 support.
...
Interesting that many of the annoyances still apply to 4.8.
8 years ago
Vladimír Vondruš
0557add6e5
SceneGraph: properly forward references in addChild()/addFeature().
8 years ago
Vladimír Vondruš
c1206629a0
SceneGraph: properly test perfect forwarding in addFeature()/addObject().
...
It's not working, obviously.
8 years ago
Vladimír Vondruš
7356a1b788
SceneGraph: fix a copypaste error in an abstract implementation.
...
Abstract transformation implementations are not used as often so there
was only a minor chance somebody would hit this bug, yet it's a serious
bug. Discovered by PVS-Studio, many thanks to @alexesDev for collecting
the report.
8 years ago
Vladimír Vondruš
9a13035603
SceneGraph: doc++
8 years ago
Vladimír Vondruš
5cb518a54e
SceneGraph: note the Animation API in the Animable class docs.
8 years ago
Vladimír Vondruš
fafcdcfa1c
SceneGraph: ability to affect order of items drawn by Camera.
8 years ago
Vladimír Vondruš
b255f31ca4
SceneGraph: show both single and multiple inheritance in Drawable docs.
8 years ago
Vladimír Vondruš
d004db6075
SceneGraph: Camera::setViewport() and draw() don't need to be virtual.
...
If you need to override this functionality, simply call the subclass
implementation directly instead of calling it through a Camera
pointer/reference.
8 years ago
Vladimír Vondruš
623786e1db
SceneGraph: make it possible to search for the Object*D/Scene*D typedefs.
...
Use code is full of these things and this makes it easier to discover.
8 years ago
Vladimír Vondruš
026cb24a14
SceneGraph: GCC 4.7 SRSLY ... and the other compilers as well?!
8 years ago
Vladimír Vondruš
bc7d047fc3
SceneGraph: new TranslationRotationScalingTransformation[23]D class.
...
Useful for using with animation tracks that target the
translation/rotation/scaling properties separately.
8 years ago
Vladimír Vondruš
4edb080239
SceneGraph: prefix private variable with an underscore.
8 years ago
Vladimír Vondruš
308d97314d
SceneGraph: AnimableGroup.h doesn't really compile without this.
8 years ago
Vladimír Vondruš
4f224f672d
SceneGraph: fix ambiguous overloads with Animable and Drawable.
...
If they are inherited from a class together with Object, the
constructor call was ambiguous. This was already done for Camera, but
not for these.
8 years ago
Vladimír Vondruš
bbe6b5a56b
SceneGraph: compile code snippets to ensure their validity.
8 years ago
Vladimír Vondruš
105cef5efd
No need to use fully qualified name for \debugoperator.
8 years ago
Vladimír Vondruš
e0ae65a212
SceneGraph: removed long-deprecated feature and child accessors.
...
Use methods on linked list returned by AbstractObject::features() and
Object::children() instead.
8 years ago
Vladimír Vondruš
53c4adfa79
SceneGraph: removed long-deprecated TransformationType enum and related.
...
Use separate <transform>() and <transform>Local() functions instead-
8 years ago
Vladimír Vondruš
fae2852db7
SceneGraph: removed long-deprecated AbstractCamera class and related headers.
...
Use Camera, BasicCamera2D, BasicCamera3D, Camera2D and Camera3D classes
and the <Magnum/SceneGraph/Camera.h> header instead.
8 years ago
Vladimír Vondruš
b87f3e709a
SceneGraph: removed long-deprecated Camera*::setProjection() etc.
...
Use Camera*::setProjectionMatrix() together with
Matrix3::projection(), Matrix4::orthographicProjection() or
Matrix4::perspectiveProjection() instead.
8 years ago
Vladimír Vondruš
8f27da9dfd
Set library soversion to 1.0, version to 0.
8 years ago
Vladimír Vondruš
28475e1bd8
Doc++
8 years ago
Vladimír Vondruš
f7a0c2b78c
SceneGraph: behave properly when deleting a running animable.
...
The test now passes again.
8 years ago
Vladimír Vondruš
dee10204f9
SceneGraph: test crash and burn when deleting a running animable.
...
Yes. It does.
8 years ago
Vladimír Vondruš
72a3d67902
SceneGraph: prefix private Animable members with an underscore.
...
And minor other coding style updates. This code is old, wow!
8 years ago
Vladimír Vondruš
0b491309fb
SceneGraph: updates for the new documentation theme.
...
No proofreading.
8 years ago
Vladimír Vondruš
8f87ca9233
SceneGraph: copypaste error in the docs.
8 years ago
Vladimír Vondruš
623fa97970
Updated copyright year.
8 years ago
Vladimír Vondruš
a4d32e650a
Move friend declarations into private class sections.
...
And hide them from Doxygen so it's not complaining. Related bug:
https://bugzilla.gnome.org/show_bug.cgi?id=776986
8 years ago
Vladimír Vondruš
6cc8362eeb
Doc++
8 years ago