1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-10-15 08:56:35 +00:00

Use vector for edge queue

This commit is contained in:
ζeh Matt 2022-04-10 20:38:59 +03:00
parent 0790af962e
commit 19df9c3d17
No known key found for this signature in database
GPG key ID: 18CE582C71A225B0

View file

@ -2113,7 +2113,7 @@ struct ConvexHull
} }
// Gather connected vertices // Gather connected vertices
std::deque<osg::Vec3d> unprocessedConnectedVertices(extremeVertices.begin(), extremeVertices.end()); VertexSet unprocessedConnectedVertices = extremeVertices;
VertexSet connectedVertices; VertexSet connectedVertices;
const auto containsVertex = [&](const auto& vert) const auto containsVertex = [&](const auto& vert)
@ -2121,10 +2121,10 @@ struct ConvexHull
return std::find(connectedVertices.begin(), connectedVertices.end(), vert) != connectedVertices.end(); return std::find(connectedVertices.begin(), connectedVertices.end(), vert) != connectedVertices.end();
}; };
while (unprocessedConnectedVertices.size() > 0) while (!unprocessedConnectedVertices.empty())
{ {
osg::Vec3d vertex = unprocessedConnectedVertices.front(); osg::Vec3d vertex = unprocessedConnectedVertices.back();
unprocessedConnectedVertices.pop_front(); unprocessedConnectedVertices.pop_back();
connectedVertices.emplace_back(vertex); connectedVertices.emplace_back(vertex);
for (const Edge& edge : _edges) for (const Edge& edge : _edges)