Vladimír Vondruš
8b9bf07dce
SceneGraph: added Object::move().
6 years ago
Vladimír Vondruš
cec77c0a80
SceneGraph: remove constructor signature requirements in addChild().
...
It now calls setParent() afterwards instead of requiring the last
constructor parameter to be a parent pointer.
6 years ago
Vladimír Vondruš
cb4f6183dc
Doc++, changelog, credits and version marker updates.
6 years ago
Vladimír Vondruš
5222cf3478
doc: change all "latest" additions/deprecations to 2020.06.
6 years ago
Vladimír Vondruš
19e0e96d74
Updated copyright year.
6 years ago
William JCM
8a42c727c1
Fix one particular kind of linker errors on MingGW Clang.
...
The existing ifdefs apparently were just to work around something in
MinGW GCC. MSVC, Clang-cl and MinGW Clang don't need these.
6 years ago
Vladimír Vondruš
65a2ced2a7
Make this compile and test cleanly with CORRADE_NO_ASSERT defined.
6 years ago
Vladimír Vondruš
081dd8981f
Doxygen, FFS.
6 years ago
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