Vladimír Vondruš
a7f5bef038
Getting rid of <>, part 1: Color classes.
...
Inspired in STL, base templated class is renamed to BasicColor{3,4} and
typedef'd with Float type to Color{3, 4}. It is much nicer to write
this:
Color3(1.0f)
Color3::fromHSV(25.0_degf, 0.5f, 0.9f);
instead of this:
Color3<>(1.0f);
Color3<>::fromHSV(25.0_degf, 0.5f, 0.9f);
13 years ago
Vladimír Vondruš
013fee8bc1
GCC 4.6 compatibility: no std::unordered_map::emplace().
...
Basically reverts (only for GCC 4.6) what was done in
b9b690b611 .
13 years ago
Vladimír Vondruš
b9b690b611
Use emplace() instead of insert() in some places.
...
Leads to (possibly faster) and shorter code.
13 years ago
Vladimír Vondruš
1701f1c42f
MeshTools: added duplicate() utility for creating non-indexed array.
13 years ago
Vladimír Vondruš
f4fdbd2b2d
MeshTools: this can be moved instead of copying.
13 years ago
Vladimír Vondruš
1c32119058
MeshTools: renamed clean() to removeDuplicates().
13 years ago
Vladimír Vondruš
915d49cc7d
MeshTools: some cleanup.
13 years ago
Vladimír Vondruš
5bf61ceb74
*Tools: deinlined heavy functions, removed redundant `inline`.
13 years ago
Vladimír Vondruš
db71a23e3c
Bring whole Corrade namespace into Magnum namespace.
...
These projects are tightly interconnected anyway, this means a lot less
typing (yay!).
13 years ago
Vladimír Vondruš
7ef8432fbe
Doxygen: ignore specific namespaces instead of whole directories.
...
Less maintenance burden with `#ifndef DOXYGEN_GENERATING_OUTPUT`,
removed the ones which are not needed anymore.
13 years ago
Vladimír Vondruš
b40c5ece39
MeshTools: don't create reference from rvalue.
...
Spotted by Emscripten/Clang, not found when running clang normally.
13 years ago
Vladimír Vondruš
f2df328fe2
Using Corrade's visibility macros instead of copypasta all over again.
13 years ago
Vladimír Vondruš
c79327ee43
Option to build Magnum as static library.
...
And optionaly position-independent code. The tests now pass again, if
both Corrade and Magnum is static.
13 years ago
Vladimír Vondruš
408f40a908
Math: renamed MathTypeTraits to TypeTraits.
...
As there is no Magnum::TypeTraits struct anymore, there is no need to
have redundant name in it. Hopefully Doxygen will handle the difference
between this and Corrade's TypeTraits.h properly.
13 years ago
Vladimír Vondruš
a0b83edd2b
Relicensing to MIT/Expat license, part 4: CMake and documentation files.
...
They didn't contain license header before, but I think adding it also
there wouldn't do any harm. Documentation is also integral part of the
codebase.
13 years ago
Vladimír Vondruš
c5ab86794b
Relicensing to MIT/Expat license, part 3: source files.
...
Added license header also to shader sources. Hopefully it won't harm
compilation times too much.
13 years ago
Vladimír Vondruš
6a5d75d1e4
Relicensing to MIT/Expat license, part 2: headers.
13 years ago
Vladimír Vondruš
90dbb28763
Thorough CMakeLists cleanup.
...
* Calling enable_testing() only in root path.
* Using CORRADE_CXX_FLAGS instead of our own set to make things easier
to maintain.
* Various cleanup and reorganization.
13 years ago
Vladimír Vondruš
231f3277ab
Adapted to Corrade changes.
...
Allowing to instantiate Trade::AbstractImporter subclasses directly
without plugin manager.
13 years ago
Vladimír Vondruš
181cf2cf11
GCC 4.6 compatibility: std::array<Vector2> can't be constexpr.
...
Don't know why.
13 years ago
Vladimír Vondruš
c707370f30
Removed unneeded includes.
13 years ago
Vladimír Vondruš
32b783505f
MeshTools: using new type aliases in whole MeshTools namespace.
13 years ago
Vladimír Vondruš
e8e8e67483
MeshTools: ability to call transformPoints*() also with DualComplex.
13 years ago
Vladimír Vondruš
7aac5bd70b
Math: no need for Complex::transformVectorNormalized().
...
Unlike quaternions it doesn't need inversion or normalization for
transforming vectors.
13 years ago
Vladimír Vondruš
c00195c24b
MeshTools: reworked and updated transform*().
...
Also added just-to-be-sure unit test.
13 years ago
Vladimír Vondruš
3de3a6861e
MeshTools: got rid of Point2D/3D in favor of Vector2/Vector3.
13 years ago
Vladimír Vondruš
4e331cabbb
Fix linker issues on Windows.
...
MagnumSceneGraphTestLib didn't have MagnumSceneGraph[Objects]_EXPORT
defined, thus failing at link time, similar issue with
MagnumMeshToolsTestLib.
13 years ago
Vladimír Vondruš
09b115679b
MeshTools: making use of index range in compressIndices().
13 years ago
Vladimír Vondruš
b9513d28cb
Merged index type setting to Mesh::setIndexBuffer() and added offset.
...
Now addVertexBuffer() etc. and setIndexBuffer() are even more similar.
13 years ago
Vladimír Vondruš
dc5a4d83d9
Removing IndexedMesh, part 5: merged documentation, removed IndexedMesh.
13 years ago
Vladimír Vondruš
9ffb8081f3
Got rid of TypeTraits class altogether.
13 years ago
Vladimír Vondruš
ad9a55a867
Doc++
13 years ago
Vladimír Vondruš
7dc0fc4a4c
Math: Renamed Math.h to Functions.h
...
Math.h is reserved for forward declaration header.
14 years ago
Vladimír Vondruš
98781b5052
Support for gaps in MeshTools::interleave().
14 years ago
Vladimír Vondruš
42f5ee4ce4
Doc++
14 years ago
Vladimír Vondruš
ca24fe8f41
Mesh index type cleanup.
...
Using specialized enum instead of global Type and shitload of type
traits to handle it correctly. Removed TypeTraits::indexType() and
cleaned up MeshTools::compressIndices() while at it.
14 years ago
Vladimír Vondruš
fcb8a7b768
Got rid of header files in tests.
...
They have no practical use and they only bloat codebase size and add
maintenance burden.
14 years ago
Vladimír Vondruš
0f889369f4
No `using namespace std` anywhere.
...
Also added missing std:: prefix to remaining cases of std::size_t,
std::[u]int[0-9]+_t, std::sin() etc., std::exit().
14 years ago
Vladimír Vondruš
c319962d6e
Adapted to Corrade changes.
14 years ago
Vladimír Vondruš
ae013effff
Adapted to Corrade changes.
...
Optimalizations in Corrade::TestSuite and Corrade::Utility::Debug leaded
to significant reduction of compilation time - on my machine it was
~5:38 before with building of unit tests enabled, now only ~5:00.
14 years ago
Vladimír Vondruš
2f4092bde0
Prefix *_EXPORT macros with MAGNUM_ to avoid collisions.
14 years ago
Vladimír Vondruš
a3c37cd277
Doc++, minor cleanup.
14 years ago
Vladimír Vondruš
365c664ef9
Mesh rework, part 4: don't manage index buffer in IndexedMesh.
...
The user now has to manage the buffer, similarly to vertex buffers
in Mesh itself.
14 years ago
Vladimír Vondruš
4aa01e073e
Code cleanup, doc++
14 years ago
Vladimír Vondruš
21acb3edc6
Mesh rework, part 1: better vertex attribute management.
...
* Instead of "binding attributes" the user now "adds vertex buffer". It
corresponds better with what OpenGL itself does.
* Vertex buffers now must be managed by the user.
* Shader attributes are now static const members instead of typedefs to
allow more convenient add*VertexBuffer*() calls.
14 years ago
Vladimír Vondruš
f28f5398d3
Added some @todos .
14 years ago
Vladimír Vondruš
f2a569de0e
Workarounds to make Doxygen happy.
14 years ago
Vladimír Vondruš
c1cf94fb46
Using fixed-size integer types also everywhere else.
...
It solves issues with int/long int/long long int ambiguity, which is
good.
14 years ago
Vladimír Vondruš
8f5940dd56
Using fixed-size 32bit integer type for indices.
14 years ago
Vladimír Vondruš
0145343d59
Pedantic: using std::size_t instead of size_t from C compat headers.
14 years ago