From 5df4ac883a90dbf4a78f4e6cd71600e90787f909 Mon Sep 17 00:00:00 2001 From: Hannes Janetzek Date: Tue, 7 Aug 2012 03:11:45 +0200 Subject: [PATCH] remove poly2tri triangulator for now --- .../android/glrenderer/GLMapTile.java | 2 +- .../android/glrenderer/MapGenerator.java | 6 +- .../android/glrenderer/MapRenderer.java | 313 +++++++++--------- .../android/glrenderer/MeshLayer.java | 68 ---- .../android/glrenderer/MeshLayers.java | 150 --------- .../android/swrenderer/MapGenerator.java | 46 +-- 6 files changed, 183 insertions(+), 402 deletions(-) delete mode 100644 src/org/mapsforge/android/glrenderer/MeshLayer.java delete mode 100644 src/org/mapsforge/android/glrenderer/MeshLayers.java diff --git a/src/org/mapsforge/android/glrenderer/GLMapTile.java b/src/org/mapsforge/android/glrenderer/GLMapTile.java index 317a8795..f8837803 100644 --- a/src/org/mapsforge/android/glrenderer/GLMapTile.java +++ b/src/org/mapsforge/android/glrenderer/GLMapTile.java @@ -24,7 +24,7 @@ class GLMapTile extends MapTile { LineLayers lineLayers; PolygonLayers polygonLayers; - MeshLayers meshLayers; + // MeshLayers meshLayers; boolean newData; boolean loading; diff --git a/src/org/mapsforge/android/glrenderer/MapGenerator.java b/src/org/mapsforge/android/glrenderer/MapGenerator.java index 64165fdb..917bd5fb 100644 --- a/src/org/mapsforge/android/glrenderer/MapGenerator.java +++ b/src/org/mapsforge/android/glrenderer/MapGenerator.java @@ -58,7 +58,7 @@ public class MapGenerator implements IMapGenerator, IRenderCallback, IMapDatabas private LineLayers mLineLayers; private PolygonLayers mPolyLayers; - private MeshLayers mMeshLayers; + // private MeshLayers mMeshLayers; private int mDrawingLayer; private int mLevels; @@ -365,10 +365,10 @@ public class MapGenerator implements IMapGenerator, IRenderCallback, IMapDatabas mLineLayers = new LineLayers(); mPolyLayers = new PolygonLayers(); - mMeshLayers = new MeshLayers(); + // mMeshLayers = new MeshLayers(); mCurrentTile.lineLayers = mLineLayers; mCurrentTile.polygonLayers = mPolyLayers; - mCurrentTile.meshLayers = mMeshLayers; + // mCurrentTile.meshLayers = mMeshLayers; firstMatch = true; diff --git a/src/org/mapsforge/android/glrenderer/MapRenderer.java b/src/org/mapsforge/android/glrenderer/MapRenderer.java index 047af6dd..2a31ee9b 100644 --- a/src/org/mapsforge/android/glrenderer/MapRenderer.java +++ b/src/org/mapsforge/android/glrenderer/MapRenderer.java @@ -30,7 +30,6 @@ import static android.opengl.GLES20.GL_SCISSOR_TEST; import static android.opengl.GLES20.GL_SRC_ALPHA; import static android.opengl.GLES20.GL_STENCIL_BUFFER_BIT; import static android.opengl.GLES20.GL_STENCIL_TEST; -import static android.opengl.GLES20.GL_TRIANGLES; import static android.opengl.GLES20.GL_TRIANGLE_FAN; import static android.opengl.GLES20.GL_TRIANGLE_STRIP; import static android.opengl.GLES20.GL_ZERO; @@ -101,7 +100,7 @@ public class MapRenderer implements org.mapsforge.android.IMapRenderer { private static final String TAG = "MapRenderer"; private static final int MB = 1024 * 1024; - private boolean mTriangulate = false; + // private boolean mTriangulate = false; private static int CACHE_TILES_MAX = 400; private static int CACHE_TILES = CACHE_TILES_MAX; @@ -693,46 +692,46 @@ public class MapRenderer implements org.mapsforge.android.IMapRenderer { private int mLastBoundVBO; - private boolean drawTriangles(GLMapTile tile, int diff) { - - if (tile.meshLayers == null || tile.meshLayers.array == null) - return true; - - glScissor(tile.sx, tile.sy, tile.sw, tile.sh); - - if (mLastBoundVBO != tile.polygonVBO.id) { - mLastBoundVBO = tile.polygonVBO.id; - glBindBuffer(GL_ARRAY_BUFFER, tile.polygonVBO.id); - - if (useHalfFloat) { - glVertexAttribPointer(gPolygonVertexPositionHandle, 2, - OES_HALF_FLOAT, false, 0, - POLYGON_VERTICES_DATA_POS_OFFSET); - } else { - glVertexAttribPointer(gPolygonVertexPositionHandle, 2, - GL_FLOAT, false, 0, - POLYGON_VERTICES_DATA_POS_OFFSET); - } - - // glBindBuffer(GL_ARRAY_BUFFER, 0); - } - setMatrix(tile, diff); - glUniformMatrix4fv(gPolygonMatrixHandle, 1, false, mMVPMatrix, 0); - - MeshLayer[] layers = tile.meshLayers.array; - - for (int i = 0, n = layers.length; i < n; i++) { - MeshLayer l = layers[i]; - glUniform4fv(gPolygonColorHandle, 1, l.colors, 0); - - // glUniform4f(gPolygonColorHandle, 1, 0, 0, 1); - - // System.out.println("draw: " + l.offset + " " + l.verticesCnt); - glDrawArrays(GL_TRIANGLES, l.offset, l.verticesCnt); - } - - return true; - } + // private boolean drawTriangles(GLMapTile tile, int diff) { + // + // if (tile.meshLayers == null || tile.meshLayers.array == null) + // return true; + // + // glScissor(tile.sx, tile.sy, tile.sw, tile.sh); + // + // if (mLastBoundVBO != tile.polygonVBO.id) { + // mLastBoundVBO = tile.polygonVBO.id; + // glBindBuffer(GL_ARRAY_BUFFER, tile.polygonVBO.id); + // + // if (useHalfFloat) { + // glVertexAttribPointer(gPolygonVertexPositionHandle, 2, + // OES_HALF_FLOAT, false, 0, + // POLYGON_VERTICES_DATA_POS_OFFSET); + // } else { + // glVertexAttribPointer(gPolygonVertexPositionHandle, 2, + // GL_FLOAT, false, 0, + // POLYGON_VERTICES_DATA_POS_OFFSET); + // } + // + // // glBindBuffer(GL_ARRAY_BUFFER, 0); + // } + // setMatrix(tile, diff); + // glUniformMatrix4fv(gPolygonMatrixHandle, 1, false, mMVPMatrix, 0); + // + // MeshLayer[] layers = tile.meshLayers.array; + // + // for (int i = 0, n = layers.length; i < n; i++) { + // MeshLayer l = layers[i]; + // glUniform4fv(gPolygonColorHandle, 1, l.colors, 0); + // + // // glUniform4f(gPolygonColorHandle, 1, 0, 0, 1); + // + // // System.out.println("draw: " + l.offset + " " + l.verticesCnt); + // glDrawArrays(GL_TRIANGLES, l.offset, l.verticesCnt); + // } + // + // return true; + // } private boolean drawLines(GLMapTile tile, int diff) { float z = 1; @@ -961,37 +960,37 @@ public class MapRenderer implements org.mapsforge.android.IMapRenderer { } } - private void drawProxyTriangles(GLMapTile tile) { - if (tile.parent != null && tile.parent.isDrawn) { - tile.parent.sx = tile.sx; - tile.parent.sy = tile.sy; - tile.parent.sw = tile.sw; - tile.parent.sh = tile.sh; - drawTriangles(tile.parent, -1); - } else { - int drawn = 0; - - for (int i = 0; i < 4; i++) { - GLMapTile c = tile.child[i]; - - if (c != null && c.isDrawn && setTileScissor(c, 2)) { - drawTriangles(c, 1); - drawn++; - } - } - - if (drawn < 4 && tile.parent != null) { - GLMapTile p = tile.parent.parent; - if (p != null && p.isDrawn) { - p.sx = tile.sx; - p.sy = tile.sy; - p.sw = tile.sw; - p.sh = tile.sh; - drawTriangles(p, -2); - } - } - } - } + // private void drawProxyTriangles(GLMapTile tile) { + // if (tile.parent != null && tile.parent.isDrawn) { + // tile.parent.sx = tile.sx; + // tile.parent.sy = tile.sy; + // tile.parent.sw = tile.sw; + // tile.parent.sh = tile.sh; + // drawTriangles(tile.parent, -1); + // } else { + // int drawn = 0; + // + // for (int i = 0; i < 4; i++) { + // GLMapTile c = tile.child[i]; + // + // if (c != null && c.isDrawn && setTileScissor(c, 2)) { + // drawTriangles(c, 1); + // drawn++; + // } + // } + // + // if (drawn < 4 && tile.parent != null) { + // GLMapTile p = tile.parent.parent; + // if (p != null && p.isDrawn) { + // p.sx = tile.sx; + // p.sy = tile.sy; + // p.sw = tile.sw; + // p.sh = tile.sh; + // drawTriangles(p, -2); + // } + // } + // } + // } private int uploadCnt = 0; @@ -1048,68 +1047,68 @@ public class MapRenderer implements org.mapsforge.android.IMapRenderer { tile.lineLayers = null; } - if (!mTriangulate) { - if (useHalfFloat) - shortBuffer[uploadCnt * 2 + 1] = tile.polygonLayers - .compileLayerData(shortBuffer[uploadCnt * 2 + 1]); - else - floatBuffer[uploadCnt * 2 + 1] = tile.polygonLayers - .compileLayerData(floatBuffer[uploadCnt * 2 + 1]); + // if (!mTriangulate) { + if (useHalfFloat) + shortBuffer[uploadCnt * 2 + 1] = tile.polygonLayers + .compileLayerData(shortBuffer[uploadCnt * 2 + 1]); + else + floatBuffer[uploadCnt * 2 + 1] = tile.polygonLayers + .compileLayerData(floatBuffer[uploadCnt * 2 + 1]); - // Upload polygon data to vertex buffer object - if (tile.polygonLayers.size > 0) { - mBufferMemoryUsage -= tile.polygonVBO.size; + // Upload polygon data to vertex buffer object + if (tile.polygonLayers.size > 0) { + mBufferMemoryUsage -= tile.polygonVBO.size; - glBindBuffer(GL_ARRAY_BUFFER, tile.polygonVBO.id); - // glBufferData(GL_ARRAY_BUFFER, 0, null, - // GL_DYNAMIC_DRAW); - - if (useHalfFloat) { - tile.polygonVBO.size = tile.polygonLayers.size * SHORT_BYTES; - glBufferData(GL_ARRAY_BUFFER, tile.polygonVBO.size, - shortBuffer[uploadCnt * 2 + 1], GL_DYNAMIC_DRAW); - } else { - tile.polygonVBO.size = tile.polygonLayers.size * FLOAT_BYTES; - glBufferData(GL_ARRAY_BUFFER, tile.polygonVBO.size, - floatBuffer[uploadCnt * 2 + 1], GL_DYNAMIC_DRAW); - } - mBufferMemoryUsage += tile.polygonVBO.size; + glBindBuffer(GL_ARRAY_BUFFER, tile.polygonVBO.id); + // glBufferData(GL_ARRAY_BUFFER, 0, null, + // GL_DYNAMIC_DRAW); + if (useHalfFloat) { + tile.polygonVBO.size = tile.polygonLayers.size * SHORT_BYTES; + glBufferData(GL_ARRAY_BUFFER, tile.polygonVBO.size, + shortBuffer[uploadCnt * 2 + 1], GL_DYNAMIC_DRAW); } else { - tile.polygonLayers = null; - } - } - else { - if (useHalfFloat) - shortBuffer[uploadCnt * 2 + 1] = tile.meshLayers - .compileLayerData(shortBuffer[uploadCnt * 2 + 1]); - else - floatBuffer[uploadCnt * 2 + 1] = tile.meshLayers - .compileLayerData(floatBuffer[uploadCnt * 2 + 1]); - - // Upload triangle data to vertex buffer object - if (tile.meshLayers.size > 0) { - mBufferMemoryUsage -= tile.polygonVBO.size; - - glBindBuffer(GL_ARRAY_BUFFER, tile.polygonVBO.id); - // glBufferData(GL_ARRAY_BUFFER, 0, null, - // GL_DYNAMIC_DRAW); - - if (useHalfFloat) { - tile.polygonVBO.size = tile.meshLayers.size * SHORT_BYTES; - glBufferData(GL_ARRAY_BUFFER, tile.polygonVBO.size, - shortBuffer[uploadCnt * 2 + 1], GL_DYNAMIC_DRAW); - } else { - tile.polygonVBO.size = tile.meshLayers.size * FLOAT_BYTES; - glBufferData(GL_ARRAY_BUFFER, tile.polygonVBO.size, - floatBuffer[uploadCnt * 2 + 1], GL_DYNAMIC_DRAW); - } - mBufferMemoryUsage += tile.polygonVBO.size; - - } else { - tile.meshLayers = null; + tile.polygonVBO.size = tile.polygonLayers.size * FLOAT_BYTES; + glBufferData(GL_ARRAY_BUFFER, tile.polygonVBO.size, + floatBuffer[uploadCnt * 2 + 1], GL_DYNAMIC_DRAW); } + mBufferMemoryUsage += tile.polygonVBO.size; + + } else { + tile.polygonLayers = null; } + // } + // else { + // if (useHalfFloat) + // shortBuffer[uploadCnt * 2 + 1] = tile.meshLayers + // .compileLayerData(shortBuffer[uploadCnt * 2 + 1]); + // else + // floatBuffer[uploadCnt * 2 + 1] = tile.meshLayers + // .compileLayerData(floatBuffer[uploadCnt * 2 + 1]); + // + // // Upload triangle data to vertex buffer object + // if (tile.meshLayers.size > 0) { + // mBufferMemoryUsage -= tile.polygonVBO.size; + // + // glBindBuffer(GL_ARRAY_BUFFER, tile.polygonVBO.id); + // // glBufferData(GL_ARRAY_BUFFER, 0, null, + // // GL_DYNAMIC_DRAW); + // + // if (useHalfFloat) { + // tile.polygonVBO.size = tile.meshLayers.size * SHORT_BYTES; + // glBufferData(GL_ARRAY_BUFFER, tile.polygonVBO.size, + // shortBuffer[uploadCnt * 2 + 1], GL_DYNAMIC_DRAW); + // } else { + // tile.polygonVBO.size = tile.meshLayers.size * FLOAT_BYTES; + // glBufferData(GL_ARRAY_BUFFER, tile.polygonVBO.size, + // floatBuffer[uploadCnt * 2 + 1], GL_DYNAMIC_DRAW); + // } + // mBufferMemoryUsage += tile.polygonVBO.size; + // + // } else { + // tile.meshLayers = null; + // } + // } tile.newData = false; tile.isDrawn = true; tile.isLoading = false; @@ -1235,39 +1234,39 @@ public class MapRenderer implements org.mapsforge.android.IMapRenderer { glUseProgram(gPolygonProgram); glEnableVertexAttribArray(gPolygonVertexPositionHandle); - if (!mTriangulate) { - glDisable(GL_BLEND); - // Draw Polygons - glEnable(GL_STENCIL_TEST); + // if (!mTriangulate) { + glDisable(GL_BLEND); + // Draw Polygons + glEnable(GL_STENCIL_TEST); - // glEnableVertexAttribArray(gPolygonVertexPositionHandle); + // glEnableVertexAttribArray(gPolygonVertexPositionHandle); - for (int i = 0; i < tileCnt; i++) { - if (tiles[i].isVisible) { - GLMapTile tile = tiles[i]; + for (int i = 0; i < tileCnt; i++) { + if (tiles[i].isVisible) { + GLMapTile tile = tiles[i]; - if (tile.isDrawn) - drawPolygons(tile, 0); - else - drawProxyPolygons(tile); - } + if (tile.isDrawn) + drawPolygons(tile, 0); + else + drawProxyPolygons(tile); } - // GlUtils.checkGlError("polygons"); - glDisable(GL_STENCIL_TEST); - } else { - // Draw Triangles - for (int i = 0; i < tileCnt; i++) { - if (tiles[i].isVisible) { - GLMapTile tile = tiles[i]; - - if (tile.isDrawn) - drawTriangles(tile, 0); - else - drawProxyTriangles(tile); - } - } - // GlUtils.checkGlError("triangles"); } + // GlUtils.checkGlError("polygons"); + glDisable(GL_STENCIL_TEST); + // } else { + // // Draw Triangles + // for (int i = 0; i < tileCnt; i++) { + // if (tiles[i].isVisible) { + // GLMapTile tile = tiles[i]; + // + // if (tile.isDrawn) + // drawTriangles(tile, 0); + // else + // drawProxyTriangles(tile); + // } + // } + // // GlUtils.checkGlError("triangles"); + // } // required on GalaxyII, Android 2.3.3 (cant just VAA enable once...) glDisableVertexAttribArray(gPolygonVertexPositionHandle); diff --git a/src/org/mapsforge/android/glrenderer/MeshLayer.java b/src/org/mapsforge/android/glrenderer/MeshLayer.java deleted file mode 100644 index 72495b29..00000000 --- a/src/org/mapsforge/android/glrenderer/MeshLayer.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright 2010, 2011, 2012 Hannes Janetzek - * - * This program is free software: you can redistribute it and/or modify it under the - * terms of the GNU Lesser General Public License as published by the Free Software - * Foundation, either version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A - * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License along with - * this program. If not, see . - */ -package org.mapsforge.android.glrenderer; - -import java.util.LinkedList; - -import org.poly2tri.Poly2Tri; -import org.poly2tri.geometry.polygon.Polygon; -import org.poly2tri.geometry.polygon.PolygonPoint; -import org.poly2tri.triangulation.delaunay.DelaunayTriangle; - -public class MeshLayer extends Layer { - - MeshLayer(int l, int color) { - super(l, color); - - curItem = LayerPool.get(); - pool = new LinkedList(); - pool.add(curItem); - } - - void addPolygon(float[] points, int position, int length) { - float[] curVertices = curItem.vertices; - int outPos = curItem.used; - - int len = length / 2 - 1; - int pos = position; - - PolygonPoint[] pp = new PolygonPoint[len]; - - for (int i = 0; i < len; i++) { - pp[i] = new PolygonPoint(points[pos++], points[pos++]); - } - - Polygon poly = new Polygon(pp); - - Poly2Tri.triangulate(poly); - - for (DelaunayTriangle tri : poly.getTriangles()) { - - for (int i = 0; i < 3; i++) { - - if (outPos == PoolItem.SIZE) { - curVertices = getNextPoolItem(); - outPos = 0; - } - - curVertices[outPos++] = (float) tri.points[i].getX(); - curVertices[outPos++] = (float) tri.points[i].getY(); - - } - } - curItem.used = outPos; - verticesCnt += poly.getTriangles().size() * 3; - } -} diff --git a/src/org/mapsforge/android/glrenderer/MeshLayers.java b/src/org/mapsforge/android/glrenderer/MeshLayers.java deleted file mode 100644 index da30c43a..00000000 --- a/src/org/mapsforge/android/glrenderer/MeshLayers.java +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Copyright 2010, 2011, 2012 Hannes Janetzek - * - * This program is free software: you can redistribute it and/or modify it under the - * terms of the GNU Lesser General Public License as published by the Free Software - * Foundation, either version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A - * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License along with - * this program. If not, see . - */ -package org.mapsforge.android.glrenderer; - -import java.nio.ByteBuffer; -import java.nio.ByteOrder; -import java.nio.FloatBuffer; -import java.nio.ShortBuffer; - -import android.util.SparseArray; - -public class MeshLayers { - private static final int NUM_VERTEX_FLOATS = 2; - - private SparseArray layers; - - MeshLayer[] array = null; - int size; - - MeshLayers() { - layers = new SparseArray(10); - size = 0; - } - - MeshLayer getLayer(int layer, int color) { - MeshLayer l = layers.get(layer); - if (l != null) { - return l; - } - - l = new MeshLayer(layer, color); - layers.put(layer, l); - return l; - } - - FloatBuffer compileLayerData(FloatBuffer buf) { - FloatBuffer fbuf = buf; - - array = new MeshLayer[layers.size()]; - - for (int i = 0, n = layers.size(); i < n; i++) { - MeshLayer l = layers.valueAt(i); - array[i] = l; - size += l.verticesCnt; - } - - size *= NUM_VERTEX_FLOATS; - - if (buf == null || buf.capacity() < size) { - ByteBuffer bbuf = ByteBuffer.allocateDirect(size * 4).order( - ByteOrder.nativeOrder()); - // Log.d("GLMap", "allocate buffer " + size); - fbuf = bbuf.asFloatBuffer(); - } else { - fbuf.position(0); - } - - int pos = 0; - - for (int i = 0, n = array.length; i < n; i++) { - MeshLayer l = array[i]; - - for (PoolItem item : l.pool) { - fbuf.put(item.vertices, 0, item.used); - - // for (int j = 0; j < item.used; j++) - // System.out.println(">" + item.vertices[j]); - } - - l.offset = pos; - pos += l.verticesCnt; - - LayerPool.add(l.pool); - l.pool = null; - } - - fbuf.position(0); - // for (int i = 0; i < size; i++) - // System.out.println("<" + fbuf.get()); - // fbuf.position(0); - // System.out.println("....... mesh layer size: " + size + " " + array.length); - - // not needed for drawing - layers = null; - - return fbuf; - } - - ShortBuffer compileLayerData(ShortBuffer buf) { - ShortBuffer sbuf = buf; - - array = new MeshLayer[layers.size()]; - - for (int i = 0, n = layers.size(); i < n; i++) { - MeshLayer l = layers.valueAt(i); - array[i] = l; - size += l.verticesCnt; - } - - size *= NUM_VERTEX_FLOATS; - - if (buf == null || buf.capacity() < size) { - ByteBuffer bbuf = ByteBuffer.allocateDirect(size * 2).order( - ByteOrder.nativeOrder()); - sbuf = bbuf.asShortBuffer(); - } else { - sbuf.position(0); - } - - short[] data = new short[PoolItem.SIZE]; - - int pos = 0; - - for (int i = 0, n = array.length; i < n; i++) { - MeshLayer l = array[i]; - - for (int k = 0, m = l.pool.size(); k < m; k++) { - PoolItem item = l.pool.get(k); - PoolItem.toHalfFloat(item, data); - sbuf.put(data, 0, item.used); - } - - l.offset = pos; - pos += l.verticesCnt; - - LayerPool.add(l.pool); - l.pool = null; - } - - // System.out.println("....... mesh layer size: " + size + " " + array.length); - sbuf.position(0); - - // not needed for drawing - layers = null; - - return sbuf; - } -} diff --git a/src/org/mapsforge/android/swrenderer/MapGenerator.java b/src/org/mapsforge/android/swrenderer/MapGenerator.java index 8c7f2568..7ca52cd6 100644 --- a/src/org/mapsforge/android/swrenderer/MapGenerator.java +++ b/src/org/mapsforge/android/swrenderer/MapGenerator.java @@ -19,7 +19,6 @@ import java.util.List; import org.mapsforge.android.mapgenerator.IMapGenerator; import org.mapsforge.android.mapgenerator.MapGeneratorJob; -import org.mapsforge.android.mapgenerator.Theme; import org.mapsforge.android.rendertheme.IRenderCallback; import org.mapsforge.android.rendertheme.RenderTheme; import org.mapsforge.android.rendertheme.renderinstruction.Area; @@ -44,8 +43,9 @@ public class MapGenerator implements IMapGenerator, IRenderCallback, private static final byte LAYERS = 11; private static final Paint PAINT_WATER_TILE_HIGHTLIGHT = new Paint( Paint.ANTI_ALIAS_FLAG); - private static final double STROKE_INCREASE = 1.5; - private static final byte STROKE_MIN_ZOOM_LEVEL = 12; + + // private static final double STROKE_INCREASE = 1.5; + // private static final byte STROKE_MIN_ZOOM_LEVEL = 12; private static byte getValidLayer(byte layer) { if (layer < 0) { @@ -65,9 +65,9 @@ public class MapGenerator implements IMapGenerator, IRenderCallback, private List mNodes; private float mPoiX; private float mPoiY; - private Theme mPreviousJobTheme; - private float mPreviousTextScale; - private byte mPreviousZoomLevel; + // private Theme mPreviousJobTheme; + // private float mPreviousTextScale; + // private byte mPreviousZoomLevel; private static RenderTheme renderTheme; private final List mWayNames; @@ -469,12 +469,12 @@ public class MapGenerator implements IMapGenerator, IRenderCallback, mWaySymbols.clear(); } - private void createWayLists() { - int levels = MapGenerator.renderTheme.getLevels(); - for (byte i = LAYERS - 1; i >= 0; --i) { - mWays[i] = new LayerContainer(levels); - } - } + // private void createWayLists() { + // int levels = MapGenerator.renderTheme.getLevels(); + // for (byte i = LAYERS - 1; i >= 0; --i) { + // mWays[i] = new LayerContainer(levels); + // } + // } /** * Converts a latitude value into an Y coordinate on the current tile. @@ -504,17 +504,17 @@ public class MapGenerator implements IMapGenerator, IRenderCallback, - mCurrentTileX; } - /** - * Sets the scale stroke factor for the given zoom level. - * - * @param zoomLevel - * the zoom level for which the scale stroke factor should be set. - */ - private static void setScaleStrokeWidth(byte zoomLevel) { - int zoomLevelDiff = Math.max(zoomLevel - STROKE_MIN_ZOOM_LEVEL, 0); - MapGenerator.renderTheme.scaleStrokeWidth((float) Math.pow(STROKE_INCREASE, - zoomLevelDiff)); - } + // /** + // * Sets the scale stroke factor for the given zoom level. + // * + // * @param zoomLevel + // * the zoom level for which the scale stroke factor should be set. + // */ + // private static void setScaleStrokeWidth(byte zoomLevel) { + // int zoomLevelDiff = Math.max(zoomLevel - STROKE_MIN_ZOOM_LEVEL, 0); + // MapGenerator.renderTheme.scaleStrokeWidth((float) Math.pow(STROKE_INCREASE, + // zoomLevelDiff)); + // } @Override public IMapDatabase getMapDatabase() {