AnyLogic
Expand
Font size

Class ShapeGISMap

All Implemented Interfaces:
AbstractShapeGISMap, com.anylogic.engine.internal.Child, Locatable2D, Locatable3D, AggregatableAnimationElement, HasLevel, LevelElement, SVGElement, UsdElement, Serializable, Cloneable

public class ShapeGISMap
extends Shape3D
implements AbstractShapeGISMap
GIS map projection manager and map renderer (persistent GIS Map shape which displays and map projection)
GIS map is a Shape and it can be placed on the model animation: it renders the associated map projection on the screen
This class provides several projection methods

General information:
Coordinates of any point are presented as:

  • the latitude of point, measured in degrees (-90 ... (South) ... 0 ... (North) ... +90)
  • the longitude of point, measured in degrees (-180 ... (West) ... 0 ... (East) ... +180)
The following order of coordinates is assumed: (latitude, longitude) Implementation is based on OpenMap and GeoTools GIS libraries
Author:
AnyLogic North America, LLC https://anylogic.com
See Also:
Serialized Form

Nested Class Summary

Modifier and TypeClassDescription
static class ShapeGISMap.Layer
Class which stores GIS map layer information

Field Summary

Modifier and TypeFieldDescription
static final AbstractGISRouteProviderSTRAIGHT 

Fields inherited from class com.anylogic.engine.presentation.Shape3D

UNKNOWN_NAME

Fields inherited from interface com.anylogic.engine.presentation.UsdElement

ID_NOT_SET

Constructor Summary

ConstructorDescription
ShapeGISMap(Presentable presentable, ShapeDrawMode drawMode, boolean ispublic, double x, double y, double width, double height, String packagePrefix, ShapeGISMap.Layer[] layers, double centerLatitude, double centerLongitude, double mapScale, Color mapBorderColor, Color mapBackgroundColor, boolean showTiles, TileURLProviderType tileURLProviderType, String[] tileURLs, IGISRouteProvider routeProvider, int searchPrecisionInMeters)
Constructs a GIS Map shape with specific attributes.

Method Summary

Modifier and TypeMethodDescription
voidadd(GISMultiRegion markupElement)
Adds GIS markup element to drawing set of elements.
voidadd(GISMarkupElement markupElement)
Adds GIS markup element to drawing set of elements.
voidchangeViewPosition(double latitude, double longitude, double zoom)
Remember user changes of the map view position.
final ShapeGISMapclone()
Cloning of GIS is not supported
(Other shapes except controls and charts allow cloning)
This method throws UnsupportedOperationException if called
booleancontains(double px, double py)
Test if the shape contains the point with the given coordinates (relative to this shape's container, i.e.
voiddestroy()
Deprecated.
voiddispose()
This method is internal and shouldn't be called by user.
it may be removed/renamed in future.
SVGElementfindSVGElement(long svgId)
This method is internal and shouldn't be called by user.
it may be removed/renamed in future.
voidfitBounds(double bottomLat, double leftLon, double topLat, double rightLon)
Make map fits specified bounds.
doublefromLengthUnits(double length, LengthUnits units)
Convert value of length measured in given units to meters
doublegetCenterLatitude()
Deprecated.
this function is deprecated and will be removed in the next release
doublegetCenterLongitude()
Deprecated.
this function is deprecated and will be removed in the next release
doublegetDistance(double latFrom, double lonFrom, double latTo, double lonTo)
Returns distance, in meters, between 2 given points
doublegetDistance(GISPoint fromPoint, GISPoint toPoint)
Returns distance, in meters, between 2 given points
doublegetDistanceByRoute(double latFrom, double lonFrom, double latTo, double lonTo)
Calculates length of route from one point to another.
doublegetDistanceByRoute(GISPoint fromPoint, GISPoint toPoint)
Calculates length of route from one point to another.
doublegetHeight()
Returns the height of the shape.
ShapeGISMap.Layer[]getLayers()
Returns the array of layers used in this GIS Map
Returned array shouldn't be modified structurally: only items can be accessed for modification
LegacyShapeGISMapProjectiongetLegacyProj()
This method is internal and shouldn't be called by user.
it may be removed/renamed in future.
doublegetMapScale()
Deprecated.
this function is deprecated and will be removed in the next release
PresentablegetPresentable()
Returns the Presentable object (Agent or Experiment) where this shape belongs to, or null.
GISRoutegetRoute(double startLatitude, double startLongitude, double endLatitude, double endLongitude)
Creates an unidirectional route from one geographic point to another.
GISRoutegetRoute(double startLatitude, double startLongitude, double endLatitude, double endLongitude, boolean bidirectional)
Creates route from one geographic point to another.
GISRoutegetRoute(GISPoint start, GISPoint end)
Creates an unidirectional route from one geographic point to another.
GISRoutegetRoute(GISPoint start, GISPoint end, boolean bidirectional)
Creates route from one geographic point to another.
IGISRouteProvidergetRouteProvider()
Retrieves default route provider for all agents in GIS space.
com.anylogic.engine.internal.presentation.ISVGComponentgetSVGComponent() 
doublegetWidth()
Returns the width of the shape.
booleanisLayerVisible(String shapeFileName)
Tests if a shapefile layer is visible
booleanisMouseNavigationEnabled()
Returns true if panning and zooming with a mouse are allowed.
static doublenormalizeLatitude(double degrees)
This method is internal and shouldn't be called by user.
it may be removed/renamed in future.
static doublenormalizeLongitude(double degrees)
Returns given longitude adjusted to be in -180...180 interval
(Sometimes longitude might be specified with precision 360*n)
static doublenormalizeScale(double mapScale)
This method is internal and shouldn't be called by user.
it may be removed/renamed in future.
booleanonClick(double latitude, double longitude)
Should be overridden to define the shape reaction on mouse click.
voidpan(double toEast, double toNorth)
Moves the map projection center
Parameters are amounts of delta in the resulting offset
One horizontal delta is a half of longitude difference from map projection center to the west/east bound of projection
One vertical delta is a half of latitude difference from map projection center to the south/north bound of projection
voidpostSVGShapeSpecificAttributes(List<String> att, List<String> val, boolean publicOnly)
Posts general properties specific to a particular shape class.
voidremove(GISMultiRegion markupElement)
Removes GIS markup element from drawing set of elements.
voidremove(GISMarkupElement markupElement)
Removes GIS markup element from drawing set of elements.
voidresetSVGState(SVGElement elementBeingDeleted, boolean delete, Consumer<SVGCommand> commandOutput)
Reset SVG state goes through the entire shape hierarchy and delete (generate "D" command) child shapes if needed (for example we need to delete Shape3DObjects for instanced objects explicitly in case of deletion group or other hierarchy parent) resetSVGState for children must be called before parent (to generate delete "D" command for children first)
voidrestoreOwner(Object owner)
Deprecated.
List<GISPoint>search(String query) 
List<GISNode>search(String query, boolean area, boolean visibleAreaOnly) 
GISPointsearchFirst(String query)
Search for a point on the Earth corresponding to the user's query.
GISMultiRegionsearchFirstMultiRegion(String query) 
GISRegionsearchFirstRegion(String query) 
List<GISMultiRegion>searchMultiRegion(String query) 
List<GISRegion>searchRegion(String query) 
voidsetCenterLatitude(double centerLatitude)
Sets the latitude of the map projection center, measured in degrees (-90 ...
voidsetCenterLongitude(double centerLongitude)
Sets the longitude of the map projection center, measured in degrees (-180 ...
voidsetHeight(double height)
Sets the height of the shape.
voidsetLayerVisibility(String shapeFileName, boolean visible)
Shows or hides a shapefile layer.
voidsetMapScale(double mapScale)
Sets the scale of map projection
voidsetMouseNavigationEnabled(boolean mouseNavigationEnabled)
Manage ability to pan and zoom the map with a mouse.
voidsetProjectionCenter(double centerLatitude, double centerLongitude)
Sets the center of the map projection
voidsetSearchBounds(double bottomLatitude, double leftLongitude, double topLatitude, double rigthLongitude)
Sets bounds for search area.
voidsetWidth(double width)
Sets the width of the shape.
doubletoLengthUnits(double length, LengthUnits units)
Convert value of length measured in meters to given length units
booleanupdateDynamicPropertiesStructural(boolean publicOnly) 
SVGElementupdateSVGProperties(List<SVGCommand> output, ShapeDrawMode drawMode, boolean publicOnly, SVGElement owner, SVGElement elbehind, boolean isInReplicatedShape)
This method is internal and shouldn't be called by user.
it may be removed/renamed in future.
Updates SVG properties of the element that are then sent to the rendering client.
voidzoomIn()
Increases scale of map projection (x 2)
voidzoomOut()
Decreases scale of map projection (x 1/2)

Methods inherited from class com.anylogic.engine.presentation.Shape3D

canHandleClick, getDrawMode, getScaleZ, getZ, getZOffset, setDrawMode, setPos, setPos, setPos, setRotation, setScale, setScale, setScaleZ, setZ

Methods inherited from class java.lang.Object

equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Methods inherited from interface com.anylogic.engine.markup.AggregatableAnimationElement

initializeInternal, postInitialize

Methods inherited from interface com.anylogic.engine.Locatable2D

getX, getY

Field Details

STRAIGHT

public static final AbstractGISRouteProvider STRAIGHT

Constructor Details

ShapeGISMap

public ShapeGISMap(Presentable presentable,
 ShapeDrawMode drawMode,
 boolean ispublic,
 double x,
 double y,
 double width,
 double height,
 String packagePrefix,
 ShapeGISMap.Layer[] layers,
 double centerLatitude,
 double centerLongitude,
 double mapScale,
 Color mapBorderColor,
 Color mapBackgroundColor,
 boolean showTiles,
 TileURLProviderType tileURLProviderType,
 String[] tileURLs,
 IGISRouteProvider routeProvider,
 int searchPrecisionInMeters)
Constructs a GIS Map shape with specific attributes.
Parameters:
presentable - the presentable object owning this shape
drawMode - where to draw this shape: 2D, 3D or 2D+3D
ispublic - if true, the shape is visible on container's presentation
x - the x coordinate of the shape upper left corner
y - the y coordinate of the shape upper left corner
width - the width of the shape
height - the height of the shape
packagePrefix - the package name of original agent where this image is defined, formatted using '/' characters; with '/' character at the beginning and at the end
layers - the array of ShapeGISMap.Layer objects to be used and drawn
centerLatitude - the latitude of the map projection center, measured in degrees (-90 ... (South) ... 0 ... (North) ... +90)
centerLongitude - the longitude of the map projection center, measured in degrees (-180 ... (West) ... 0 ... (East) ... +180)
mapScale - the scale (ratio between meters on the screen and meters on the Earth surface), e.g. 1/100000 means "1 km in 1 cm"
mapBorderColor - the color of map's bounds
mapBackgroundColor - the color of map's background
showTiles - true draw tile layer
tileURLProviderType - an element of the TileURLProviderType enum provides URL for loading tile from server
tileURLs - (used if tileURLProviderType is CUSTOM, otherwise ignored and may be null) the array of urls to load tiles from a server. Must contain "[zoom]", "[x]", "[y]" to work properly. See for details.
routeProvider - the implementation of IGISRouteProvider interface provides route from one point to another and distance between two given points
searchPrecisionInMeters - precision measured in meters is used to simplify regions found while doing GIS search. Precision for routes should be specified inside routeProvider.

Method Details

setWidth

public void setWidth(double width)
Sets the width of the shape.
Parameters:
width - the width of the shape

getWidth

public double getWidth()
Returns the width of the shape.
Returns:
the width of the shape

setHeight

public void setHeight(double height)
Sets the height of the shape.
Parameters:
height - the height of the shape

getHeight

public double getHeight()
Returns the height of the shape.
Returns:
the height of the shape

updateDynamicPropertiesStructural

@AnyLogicInternalAPI
public boolean updateDynamicPropertiesStructural(boolean publicOnly)
Overrides:
updateDynamicPropertiesStructural in class Shape
Returns:
true if:
1. update was done (usually for visible elements, respecting public flag etc.)
AND
2. further update of structural changes is applicable

onClick

@AnyLogicInternalCodegenAPI
public boolean onClick(double latitude,
 double longitude)
Should be overridden to define the shape reaction on mouse click. The click coordinates are geographical coordinates, obtained via inverse-projection of mouse click (which is definitely within the shape bounds) if this method is called. By default, does nothing and returns false.
Overrides:
onClick in class Shape
Parameters:
latitude - the latitude of point, measured in degrees (-90 ... (South) ... 0 ... (North) ... +90), where mouse click occurred
longitude - the longitude of point, measured in degrees (-180 ... (West) ... 0 ... (East) ... +180), where mouse click occurred
Returns:
always return false here.

contains

public boolean contains(double px,
 double py)
Description copied from class: Shape
Test if the shape contains the point with the given coordinates (relative to this shape's container, i.e. in the same system with the coordinates of this shape, x and y)
Specified by:
contains in class Shape
Parameters:
px - the x coordinate relative to this shape's container
py - the y coordinate relative to this shape's container
Returns:
true if the shape contains the point with the given coordinates

getMapScale

@Deprecated
public double getMapScale()
Deprecated.
this function is deprecated and will be removed in the next release

setMapScale

public void setMapScale(double mapScale)
Sets the scale of map projection
Specified by:
setMapScale in interface AbstractShapeGISMap
Parameters:
mapScale - the scale (ratio between meters on the screen and meters on the Earth surface), e.g. 1/100000 means "1 km in 1 cm"

zoomIn

public void zoomIn()
Increases scale of map projection (x 2)
Specified by:
zoomIn in interface AbstractShapeGISMap

zoomOut

public void zoomOut()
Decreases scale of map projection (x 1/2)
Specified by:
zoomOut in interface AbstractShapeGISMap

pan

public void pan(double toEast,
 double toNorth)
Moves the map projection center
Parameters are amounts of delta in the resulting offset
One horizontal delta is a half of longitude difference from map projection center to the west/east bound of projection
One vertical delta is a half of latitude difference from map projection center to the south/north bound of projection
Specified by:
pan in interface AbstractShapeGISMap
Parameters:
toEast - number of horizontal deltas to be added to the projection center, if positive, center is moved to the East, if negative - to the West
toNorth - number of vertical deltas to be added to the projection center, if positive, center is moved to the North, if negative - to the South

getCenterLatitude

@Deprecated
public double getCenterLatitude()
Deprecated.
this function is deprecated and will be removed in the next release

getCenterLongitude

@Deprecated
public double getCenterLongitude()
Deprecated.
this function is deprecated and will be removed in the next release

setProjectionCenter

public void setProjectionCenter(double centerLatitude,
 double centerLongitude)
Sets the center of the map projection
Specified by:
setProjectionCenter in interface AbstractShapeGISMap
Parameters:
centerLatitude - new latitude of the map projection center, measured in degrees (-90 ... (South) ... 0 ... (North) ... +90)
centerLongitude - new longitude of the map projection center, measured in degrees (-180 ... (West) ... 0 ... (East) ... +180)

setCenterLatitude

public void setCenterLatitude(double centerLatitude)
Sets the latitude of the map projection center, measured in degrees (-90 ... (South) ... 0 ... (North) ... +90)
Specified by:
setCenterLatitude in interface AbstractShapeGISMap
Parameters:
centerLatitude - new latitude of the map projection center, measured in degrees (-90 ... (South) ... 0 ... (North) ... +90)

setCenterLongitude

public void setCenterLongitude(double centerLongitude)
Sets the longitude of the map projection center, measured in degrees (-180 ... (West) ... 0 ... (East) ... +180)
Specified by:
setCenterLongitude in interface AbstractShapeGISMap
Parameters:
centerLongitude - new longitude of the map projection center, measured in degrees (-180 ... (West) ... 0 ... (East) ... +180)

getDistance

public double getDistance(double latFrom,
 double lonFrom,
 double latTo,
 double lonTo)
Returns distance, in meters, between 2 given points
Specified by:
getDistance in interface AbstractShapeGISMap
Parameters:
latFrom - the latitude of the 1st point, measured in degrees (-90 ... (South) ... 0 ... (North) ... +90)
lonFrom - the longitude of the 1st point, measured in degrees (-180 ... (West) ... 0 ... (East) ... +180)
latTo - the latitude of the 2nd point, measured in degrees (-90 ... (South) ... 0 ... (North) ... +90)
lonTo - the longitude of the 2nd point, measured in degrees (-180 ... (West) ... 0 ... (East) ... +180)
Returns:
the distance, in meters, between 2 given points

getDistance

public double getDistance(GISPoint fromPoint,
 GISPoint toPoint)
Returns distance, in meters, between 2 given points
Specified by:
getDistance in interface AbstractShapeGISMap
Parameters:
fromPoint - the 1st point on the Earth's surface
toPoint - the 2nd point on the Earth's surface
Returns:
the distance, in meters, between 2 given points

getDistanceByRoute

public double getDistanceByRoute(double latFrom,
 double lonFrom,
 double latTo,
 double lonTo)
Calculates length of route from one point to another. Uses route provider to create a route.
Specified by:
getDistanceByRoute in interface AbstractShapeGISMap
Parameters:
latFrom - latitude of the start point
lonFrom - longitude of the start point
latTo - latitude of the end point
lonTo - longitude of the end point
Returns:
length of route in meters

getDistanceByRoute

public double getDistanceByRoute(GISPoint fromPoint,
 GISPoint toPoint)
Calculates length of route from one point to another. Uses route provider to create a route.
Specified by:
getDistanceByRoute in interface AbstractShapeGISMap
Parameters:
fromPoint - the 1st point on the Earth's surface
toPoint - the 2nd point on the Earth's surface
Returns:
length of route in meters

getLayers

public ShapeGISMap.Layer[] getLayers()
Returns the array of layers used in this GIS Map
Returned array shouldn't be modified structurally: only items can be accessed for modification
Returns:
the array of layers used in this GIS Map

destroy

@Deprecated
public void destroy()
Deprecated.

normalizeLatitude

@AnyLogicInternalAPI
public static double normalizeLatitude(double degrees)
This method is internal and shouldn't be called by user.
it may be removed/renamed in future.

normalizeLongitude

@AnyLogicInternalAPI
public static double normalizeLongitude(double degrees)
Returns given longitude adjusted to be in -180...180 interval
(Sometimes longitude might be specified with precision 360*n)
Parameters:
degrees - the longitude measured in degrees
Returns:
the given longitude adjusted to be in -180...180 interval

normalizeScale

@AnyLogicInternalAPI
public static double normalizeScale(double mapScale)
This method is internal and shouldn't be called by user.
it may be removed/renamed in future.

getPresentable

public Presentable getPresentable()
Description copied from class: Shape
Returns the Presentable object (Agent or Experiment) where this shape belongs to, or null.
Specified by:
getPresentable in interface SVGElement
Overrides:
getPresentable in class Shape
Returns:
the Presentable that owns this shape, or null

restoreOwner

@AnyLogicInternalCodegenAPI
@Deprecated
public void restoreOwner(Object owner)
Deprecated.
Description copied from class: Shape
This method normally should not be called by user
This method restores owner of this object
The method is used in snapshot saving/loading
Specified by:
restoreOwner in interface com.anylogic.engine.internal.Child
Overrides:
restoreOwner in class Shape
Parameters:
owner - owner of this object, usually Agent, Experiment or ShapeGroup

clone

public final ShapeGISMap clone()
Cloning of GIS is not supported
(Other shapes except controls and charts allow cloning)
This method throws UnsupportedOperationException if called
Overrides:
clone in class Shape
public List<GISNode> search(String query,
 boolean area,
 boolean visibleAreaOnly)
public List<GISPoint> search(String query)

searchRegion

public List<GISRegion> searchRegion(String query)

searchMultiRegion

public List<GISMultiRegion> searchMultiRegion(String query)

searchFirst

public GISPoint searchFirst(String query)
Search for a point on the Earth corresponding to the user's query.
Specified by:
searchFirst in interface AbstractShapeGISMap
Parameters:
query - name of a geographic object or POI

searchFirstRegion

public GISRegion searchFirstRegion(String query)

searchFirstMultiRegion

public GISMultiRegion searchFirstMultiRegion(String query)

isLayerVisible

public boolean isLayerVisible(String shapeFileName)
Tests if a shapefile layer is visible
Parameters:
shapeFileName - the name of the shapefile
Returns:
true if the layer is visible, false if not or not found

setLayerVisibility

public void setLayerVisibility(String shapeFileName,
 boolean visible)
Shows or hides a shapefile layer.
Parameters:
shapeFileName - the name of the shapefile
visible - true to show, false to hide

getRouteProvider

public IGISRouteProvider getRouteProvider()
Retrieves default route provider for all agents in GIS space.
Specified by:
getRouteProvider in interface AbstractShapeGISMap
Returns:
default route provider
See Also:
IGISRouteProvider

getRoute

public GISRoute getRoute(GISPoint start,
 GISPoint end,
 boolean bidirectional)
Creates route from one geographic point to another.
Parameters:
start - point on the Earth's surface
end - point on the Earth's surface
bidirectional - true if edge of the network would be bidirectional
Returns:
route between two points

getRoute

public GISRoute getRoute(double startLatitude,
 double startLongitude,
 double endLatitude,
 double endLongitude,
 boolean bidirectional)
Creates route from one geographic point to another.
Parameters:
startLatitude - latitude of the start point
startLongitude - longitude of the start point
endLatitude - latitude of the end point
endLongitude - latitude of the end point
bidirectional - true if edge of the network would be bidirectional
Returns:
route between two points

getRoute

public GISRoute getRoute(GISPoint start,
 GISPoint end)
Creates an unidirectional route from one geographic point to another.
Specified by:
getRoute in interface AbstractShapeGISMap
Parameters:
start - point on the Earth's surface
end - point on the Earth's surface
Returns:
route between two points

getRoute

public GISRoute getRoute(double startLatitude,
 double startLongitude,
 double endLatitude,
 double endLongitude)
Creates an unidirectional route from one geographic point to another.
Specified by:
getRoute in interface AbstractShapeGISMap
Parameters:
startLatitude - latitude of the start point
startLongitude - longitude of the start point
endLatitude - latitude of the end point
endLongitude - latitude of the end point
Returns:
route between two points

add

public void add(GISMarkupElement markupElement)
Adds GIS markup element to drawing set of elements.

remove

public void remove(GISMarkupElement markupElement)
Removes GIS markup element from drawing set of elements.

add

public void add(GISMultiRegion markupElement)
Adds GIS markup element to drawing set of elements.

remove

public void remove(GISMultiRegion markupElement)
Removes GIS markup element from drawing set of elements.

toLengthUnits

public double toLengthUnits(double length,
 LengthUnits units)
Convert value of length measured in meters to given length units
Parameters:
length - value of length
units - length units
Returns:
length measured in specified units

fromLengthUnits

public double fromLengthUnits(double length,
 LengthUnits units)
Convert value of length measured in given units to meters
Parameters:
length - value of length
units - length units
Returns:
length measured in meters

setSearchBounds

public void setSearchBounds(double bottomLatitude,
 double leftLongitude,
 double topLatitude,
 double rigthLongitude)
Sets bounds for search area.
Parameters:
bottomLat - the latitude of searchable area's bottom bound, measured in degrees (-90 ... (South) ... 0 ... (North) ... +90)
leftLon - the longitude of searchable area's left bound, measured in degrees (-180 ... (West) ... 0 ... (East) ... +180)
topLat - the latitude of searchable area's top bound, measured in degrees (-90 ... (South) ... 0 ... (North) ... +90)
rightLon - the longitude of searchable area's right bound, measured in degrees (-180 ... (West) ... 0 ... (East) ... +180)

isMouseNavigationEnabled

public boolean isMouseNavigationEnabled()
Returns true if panning and zooming with a mouse are allowed.
Returns:
true if mouse panning and zooming are allowed false otherwise

setMouseNavigationEnabled

public void setMouseNavigationEnabled(boolean mouseNavigationEnabled)
Manage ability to pan and zoom the map with a mouse.
Parameters:
mouseNavigationEnabled - true to allow mouse panning and zooming false to forbid

fitBounds

public void fitBounds(double bottomLat,
 double leftLon,
 double topLat,
 double rightLon)
Make map fits specified bounds.
Parameters:
bottomLat - the latitude of visible area's bottom bound, measured in degrees (-90 ... (South) ... 0 ... (North) ... +90)
leftLon - the longitude of visible area's left bound, measured in degrees (-180 ... (West) ... 0 ... (East) ... +180)
topLat - the latitude of visible area's top bound, measured in degrees (-90 ... (South) ... 0 ... (North) ... +90)
rightLon - the longitude of visible area's right bound, measured in degrees (-180 ... (West) ... 0 ... (East) ... +180)

getLegacyProj

@AnyLogicInternalAPI
public LegacyShapeGISMapProjection getLegacyProj()
This method is internal and shouldn't be called by user.
it may be removed/renamed in future.

updateSVGProperties

@AnyLogicInternalAPI
public SVGElement updateSVGProperties(List<SVGCommand> output,
 ShapeDrawMode drawMode,
 boolean publicOnly,
 SVGElement owner,
 SVGElement elbehind,
 boolean isInReplicatedShape)
Description copied from interface: SVGElement
This method is internal and shouldn't be called by user.
it may be removed/renamed in future.
Updates SVG properties of the element that are then sent to the rendering client. If the element is not yet in the SVG scene, generates "C" command, if it is there, but some properties are out of date, generates "U" command. If SVG drawing of this element is not needed because of public only settings, or permanently not needed, or not supported yet, returns false and does nothing.
Specified by:
updateSVGProperties in interface SVGElement
Overrides:
updateSVGProperties in class Shape
Parameters:
output - the list of commands to add to
drawMode - TODO
publicOnly - drawing context: if true, only shapes that are marked as public only are updated
owner - the SVG element that serves as a container for this element
elbehind - the SVG element behind this one, or null if none or if order is irrelevant
Returns:
the actual owner this element has been added to or null if element is not drawn (e.g. drawing of this element is not needed because of public only settings, permanently not needed or not supported - hence SVG id is not set). The actual owner may differ from the given owner when the svg element is added to a different place (e.g. GIS map).

resetSVGState

@AnyLogicInternalAPI
public void resetSVGState(SVGElement elementBeingDeleted,
 boolean delete,
 Consumer<SVGCommand> commandOutput)
Description copied from class: Shape
Reset SVG state goes through the entire shape hierarchy and delete (generate "D" command) child shapes if needed (for example we need to delete Shape3DObjects for instanced objects explicitly in case of deletion group or other hierarchy parent) resetSVGState for children must be called before parent (to generate delete "D" command for children first)
Specified by:
resetSVGState in interface SVGElement
Overrides:
resetSVGState in class Shape
Parameters:
elementBeingDeleted - top-level element that is being deleted
delete - flag if method was called during shape deletion (delete "D" commands can be generated)

postSVGShapeSpecificAttributes

public void postSVGShapeSpecificAttributes(List<String> att,
 List<String> val,
 boolean publicOnly)
Description copied from class: Shape
Posts general properties specific to a particular shape class. Is triggered by SVG_DIRTY_SHAPE flag. Made public for occasional posting of additional SVG properties from outside engine (e.g. from libraries)
Overrides:
postSVGShapeSpecificAttributes in class Shape
Parameters:
att - attribute names
val - attribute values
publicOnly - TODO

changeViewPosition

public void changeViewPosition(double latitude,
 double longitude,
 double zoom)
Remember user changes of the map view position. These values are coming from animation.

findSVGElement

@AnyLogicInternalAPI
public SVGElement findSVGElement(long svgId)
Description copied from interface: SVGElement
This method is internal and shouldn't be called by user.
it may be removed/renamed in future.
Specified by:
findSVGElement in interface SVGElement
Overrides:
findSVGElement in class Shape

dispose

@AnyLogicInternalAPI
public void dispose()
This method is internal and shouldn't be called by user.
it may be removed/renamed in future.

getSVGComponent

@AnyLogicInternalAPI
public com.anylogic.engine.internal.presentation.ISVGComponent getSVGComponent()
Specified by:
getSVGComponent in interface SVGElement