Browse Source

GCC 4.5 compatibility: no range-based for.

Vladimír Vondruš 13 years ago
parent
commit
74ba846028
  1. 8
      src/DefaultFramebuffer.cpp
  2. 8
      src/Framebuffer.cpp
  3. 24
      src/MeshTools/Transform.h
  4. 5
      src/Platform/magnum-info.cpp
  5. 4
      src/Text/FreeTypeFont.cpp
  6. 4
      src/TextureTools/Atlas.cpp

8
src/DefaultFramebuffer.cpp

@ -40,14 +40,14 @@ DefaultFramebuffer::DefaultFramebuffer() { _id = 0; }
DefaultFramebuffer* DefaultFramebuffer::mapForDraw(std::initializer_list<std::pair<UnsignedInt, DrawAttachment>> attachments) {
/* Max attachment location */
std::size_t max = 0;
for(const auto& attachment: attachments)
if(attachment.first > max) max = attachment.first;
for(auto it = attachments.begin(); it != attachments.end(); ++it)
if(it->first > max) max = it->first;
/* Create linear array from associative */
GLenum* _attachments = new GLenum[max+1];
std::fill_n(_attachments, max, GL_NONE);
for(const auto& attachment: attachments)
_attachments[attachment.first] = static_cast<GLenum>(attachment.second);
for(auto it = attachments.begin(); it != attachments.end(); ++it)
_attachments[it->first] = static_cast<GLenum>(it->second);
(this->*drawBuffersImplementation)(max+1, _attachments);
delete[] _attachments;

8
src/Framebuffer.cpp

@ -70,14 +70,14 @@ Framebuffer::~Framebuffer() {
Framebuffer* Framebuffer::mapForDraw(std::initializer_list<std::pair<UnsignedInt, DrawAttachment>> attachments) {
/* Max attachment location */
std::size_t max = 0;
for(const auto& attachment: attachments)
if(attachment.first > max) max = attachment.first;
for(auto it = attachments.begin(); it != attachments.end(); ++it)
if(it->first > max) max = it->first;
/* Create linear array from associative */
GLenum* _attachments = new GLenum[max+1];
std::fill_n(_attachments, max, GL_NONE);
for(const auto& attachment: attachments)
_attachments[attachment.first] = GLenum(attachment.second);
for(auto it = attachments.begin(); it != attachments.end(); ++it)
_attachments[it->first] = GLenum(it->second);
(this->*drawBuffersImplementation)(max+1, _attachments);
delete[] _attachments;

24
src/MeshTools/Transform.h

@ -57,22 +57,26 @@ MeshTools::transformVectorsInPlace(rotation, vectors);
@todo GPU transform feedback implementation (otherwise this is only bad joke)
*/
template<class T, class U> void transformVectorsInPlace(const Math::Quaternion<T>& normalizedQuaternion, U& vectors) {
for(auto& vector: vectors) vector = normalizedQuaternion.transformVectorNormalized(vector);
for(auto it = vectors.begin(); it != vectors.end(); ++it)
*it = normalizedQuaternion.transformVectorNormalized(*it);
}
/** @overload */
template<class T, class U> void transformVectorsInPlace(const Math::Complex<T>& complex, U& vectors) {
for(auto& vector: vectors) vector = complex.transformVector(vector);
for(auto it = vectors.begin(); it != vectors.end(); ++it)
*it = complex.transformVector(*it);
}
/** @overload */
template<class T, class U> void transformVectorsInPlace(const Math::Matrix3<T>& matrix, U& vectors) {
for(auto& vector: vectors) vector = matrix.transformVector(vector);
for(auto it = vectors.begin(); it != vectors.end(); ++it)
*it = matrix.transformVector(*it);
}
/** @overload */
template<class T, class U> void transformVectorsInPlace(const Math::Matrix4<T>& matrix, U& vectors) {
for(auto& vector: vectors) vector = matrix.transformVector(vector);
for(auto it = vectors.begin(); it != vectors.end(); ++it)
*it = matrix.transformVector(*it);
}
/**
@ -111,22 +115,26 @@ MeshTools::transformPointsInPlace(rotation, points);
DualQuaternion::transformPointNormalized()
*/
template<class T, class U> void transformPointsInPlace(const Math::DualQuaternion<T>& normalizedDualQuaternion, U& points) {
for(auto& point: points) point = normalizedDualQuaternion.transformPointNormalized(point);
for(auto it = points.begin(); it != points.end(); ++it)
*it = normalizedDualQuaternion.transformPointNormalized(*it);
}
/** @overload */
template<class T, class U> void transformPointsInPlace(const Math::DualComplex<T>& dualComplex, U& points) {
for(auto& point: points) point = dualComplex.transformPoint(point);
for(auto it = points.begin(); it != points.end(); ++it)
*it = dualComplex.transformPoint(*it);
}
/** @overload */
template<class T, class U> void transformPointsInPlace(const Math::Matrix3<T>& matrix, U& points) {
for(auto& point: points) point = matrix.transformPoint(point);
for(auto it = points.begin(); it != points.end(); ++it)
*it = matrix.transformPoint(*it);
}
/** @overload */
template<class T, class U> void transformPointsInPlace(const Math::Matrix4<T>& matrix, U& points) {
for(auto& point: points) point = matrix.transformPoint(point);
for(auto it = points.begin(); it != points.end(); ++it)
*it = matrix.transformPoint(*it);
}
/**

5
src/Platform/magnum-info.cpp

@ -104,7 +104,10 @@ MagnumInfo::MagnumInfo(int& argc, char** argv): WindowlessGlxApplication(argc, a
Debug() << versions[i] << "extension support:";
else Debug() << "Vendor extension support:";
for(const auto& extension: Extension::extensions(versions[i])) {
auto extensions = Extension::extensions(versions[i]);
for(auto it = extensions.begin(); it != extensions.end(); ++it) {
const auto& extension = *it;
std::string extensionName = extension.string();
Debug d;
d << " " << extensionName << std::string(60-extensionName.size(), ' ');

4
src/Text/FreeTypeFont.cpp

@ -110,8 +110,8 @@ void FreeTypeFont::prerenderInternal(const std::string& characters, const Vector
const Vector2i padding = Vector2i(radius);
std::vector<Vector2i> charSizes;
charSizes.reserve(charIndices.size());
for(FT_UInt c: charIndices) {
CORRADE_INTERNAL_ASSERT_OUTPUT(FT_Load_Glyph(_ftFont, c, FT_LOAD_DEFAULT) == 0);
for(auto it = charIndices.begin(); it != charIndices.end(); ++it) {
CORRADE_INTERNAL_ASSERT_OUTPUT(FT_Load_Glyph(_ftFont, *it, FT_LOAD_DEFAULT) == 0);
charSizes.push_back(Vector2i(_ftFont->glyph->metrics.width, _ftFont->glyph->metrics.height)/64);
}

4
src/TextureTools/Atlas.cpp

@ -34,8 +34,8 @@ std::vector<Rectanglei> atlas(const Vector2i& atlasSize, const std::vector<Vecto
/* Size of largest texture */
Vector2i maxSize;
for(const Vector2i& size: sizes)
maxSize = Math::max(maxSize, size);
for(auto it = sizes.begin(); it != sizes.end(); ++it)
maxSize = Math::max(maxSize, *it);
std::vector<Rectanglei> atlas;

Loading…
Cancel
Save