From 5d7dbf917f81605415bd408da7c23e2e26571433 Mon Sep 17 00:00:00 2001 From: Dane Springmeyer Date: Fri, 24 Apr 2015 08:13:17 +0200 Subject: [PATCH] clipper union with evenodd fill type --- src/mbgl/renderer/fill_bucket.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mbgl/renderer/fill_bucket.cpp b/src/mbgl/renderer/fill_bucket.cpp index f5726690b..0c789ace7 100644 --- a/src/mbgl/renderer/fill_bucket.cpp +++ b/src/mbgl/renderer/fill_bucket.cpp @@ -84,7 +84,7 @@ void FillBucket::tessellate() { hasVertices = false; std::vector> polygons; - clipper.Execute(ClipperLib::ctUnion, polygons, ClipperLib::pftPositive); + clipper.Execute(ClipperLib::ctUnion, polygons, ClipperLib::pftEvenOdd, ClipperLib::pftEvenOdd); clipper.Clear(); if (polygons.size() == 0) { @@ -132,7 +132,7 @@ void FillBucket::tessellate() { lineGroup.elements_length += total_vertex_count; - if (tessTesselate(tesselator, TESS_WINDING_POSITIVE, TESS_POLYGONS, vertices_per_group, vertexSize, 0)) { + if (tessTesselate(tesselator, TESS_WINDING_ODD, TESS_POLYGONS, vertices_per_group, vertexSize, 0)) { const TESSreal *vertices = tessGetVertices(tesselator); const size_t vertex_count = tessGetVertexCount(tesselator); TESSindex *vertex_indices = const_cast(tessGetVertexIndices(tesselator));