remove DebugSettings class

This commit is contained in:
Hannes Janetzek 2013-09-17 22:37:44 +02:00
parent 4f1b3f262b
commit 1738bfd0bc
5 changed files with 43 additions and 174 deletions

View File

@ -22,7 +22,6 @@ import org.oscim.core.Tag;
import org.oscim.core.TagSet;
import org.oscim.core.Tile;
import org.oscim.layers.tile.vector.labeling.WayDecorator;
import org.oscim.map.DebugSettings;
import org.oscim.renderer.elements.ElementLayers;
import org.oscim.renderer.elements.ExtrusionLayer;
import org.oscim.renderer.elements.LineLayer;
@ -67,18 +66,14 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
public static final byte STROKE_MIN_ZOOM_LEVEL = 12;
public static final byte STROKE_MAX_ZOOM_LEVEL = 17;
private static final Tag[] debugTagWay = { new Tag("debug", "way") };
private static final Tag[] debugTagArea = { new Tag("debug", "area") };
//private static final Tag[] debugTagWay = { new Tag("debug", "way") };
//private static final Tag[] debugTagArea = { new Tag("debug", "area") };
// replacement for variable value tags that should not be matched by RenderTheme
// FIXME make this general, maybe subclass tags
private static final Tag mTagEmptyName = new Tag(Tag.TAG_KEY_NAME, null, false);
private static final Tag mTagEmptyHouseNr = new Tag(Tag.TAG_KEY_HOUSE_NUMBER, null, false);
// private final MapElement mDebugWay, mDebugPoint;
private static DebugSettings debug;
private IRenderTheme renderTheme;
private int renderLevels;
@ -110,10 +105,6 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
renderLevels = theme.getLevels();
}
public static void setDebugSettings(DebugSettings debugSettings) {
debug = debugSettings;
}
/**
*/
public VectorTileLoader(TileManager tileManager) {
@ -315,34 +306,28 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
if (!filterTags(element.tags))
return;
boolean closed = element.type == GeometryType.POLY;
mDrawingLayer = getValidLayer(element.layer) * renderLevels;
RenderInstruction[] ri = renderTheme.matchElement(element, mTile.zoomLevel);
renderWay(ri);
if (debug.debugTheme && ri == null)
debugUnmatched(closed, element.tags);
mCurLineLayer = null;
}
mElement = null;
}
private void debugUnmatched(boolean closed, TagSet tags) {
// Log.d(TAG, "DBG way not matched: " + closed + " "
// + Arrays.deepToString(tags));
//
// mTagName = new Tag("name", tags[0].key + ":"
// + tags[0].value, false);
//
// mElement.tags = closed ? debugTagArea : debugTagWay;
// RenderInstruction[] ri = renderTheme.matchElement(mElement, mTile.zoomLevel);
// renderWay(ri);
}
//private void debugUnmatched(boolean closed, TagSet tags) {
// Log.d(TAG, "DBG way not matched: " + closed + " "
// + Arrays.deepToString(tags));
//
// mTagName = new Tag("name", tags[0].key + ":"
// + tags[0].value, false);
//
// mElement.tags = closed ? debugTagArea : debugTagWay;
// RenderInstruction[] ri = renderTheme.matchElement(mElement, mTile.zoomLevel);
// renderWay(ri);
//}
private void renderWay(RenderInstruction[] ri) {
if (ri == null)
@ -443,9 +428,6 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
return;
}
if (debug.disablePolygons)
return;
PolygonLayer layer = mTile.layers.getPolygonLayer(numLayer);
if (layer == null)

View File

@ -24,7 +24,6 @@ import org.oscim.core.Tag;
import org.oscim.core.TagSet;
import org.oscim.core.Tile;
import org.oscim.layers.tile.vector.labeling.WayDecorator;
import org.oscim.map.DebugSettings;
import org.oscim.renderer.elements.ElementLayers;
import org.oscim.renderer.elements.ExtrusionLayer;
import org.oscim.renderer.elements.LineLayer;
@ -49,17 +48,6 @@ import org.oscim.tiling.source.ITileDataSource.QueryResult;
import org.oscim.utils.LineClipper;
import org.oscim.utils.pool.Inlist;
/**
* @note
* 0.
* 1. The ... call MapTileLoader.executeJob() to load a tile.
* 2. The tile data will be loaded from current TileSource
* 3. TileSource calls the IMapDataSink process()
* . implemented by MapTileLoader for MapElement items.
* 4. these callbacks then call RenderTheme to get the matching RenderInstructions (style).
* 5. RenderTheme calls IRenderCallback functions with style information
* 6. Styled items become added to MapTile.layers...
*/
public class VectorTileLoader extends TileLoader implements IRenderTheme.Callback, ITileDataSink {
private static final String TAG = VectorTileLoader.class.getName();
@ -70,8 +58,8 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
public static final byte STROKE_MIN_ZOOM_LEVEL = 12;
public static final byte STROKE_MAX_ZOOM_LEVEL = 17;
private static final Tag[] debugTagWay = { new Tag("debug", "way") };
private static final Tag[] debugTagArea = { new Tag("debug", "area") };
//private static final Tag[] debugTagWay = { new Tag("debug", "way") };
//private static final Tag[] debugTagArea = { new Tag("debug", "area") };
// replacement for variable value tags that should not be matched by RenderTheme
// FIXME make this general, maybe subclass tags
@ -80,8 +68,6 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
// private final MapElement mDebugWay, mDebugPoint;
private static DebugSettings debug;
private IRenderTheme renderTheme;
private int renderLevels;
@ -113,10 +99,6 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
renderLevels = theme.getLevels();
}
public static void setDebugSettings(DebugSettings debugSettings) {
debug = debugSettings;
}
public VectorTileLoader(TileManager tileManager) {
super(tileManager);
@ -206,7 +188,7 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
/**
* Sets the scale stroke factor for the given zoom level.
*
*
* @param zoomLevel
* the zoom level for which the scale stroke factor should be
* set.
@ -284,27 +266,22 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
// remove tags that should not be cached in Rendertheme
filterTags(element.tags);
// get render instructions
RenderInstruction[] ri = renderTheme.matchElement(element, mTile.zoomLevel);
if (ri != null)
renderNode(ri);
// get and apply render instructions
renderNode(renderTheme.matchElement(element, mTile.zoomLevel));
} else {
// replace tags that should not be cached in Rendertheme (e.g. name)
if (!filterTags(element.tags))
return;
boolean closed = element.type == GeometryType.POLY;
mDrawingLayer = getValidLayer(element.layer) * renderLevels;
RenderInstruction[] ri = renderTheme.matchElement(element, mTile.zoomLevel);
// get and apply render instructions
renderWay(renderTheme.matchElement(element, mTile.zoomLevel));
renderWay(ri);
if (debug.debugTheme && ri == null)
debugUnmatched(closed, element.tags);
//boolean closed = element.type == GeometryType.POLY;
//if (debug.debugTheme && ri == null)
// debugUnmatched(closed, element.tags);
mCurLineLayer = null;
}
@ -312,17 +289,17 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
mElement = null;
}
private void debugUnmatched(boolean closed, TagSet tags) {
// Log.d(TAG, "DBG way not matched: " + closed + " "
// + Arrays.deepToString(tags));
//
// mTagName = new Tag("name", tags[0].key + ":"
// + tags[0].value, false);
//
// mElement.tags = closed ? debugTagArea : debugTagWay;
// RenderInstruction[] ri = renderTheme.matchElement(mElement, mTile.zoomLevel);
// renderWay(ri);
}
//private void debugUnmatched(boolean closed, TagSet tags) {
// Log.d(TAG, "DBG way not matched: " + closed + " "
// + Arrays.deepToString(tags));
//
// mTagName = new Tag("name", tags[0].key + ":"
// + tags[0].value, false);
//
// mElement.tags = closed ? debugTagArea : debugTagWay;
// RenderInstruction[] ri = renderTheme.matchElement(mElement, mTile.zoomLevel);
// renderWay(ri);
//}
private void renderWay(RenderInstruction[] ri) {
if (ri == null)
@ -346,10 +323,6 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
mCurLineLayer = null;
}
// @Override
// public void renderWaterBackground() {
// }
// ----------------- RenderThemeCallback -----------------
@Override
public void renderWay(Line line, int level) {
@ -423,17 +396,12 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
return;
}
if (debug.disablePolygons)
return;
PolygonLayer layer = mTile.layers.getPolygonLayer(numLayer);
if (layer == null)
return;
//if (layer.area == null)
layer.area = area;
layer.addPolygon(mElement.points, mElement.index);
}
@ -501,7 +469,7 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
@Override
public void renderPointSymbol(Symbol symbol) {
if (symbol.texture == null){
if (symbol.texture == null) {
Log.d(TAG, "missing symbol for " + mElement.tags.asString());
return;
}
@ -524,8 +492,9 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
}
/**
* used for event-driven loading by html backend */
* used for event-driven loading by html backend
*/
@Override
public void completed(boolean success) {
}
public void completed(boolean success) {
}
}

View File

@ -304,8 +304,8 @@ class TextRenderer extends ElementRenderer {
}
ElementLayers dbg = null;
if (mMap.getDebugSettings().debugLabels)
dbg = new ElementLayers();
//if (mMap.getDebugSettings().debugLabels)
// dbg = new ElementLayers();
int mw = (mMap.getWidth() + Tile.SIZE) / 2;
int mh = (mMap.getHeight() + Tile.SIZE) / 2;
@ -323,8 +323,8 @@ class TextRenderer extends ElementRenderer {
int maxx = Tile.SIZE << (zoom - 1);
if (dbg != null)
Debug.addDebugLayers(dbg);
//if (dbg != null)
// Debug.addDebugLayers(dbg);
SymbolLayer sl = mNextLayer.symbolLayer;
sl.clearItems();

View File

@ -1,68 +0,0 @@
/*
* Copyright 2010, 2011, 2012 mapsforge.org
*
* 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 <http://www.gnu.org/licenses/>.
*/
package org.oscim.map;
/**
* A simple DTO to stores flags for debugging rendered map tiles.
*/
public class DebugSettings {
/**
* True if drawing of tile coordinates is enabled, false otherwise.
*/
public final boolean drawTileCoordinates;
/**
* True if drawing of tile frames is enabled, false otherwise.
*/
public final boolean drawTileFrames;
public final boolean debugTheme;
/**
* True if highlighting of water tiles is enabled, false otherwise.
*/
public final boolean disablePolygons;
public final boolean debugLabels;
/**
* @param drawTileCoordinates
* if drawing of tile coordinates is enabled.
* @param drawTileFrames
* if drawing of tile frames is enabled.
* @param disablePolygons
* if highlighting of water tiles is enabled.
* @param debugTheme
* ...
* @param debugLabels ...
*/
public DebugSettings(boolean drawTileCoordinates, boolean drawTileFrames,
boolean disablePolygons, boolean debugTheme, boolean debugLabels) {
this.drawTileCoordinates = drawTileCoordinates;
this.drawTileFrames = drawTileFrames;
this.debugTheme = debugTheme;
this.disablePolygons = disablePolygons;
this.debugLabels = debugLabels;
}
public DebugSettings() {
this.drawTileCoordinates = false;
this.drawTileFrames = false;
this.debugTheme = false;
this.disablePolygons = false;
this.debugLabels = false;
}
}

View File

@ -50,13 +50,10 @@ public abstract class Map implements EventDispatcher {
private final MapPosition mMapPosition;
private final AsyncExecutor mAsyncExecutor;
private DebugSettings mDebugSettings;
protected boolean mClearMap;
protected final MapEventLayer mEventLayer;
private VectorTileLayer mBaseLayer;
//private BitmapTileLayer mBackgroundLayer;
public Map() {
@ -67,9 +64,6 @@ public abstract class Map implements EventDispatcher {
mLayers = new Layers();
mAsyncExecutor = new AsyncExecutor(2);
mDebugSettings = new DebugSettings();
VectorTileLoader.setDebugSettings(mDebugSettings);
mEventLayer = new MapEventLayer(this);
mLayers.add(0, mEventLayer);
}
@ -186,14 +180,6 @@ public abstract class Map implements EventDispatcher {
* This function is run on main-loop before rendering a frame.
* Caution: Do not call directly!
*/
public void setDebugSettings(DebugSettings debugSettings) {
mDebugSettings = debugSettings;
//MapTileLoader.setDebugSettings(debugSettings);
}
public DebugSettings getDebugSettings() {
return mDebugSettings;
protected void updateLayers() {
mUpdateDispatcher.dispatch();
}