The final release doesn't have the issue with non-explicit
default std::vector constructor. Most of the conflicts resulted from
Mesh::Primitve -> MeshPrimitive refactoring.
This reverts commit c2ad09706e.
Conflicts:
src/Magnum/Primitives/Capsule.cpp
src/Magnum/Primitives/Circle.cpp
src/Magnum/Primitives/Crosshair.cpp
src/Magnum/Primitives/Cylinder.cpp
src/Magnum/Primitives/Icosphere.cpp
src/Magnum/Primitives/Implementation/WireframeSpheroid.cpp
src/Magnum/Primitives/Line.cpp
src/Magnum/Primitives/Plane.cpp
src/Magnum/Primitives/Square.cpp
src/Magnum/Primitives/UVSphere.cpp
src/Magnum/SceneGraph/Object.hpp
src/Magnum/Text/GlyphCache.cpp
src/Magnum/TextureTools/Atlas.cpp
src/Magnum/TextureTools/Test/AtlasTest.cpp
CORRADE_ASSERT(hemisphereRings>=1&&cylinderRings>=1,"Capsule must have at least one hemisphere ring, one cylinder ring and three segments",Trade::MeshData2D(MeshPrimitive::Lines,std::vector<UnsignedInt>{},std::vector<std::vector<Vector2>>{},std::vector<std::vector<Vector2>>{}));
CORRADE_ASSERT(hemisphereRings>=1&&cylinderRings>=1,"Capsule must have at least one hemisphere ring, one cylinder ring and three segments",Trade::MeshData2D(MeshPrimitive::Lines,{},{},{}));
CORRADE_ASSERT(hemisphereRings>=1&&cylinderRings>=1&&segments>=3,"Capsule must have at least one hemisphere ring, one cylinder ring and three segments",Trade::MeshData3D(MeshPrimitive::Triangles,std::vector<UnsignedInt>{},std::vector<std::vector<Vector3>>{},std::vector<std::vector<Vector3>>{},std::vector<std::vector<Vector2>>{}));
CORRADE_ASSERT(hemisphereRings>=1&&cylinderRings>=1&&segments>=3,"Capsule must have at least one hemisphere ring, one cylinder ring and three segments",Trade::MeshData3D(MeshPrimitive::Triangles,{},{},{},{}));
CORRADE_ASSERT(rings>=1&&segments>=3,"Primitives::Cylinder::solid(): cylinder must have at least one ring and three segments",Trade::MeshData3D(MeshPrimitive::Triangles,std::vector<UnsignedInt>{},std::vector<std::vector<Vector3>>{},std::vector<std::vector<Vector3>>{},std::vector<std::vector<Vector2>>{}));
CORRADE_ASSERT(rings>=1&&segments>=3,"Primitives::Cylinder::solid(): cylinder must have at least one ring and three segments",Trade::MeshData3D(MeshPrimitive::Triangles,{},{},{},{}));
CORRADE_ASSERT(rings>=2&&segments>=3,"UVSphere must have at least two rings and three segments",Trade::MeshData3D(MeshPrimitive::Triangles,std::vector<UnsignedInt>{},std::vector<std::vector<Vector3>>{},std::vector<std::vector<Vector3>>{},std::vector<std::vector<Vector2>>{}));
CORRADE_ASSERT(rings>=2&&segments>=3,"UVSphere must have at least two rings and three segments",Trade::MeshData3D(MeshPrimitive::Triangles,{},{},{},{}));
CORRADE_ASSERT(objects.size()<0xFFFFu,"SceneGraph::Object::transformations(): too large scene",std::vector<typenameTransformation::DataType>{});
CORRADE_ASSERT(objects.size()<0xFFFFu,"SceneGraph::Object::transformations(): too large scene",{});
/* Remember object count for later */
/* Remember object count for later */
std::size_tobjectCount=objects.size();
std::size_tobjectCount=objects.size();
@ -296,7 +296,7 @@ template<class Transformation> std::vector<typename Transformation::DataType> Ob
constScene<Transformation>*scene=this->scene();
constScene<Transformation>*scene=this->scene();
/* Nearest common ancestor not yet implemented - assert this is done on scene */
/* Nearest common ancestor not yet implemented - assert this is done on scene */
CORRADE_ASSERT(scene==this,"SceneGraph::Object::transformationMatrices(): currently implemented only for Scene",std::vector<typenameTransformation::DataType>{});
CORRADE_ASSERT(scene==this,"SceneGraph::Object::transformationMatrices(): currently implemented only for Scene",{});
/* Mark all objects up the hierarchy as visited */
/* Mark all objects up the hierarchy as visited */
autoit=objects.begin();
autoit=objects.begin();
@ -314,7 +314,7 @@ template<class Transformation> std::vector<typename Transformation::DataType> Ob
/* If this is root object, remove from list */
/* If this is root object, remove from list */
if(!parent){
if(!parent){
CORRADE_ASSERT(&it->get()==scene,"SceneGraph::Object::transformations(): the objects are not part of the same tree",std::vector<typenameTransformation::DataType>{});
CORRADE_ASSERT(&it->get()==scene,"SceneGraph::Object::transformations(): the objects are not part of the same tree",{});
it=objects.erase(it);
it=objects.erase(it);
/* Parent is an joint or already visited - remove current from list */
/* Parent is an joint or already visited - remove current from list */
@ -325,7 +325,7 @@ template<class Transformation> std::vector<typename Transformation::DataType> Ob
listofjointobjects*/
listofjointobjects*/
if(!(parent->flags&Flag::Joint)){
if(!(parent->flags&Flag::Joint)){
CORRADE_ASSERT(jointObjects.size()<0xFFFFu,
CORRADE_ASSERT(jointObjects.size()<0xFFFFu,
"SceneGraph::Object::transformations(): too large scene",std::vector<typenameTransformation::DataType>{});
"SceneGraph::Object::transformations(): too large scene",{});
"Text::AbstractFontConverter::exportFontToData(): feature advertised but not implemented",(std::vector<std::pair<std::string,Containers::Array<unsignedchar>>>{}));
"Text::AbstractFontConverter::exportFontToData(): feature advertised but not implemented",{});
"Text::AbstractFontConverter::exportGlyphCacheToData(): feature not supported",(std::vector<std::pair<std::string,Containers::Array<unsignedchar>>>{}));
"Text::AbstractFontConverter::exportGlyphCacheToData(): feature not supported",{});
"Text::AbstractFontConverter::exportGlyphCacheToData(): feature advertised but not implemented",(std::vector<std::pair<std::string,Containers::Array<unsignedchar>>>{}));
"Text::AbstractFontConverter::exportGlyphCacheToData(): feature advertised but not implemented",{});