public class DisplayObjectManager
extends java.lang.Object
Der DisplayObjectManager initialisiert die DisplayObjects und stellt sie zur Verfügung.
Modifier and Type | Class and Description |
---|---|
class |
DisplayObjectManager.PointWithAngle
Diese Klasse kapselt ein Paar bestehend aus einem Punkt und einem Winkel.
|
Constructor and Description |
---|
DisplayObjectManager(ClientDavInterface connection,
MapPane mapPane)
Der Konstruktor der DisplayObject-Verwaltung.
|
Modifier and Type | Method and Description |
---|---|
void |
addMapScaleListeners()
Mit dieser Methode werden alle DisplayObjects, die als MapScaleListener zu registrieren sind, beim MapPane registriert.
|
private void |
appendCoordinates(SystemObject systemObject,
java.util.List<java.awt.geom.Path2D.Double> polylines) |
private static void |
customiseUTM(UTMCoordinate utm) |
private DisplayObjectManager.PointWithAngle |
determinePointCoordinate(java.util.List<java.lang.Object> lineCoordinates,
double offset) |
private void |
dumpPolylines(java.util.List<java.lang.Object> polylines) |
private java.util.List<java.lang.Object> |
getAreaCoordinates(SystemObject systemObject) |
private java.util.List<java.lang.Object> |
getComplexCoordinates(SystemObject systemObject) |
java.util.List<DisplayObject> |
getDisplayObjects(ViewEntry entry,
javax.swing.JProgressBar progressBar)
Der DisplayObjectManager initialisiert beim Aufruf dieser Methode alle DisplayObjects zu dem in dem ViewEntry enthaltenen Layer.
|
private java.awt.Rectangle |
getDisplayRectangle() |
java.awt.Rectangle |
getDisplayRectangle(java.util.List<SystemObject> systemObjects)
Gibt das die SystemObjects umgebende Rechteck zurück.
|
private double |
getMeterDistance(double x1,
double y1,
double x2,
double y2) |
private java.util.Collection<SystemObject> |
getObjects(java.util.Collection<java.lang.Long> ids) |
private java.util.List<java.lang.Object> |
getPointCoordinates(SystemObject systemObject) |
private java.util.List<java.lang.Object> |
getPolylines(SystemObject systemObject) |
private java.util.Map<DisplayObjectType,java.util.List<PrimitiveFormPropertyPair>> |
getPrimitiveFormPropertyPairs(DOTCollection dotCollection) |
double |
getxMax()
Gibt die größte bisher gefundene x-Koordinate zurück.
|
double |
getxMin()
Gibt die kleinste bisher gefundene x-Koordinate zurück.
|
double |
getyMax()
Gibt die größte bisher gefundene y-Koordinate zurück.
|
double |
getyMin()
Gibt die kleinste bisher gefundene y-Koordinate zurück.
|
private java.awt.Rectangle |
increaseRectangle(java.awt.Rectangle rectangle) |
private void |
initializeAreas(ViewEntry entry,
java.util.List<SystemObject> systemObjects,
java.util.List<DisplayObject> returnList,
javax.swing.JProgressBar progressBar) |
private void |
initializeComplexes(ViewEntry entry,
java.util.List<SystemObject> systemObjects,
java.util.List<DisplayObject> returnList,
javax.swing.JProgressBar progressBar) |
private void |
initializeLines(ViewEntry entry,
java.util.List<SystemObject> systemObjects,
java.util.List<DisplayObject> returnList,
javax.swing.JProgressBar progressBar) |
private void |
initializePoints(ViewEntry entry,
java.util.List<SystemObject> systemObjects,
java.util.List<DisplayObject> returnList,
javax.swing.JProgressBar progressBar) |
private java.lang.Double |
orientedAngleWithXAxis(double x,
double y) |
private void |
preloadLines(java.util.Collection<SystemObject> objectCollection) |
private void |
printExtremeCoordinates() |
private void |
simplifyCoordinates(java.util.List<java.awt.geom.Path2D.Double> rawPolylines,
java.util.List<java.lang.Object> polylines) |
void |
subscribeDisplayObjects()
Mit dieser Methode werden alle Anmeldungen beim Datenverteiler vorgenommen, die sich auf seit dem letzten Aufruf dieser Methode durch Initialisierungen neuer DisplayObjects ergeben haben.
|
void |
unsubscribeDisplayObjects(java.util.Collection<DisplayObject> displayObjects)
Mit dieser Methode werden alle Anmeldungen beim Datenverteiler zurückgenommen, die sich vom DisplayObjectManager in der Methode subscribeDisplayObjects() für die übergebenen DisplayObjects gemacht wurden.
|
private void |
updateExtremeCoordinates(UTMCoordinate utm) |
private ClientDavInterface _connection
private DataModel _configuration
private MapPane _mapPane
private java.util.Deque<DisplayObject> _unsubscribedDisplayObjects
private java.util.Deque<MapPane.MapScaleListener> _unaddedMapScaleListeners
private SystemObjectType _lineComposedOfLinesType
private SystemObjectType _lineWithCoordinatesType
private AttributeGroup _composedOfLinesAttributeGroup
private AttributeGroup _lineCoordinatesAttributeGroup
private SystemObjectType _pointOnLineType
private SystemObjectType _pointWithCoordinatesType
private AttributeGroup _pointOnLineAttributeGroup
private AttributeGroup _pointCoordinateAttributeGroup
private AttributeGroup _areaCoordinatesAttributeGroup
private AttributeGroup _complexCoordinatesAttributeGroup
private double _xMin
private double _yMin
private double _xMax
private double _yMax
static double _ignoreDistance
private static final java.lang.Object _configurationAccess
private static final Debug _debug
public DisplayObjectManager(ClientDavInterface connection, MapPane mapPane)
Der Konstruktor der DisplayObject-Verwaltung.
connection
- die Datenverteiler-VerbindungmapPane
- die Kartenansichtpublic java.util.List<DisplayObject> getDisplayObjects(ViewEntry entry, javax.swing.JProgressBar progressBar)
Der DisplayObjectManager initialisiert beim Aufruf dieser Methode alle DisplayObjects zu dem in dem ViewEntry enthaltenen Layer.
entry
- ein ViewEntryprogressBar
- private java.awt.Rectangle getDisplayRectangle()
public java.awt.Rectangle getDisplayRectangle(java.util.List<SystemObject> systemObjects)
Gibt das die SystemObjects umgebende Rechteck zurück. Ist die Liste leer, so wird das Gesamtrechteck zurückgegeben.
systemObjects
- eine Liste von Systemobjekten oder null
private java.awt.Rectangle increaseRectangle(java.awt.Rectangle rectangle)
private java.util.Map<DisplayObjectType,java.util.List<PrimitiveFormPropertyPair>> getPrimitiveFormPropertyPairs(DOTCollection dotCollection)
private void initializePoints(ViewEntry entry, java.util.List<SystemObject> systemObjects, java.util.List<DisplayObject> returnList, javax.swing.JProgressBar progressBar)
private java.util.Collection<SystemObject> getObjects(java.util.Collection<java.lang.Long> ids)
private void initializeLines(ViewEntry entry, java.util.List<SystemObject> systemObjects, java.util.List<DisplayObject> returnList, javax.swing.JProgressBar progressBar)
private void preloadLines(java.util.Collection<SystemObject> objectCollection)
private void dumpPolylines(java.util.List<java.lang.Object> polylines)
private java.util.List<java.lang.Object> getPointCoordinates(SystemObject systemObject)
private DisplayObjectManager.PointWithAngle determinePointCoordinate(java.util.List<java.lang.Object> lineCoordinates, double offset)
private java.lang.Double orientedAngleWithXAxis(double x, double y)
private double getMeterDistance(double x1, double y1, double x2, double y2)
private java.util.List<java.lang.Object> getPolylines(SystemObject systemObject)
private void appendCoordinates(SystemObject systemObject, java.util.List<java.awt.geom.Path2D.Double> polylines)
public double getxMin()
Gibt die kleinste bisher gefundene x-Koordinate zurück.
public double getyMin()
Gibt die kleinste bisher gefundene y-Koordinate zurück.
public double getxMax()
Gibt die größte bisher gefundene x-Koordinate zurück.
public double getyMax()
Gibt die größte bisher gefundene y-Koordinate zurück.
private void printExtremeCoordinates()
private void updateExtremeCoordinates(UTMCoordinate utm)
private void simplifyCoordinates(java.util.List<java.awt.geom.Path2D.Double> rawPolylines, java.util.List<java.lang.Object> polylines)
public void subscribeDisplayObjects()
Mit dieser Methode werden alle Anmeldungen beim Datenverteiler vorgenommen, die sich auf seit dem letzten Aufruf dieser Methode durch Initialisierungen neuer DisplayObjects ergeben haben.
public void unsubscribeDisplayObjects(java.util.Collection<DisplayObject> displayObjects)
Mit dieser Methode werden alle Anmeldungen beim Datenverteiler zurückgenommen, die sich vom DisplayObjectManager in der Methode subscribeDisplayObjects() für die übergebenen DisplayObjects gemacht wurden.
displayObjects
- eine Menge von DisplayObjectspublic void addMapScaleListeners()
Mit dieser Methode werden alle DisplayObjects, die als MapScaleListener zu registrieren sind, beim MapPane registriert.
private void initializeComplexes(ViewEntry entry, java.util.List<SystemObject> systemObjects, java.util.List<DisplayObject> returnList, javax.swing.JProgressBar progressBar)
private java.util.List<java.lang.Object> getComplexCoordinates(SystemObject systemObject)
private void initializeAreas(ViewEntry entry, java.util.List<SystemObject> systemObjects, java.util.List<DisplayObject> returnList, javax.swing.JProgressBar progressBar)
private java.util.List<java.lang.Object> getAreaCoordinates(SystemObject systemObject)
private static void customiseUTM(UTMCoordinate utm)