[mapguide-commits] r9829 - sandbox/jng/mvt_render_fixes/Common/Renderers
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Tue Feb 2 07:27:28 PST 2021
Author: jng
Date: 2021-02-02 07:27:28 -0800 (Tue, 02 Feb 2021)
New Revision: 9829
Modified:
sandbox/jng/mvt_render_fixes/Common/Renderers/MVTRenderer.cpp
Log:
#2836: Remove geometry clipping code from the ProcessXXX renderer methods. This eliminates the tile border artifact we are experiencing in client applications like OpenLayers/QGIS. If we are meant to clip, we should probably do it at the Stylizer level by having our MVTRenderer return true for RequiresClipping() and find a way to let the renderer customize the clip extents.
Modified: sandbox/jng/mvt_render_fixes/Common/Renderers/MVTRenderer.cpp
===================================================================
--- sandbox/jng/mvt_render_fixes/Common/Renderers/MVTRenderer.cpp 2021-02-02 15:22:09 UTC (rev 9828)
+++ sandbox/jng/mvt_render_fixes/Common/Renderers/MVTRenderer.cpp 2021-02-02 15:27:28 UTC (rev 9829)
@@ -597,20 +597,6 @@
auto workbuffer = lb->Optimize(m_drawingScale, m_pPool);
std::unique_ptr<LineBuffer> spLB(workbuffer);
- //Also clip the geometry to the extents if required as we do not want to encode
- //"out of tile" coordinates
- auto clipped = workbuffer->Clip(m_extents, LineBuffer::ctArea, m_pPool);
- if (workbuffer != clipped)
- {
- if (spLB.get())
- {
- LineBufferPool::FreeLineBuffer(m_pPool, spLB.release());
- }
-
- workbuffer = clipped;
- spLB.reset(workbuffer);
- }
-
if (workbuffer)
m_impl->ProcessPolygon(m_activeFeature, workbuffer);
@@ -625,20 +611,6 @@
auto workbuffer = lb->Optimize(m_drawingScale, m_pPool);
std::unique_ptr<LineBuffer> spLB(workbuffer);
- //Also clip the geometry to the extents if required as we do not want to encode
- //"out of tile" coordinates
- auto clipped = workbuffer->Clip(m_extents, LineBuffer::ctLine, m_pPool);
- if (workbuffer != clipped)
- {
- if (spLB.get())
- {
- LineBufferPool::FreeLineBuffer(m_pPool, spLB.release());
- }
-
- workbuffer = clipped;
- spLB.reset(workbuffer);
- }
-
if (workbuffer)
m_impl->ProcessPolyline(m_activeFeature, workbuffer);
@@ -662,20 +634,6 @@
auto workbuffer = lb->Optimize(m_drawingScale, m_pPool);
std::unique_ptr<LineBuffer> spLB(workbuffer);
- //Also clip the geometry to the extents if required as we do not want to encode
- //"out of tile" coordinates
- auto clipped = workbuffer->Clip(m_extents, LineBuffer::ctPoint, m_pPool);
- if (workbuffer != clipped)
- {
- if (spLB.get())
- {
- LineBufferPool::FreeLineBuffer(m_pPool, spLB.release());
- }
-
- workbuffer = clipped;
- spLB.reset(workbuffer);
- }
-
if (workbuffer)
m_impl->ProcessMarker(m_activeFeature, workbuffer);
More information about the mapguide-commits
mailing list