mirror of
https://github.com/vcmi/vcmi.git
synced 2025-05-17 22:22:59 +02:00
Fix for centering the tiles, extra logs
This commit is contained in:
parent
ec20e9e907
commit
eece03d24f
@ -173,21 +173,30 @@ std::set<Point2D> PenroseTiling::generatePenroseTiling(size_t numZones, CRandomG
|
|||||||
|
|
||||||
split(t, points, indices, DEPTH);
|
split(t, points, indices, DEPTH);
|
||||||
}
|
}
|
||||||
// Find center of the mass, shift that center to (0.5, 0.5)
|
|
||||||
|
|
||||||
|
std::set<Point2D> uniquePoints(points.begin(), points.end());
|
||||||
|
std::vector<Point2D> uniquePointsVec(uniquePoints.begin(), uniquePoints.end());
|
||||||
|
logGlobal->info("Generated %d vertices and %d unique vertices", points.size(), uniquePointsVec.size());
|
||||||
|
|
||||||
|
// Find center of the mass, shift that center to (0.5, 0.5)
|
||||||
Point2D center = Point2D(0.0f, 0.0f);
|
Point2D center = Point2D(0.0f, 0.0f);
|
||||||
for (auto & point : points)
|
for (const auto & point : uniquePointsVec)
|
||||||
{
|
{
|
||||||
center = center + point;
|
center = center + point;
|
||||||
};
|
};
|
||||||
center = center / points.size();
|
center = center / uniquePointsVec.size();
|
||||||
|
|
||||||
for (auto & point : points)
|
// This center is very close to (0.0, 0.0), anyway
|
||||||
|
logGlobal->info("Penrose tiling center: %s", center.toString().c_str());
|
||||||
|
|
||||||
|
for (auto & point : uniquePointsVec)
|
||||||
{
|
{
|
||||||
point = point - center + Point2D(0.5f, 0.5f);
|
point = point - center + Point2D(0.5f, 0.5f);
|
||||||
};
|
};
|
||||||
|
|
||||||
vstd::copy_if(points, vstd::set_inserter(finalPoints), [](const Point2D point)
|
// For 8X8 map, only 650 out of 15971 points are in the range
|
||||||
|
|
||||||
|
vstd::copy_if(uniquePointsVec, vstd::set_inserter(finalPoints), [](const Point2D point)
|
||||||
{
|
{
|
||||||
return vstd::isbetween(point.x(), 0.f, 1.0f) && vstd::isbetween(point.y(), 0.f, 1.0f);
|
return vstd::isbetween(point.x(), 0.f, 1.0f) && vstd::isbetween(point.y(), 0.f, 1.0f);
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user