/** * This package contains classes for drawing images from map data. Drawing * commands are send to a <code>UnifiedImageBuilder</code> which abstracts * from the concrete graphics framework being used. * <p>Renderers are responsible for controlling the drawing process. Here, * a renderer is implemented as a visitor. It can be provided as parameter * to {@link aimax.osm.data.OsmMap#visitEntities(aimax.osm.data.EntityVisitor, aimax.osm.data.BoundingBox, float)}. * <code>AbstractEntityRenderer</code> defines the general renderer interface * and contains some common attributes. The <code>DefaultEntityRenderer</code> * gives an example for a concrete implementation. The mapping between * types of map entities and symbols for visualization is done by * entity classifiers. They contain rules which assign <code>EntityViewInfo</code> * objects to map entities depending on its attributes. See the * <code>MapStyleFactory</code> for examples. Entity classifies are * maintained by the map and not by the renderer for two reasons: * First, attribute checks for classification can be reduced to one check * per entity when loading the map. Second, scale visibility information * can be used to organize map for fast scale-dependent filtering. * * @author Ruediger Lunde */ package aimax.osm.viewer;