From 19df9c3d171822ba417980165dabe11bad3bef49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Sun, 10 Apr 2022 20:38:59 +0300 Subject: [PATCH] Use vector for edge queue --- components/sceneutil/mwshadowtechnique.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/components/sceneutil/mwshadowtechnique.cpp b/components/sceneutil/mwshadowtechnique.cpp index f4c5bc1041..63010f6469 100644 --- a/components/sceneutil/mwshadowtechnique.cpp +++ b/components/sceneutil/mwshadowtechnique.cpp @@ -2113,7 +2113,7 @@ struct ConvexHull } // Gather connected vertices - std::deque unprocessedConnectedVertices(extremeVertices.begin(), extremeVertices.end()); + VertexSet unprocessedConnectedVertices = extremeVertices; VertexSet connectedVertices; const auto containsVertex = [&](const auto& vert) @@ -2121,10 +2121,10 @@ struct ConvexHull return std::find(connectedVertices.begin(), connectedVertices.end(), vert) != connectedVertices.end(); }; - while (unprocessedConnectedVertices.size() > 0) + while (!unprocessedConnectedVertices.empty()) { - osg::Vec3d vertex = unprocessedConnectedVertices.front(); - unprocessedConnectedVertices.pop_front(); + osg::Vec3d vertex = unprocessedConnectedVertices.back(); + unprocessedConnectedVertices.pop_back(); connectedVertices.emplace_back(vertex); for (const Edge& edge : _edges)