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

View File

@ -24,7 +24,6 @@ import org.oscim.core.Tag;
import org.oscim.core.TagSet; import org.oscim.core.TagSet;
import org.oscim.core.Tile; import org.oscim.core.Tile;
import org.oscim.layers.tile.vector.labeling.WayDecorator; import org.oscim.layers.tile.vector.labeling.WayDecorator;
import org.oscim.map.DebugSettings;
import org.oscim.renderer.elements.ElementLayers; import org.oscim.renderer.elements.ElementLayers;
import org.oscim.renderer.elements.ExtrusionLayer; import org.oscim.renderer.elements.ExtrusionLayer;
import org.oscim.renderer.elements.LineLayer; 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.LineClipper;
import org.oscim.utils.pool.Inlist; 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 { public class VectorTileLoader extends TileLoader implements IRenderTheme.Callback, ITileDataSink {
private static final String TAG = VectorTileLoader.class.getName(); 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_MIN_ZOOM_LEVEL = 12;
public static final byte STROKE_MAX_ZOOM_LEVEL = 17; public static final byte STROKE_MAX_ZOOM_LEVEL = 17;
private static final Tag[] debugTagWay = { new Tag("debug", "way") }; //private static final Tag[] debugTagWay = { new Tag("debug", "way") };
private static final Tag[] debugTagArea = { new Tag("debug", "area") }; //private static final Tag[] debugTagArea = { new Tag("debug", "area") };
// replacement for variable value tags that should not be matched by RenderTheme // replacement for variable value tags that should not be matched by RenderTheme
// FIXME make this general, maybe subclass tags // 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 final MapElement mDebugWay, mDebugPoint;
private static DebugSettings debug;
private IRenderTheme renderTheme; private IRenderTheme renderTheme;
private int renderLevels; private int renderLevels;
@ -113,10 +99,6 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
renderLevels = theme.getLevels(); renderLevels = theme.getLevels();
} }
public static void setDebugSettings(DebugSettings debugSettings) {
debug = debugSettings;
}
public VectorTileLoader(TileManager tileManager) { public VectorTileLoader(TileManager tileManager) {
super(tileManager); super(tileManager);
@ -284,27 +266,22 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
// remove tags that should not be cached in Rendertheme // remove tags that should not be cached in Rendertheme
filterTags(element.tags); filterTags(element.tags);
// get render instructions // get and apply render instructions
RenderInstruction[] ri = renderTheme.matchElement(element, mTile.zoomLevel); renderNode(renderTheme.matchElement(element, mTile.zoomLevel));
if (ri != null)
renderNode(ri);
} else { } else {
// replace tags that should not be cached in Rendertheme (e.g. name) // replace tags that should not be cached in Rendertheme (e.g. name)
if (!filterTags(element.tags)) if (!filterTags(element.tags))
return; return;
boolean closed = element.type == GeometryType.POLY;
mDrawingLayer = getValidLayer(element.layer) * renderLevels; 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); //boolean closed = element.type == GeometryType.POLY;
//if (debug.debugTheme && ri == null)
if (debug.debugTheme && ri == null) // debugUnmatched(closed, element.tags);
debugUnmatched(closed, element.tags);
mCurLineLayer = null; mCurLineLayer = null;
} }
@ -312,7 +289,7 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
mElement = null; mElement = null;
} }
private void debugUnmatched(boolean closed, TagSet tags) { //private void debugUnmatched(boolean closed, TagSet tags) {
// Log.d(TAG, "DBG way not matched: " + closed + " " // Log.d(TAG, "DBG way not matched: " + closed + " "
// + Arrays.deepToString(tags)); // + Arrays.deepToString(tags));
// //
@ -322,7 +299,7 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
// mElement.tags = closed ? debugTagArea : debugTagWay; // mElement.tags = closed ? debugTagArea : debugTagWay;
// RenderInstruction[] ri = renderTheme.matchElement(mElement, mTile.zoomLevel); // RenderInstruction[] ri = renderTheme.matchElement(mElement, mTile.zoomLevel);
// renderWay(ri); // renderWay(ri);
} //}
private void renderWay(RenderInstruction[] ri) { private void renderWay(RenderInstruction[] ri) {
if (ri == null) if (ri == null)
@ -346,10 +323,6 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
mCurLineLayer = null; mCurLineLayer = null;
} }
// @Override
// public void renderWaterBackground() {
// }
// ----------------- RenderThemeCallback ----------------- // ----------------- RenderThemeCallback -----------------
@Override @Override
public void renderWay(Line line, int level) { public void renderWay(Line line, int level) {
@ -423,17 +396,12 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
return; return;
} }
if (debug.disablePolygons)
return;
PolygonLayer layer = mTile.layers.getPolygonLayer(numLayer); PolygonLayer layer = mTile.layers.getPolygonLayer(numLayer);
if (layer == null) if (layer == null)
return; return;
//if (layer.area == null)
layer.area = area; layer.area = area;
layer.addPolygon(mElement.points, mElement.index); layer.addPolygon(mElement.points, mElement.index);
} }
@ -501,7 +469,7 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
@Override @Override
public void renderPointSymbol(Symbol symbol) { public void renderPointSymbol(Symbol symbol) {
if (symbol.texture == null){ if (symbol.texture == null) {
Log.d(TAG, "missing symbol for " + mElement.tags.asString()); Log.d(TAG, "missing symbol for " + mElement.tags.asString());
return; return;
} }
@ -524,7 +492,8 @@ 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 @Override
public void completed(boolean success) { public void completed(boolean success) {
} }

View File

@ -304,8 +304,8 @@ class TextRenderer extends ElementRenderer {
} }
ElementLayers dbg = null; ElementLayers dbg = null;
if (mMap.getDebugSettings().debugLabels) //if (mMap.getDebugSettings().debugLabels)
dbg = new ElementLayers(); // dbg = new ElementLayers();
int mw = (mMap.getWidth() + Tile.SIZE) / 2; int mw = (mMap.getWidth() + Tile.SIZE) / 2;
int mh = (mMap.getHeight() + Tile.SIZE) / 2; int mh = (mMap.getHeight() + Tile.SIZE) / 2;
@ -323,8 +323,8 @@ class TextRenderer extends ElementRenderer {
int maxx = Tile.SIZE << (zoom - 1); int maxx = Tile.SIZE << (zoom - 1);
if (dbg != null) //if (dbg != null)
Debug.addDebugLayers(dbg); // Debug.addDebugLayers(dbg);
SymbolLayer sl = mNextLayer.symbolLayer; SymbolLayer sl = mNextLayer.symbolLayer;
sl.clearItems(); 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 MapPosition mMapPosition;
private final AsyncExecutor mAsyncExecutor; private final AsyncExecutor mAsyncExecutor;
private DebugSettings mDebugSettings;
protected boolean mClearMap; protected boolean mClearMap;
protected final MapEventLayer mEventLayer; protected final MapEventLayer mEventLayer;
private VectorTileLayer mBaseLayer; private VectorTileLayer mBaseLayer;
//private BitmapTileLayer mBackgroundLayer;
public Map() { public Map() {
@ -67,9 +64,6 @@ public abstract class Map implements EventDispatcher {
mLayers = new Layers(); mLayers = new Layers();
mAsyncExecutor = new AsyncExecutor(2); mAsyncExecutor = new AsyncExecutor(2);
mDebugSettings = new DebugSettings();
VectorTileLoader.setDebugSettings(mDebugSettings);
mEventLayer = new MapEventLayer(this); mEventLayer = new MapEventLayer(this);
mLayers.add(0, mEventLayer); 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. * This function is run on main-loop before rendering a frame.
* Caution: Do not call directly! * Caution: Do not call directly!
*/ */
public void setDebugSettings(DebugSettings debugSettings) {
mDebugSettings = debugSettings;
//MapTileLoader.setDebugSettings(debugSettings);
}
public DebugSettings getDebugSettings() {
return mDebugSettings;
protected void updateLayers() { protected void updateLayers() {
mUpdateDispatcher.dispatch(); mUpdateDispatcher.dispatch();
} }