Fix bug (always true + incorrect calculation) in fill_extrusion_bucket edgedistance check

This commit is contained in:
Lauren Budorick
2018-05-16 10:41:48 -07:00
committed by GitHub
parent 5af104bfa5
commit d05fa404a8

View File

@@ -84,7 +84,7 @@ void FillExtrusionBucket::addFeature(const GeometryTileFeature& feature,
if (nVertices == 0)
continue;
auto edgeDistance = 0;
std::size_t edgeDistance = 0;
for (uint32_t i = 0; i < nVertices; i++) {
const auto& p1 = ring[i];
@@ -102,7 +102,7 @@ void FillExtrusionBucket::addFeature(const GeometryTileFeature& feature,
const Point<double> perp = util::unit(util::perp(d1 - d2));
const auto dist = util::dist<int16_t>(d1, d2);
if (dist > std::numeric_limits<int16_t>::max()) {
if (edgeDistance + dist > std::numeric_limits<int16_t>::max()) {
edgeDistance = 0;
}