Package gov.nasa.worldwind.layers
Class AbstractGraticuleLayer
- java.lang.Object
-
- gov.nasa.worldwind.avlist.AVListImpl
-
- gov.nasa.worldwind.WWObjectImpl
-
- gov.nasa.worldwind.layers.AbstractLayer
-
- gov.nasa.worldwind.layers.AbstractGraticuleLayer
-
- All Implemented Interfaces:
AVList,Disposable,MessageListener,Layer,Restorable,WWObject,java.beans.PropertyChangeListener,java.util.EventListener
- Direct Known Subclasses:
GARSGraticuleLayer,LatLonGraticuleLayer,UTMBaseGraticuleLayer
public class AbstractGraticuleLayer extends AbstractLayer
Displays a graticule.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classAbstractGraticuleLayer.GridElement
-
Field Summary
Fields Modifier and Type Field Description protected longframeTimeStampprotected Globeglobeprotected GraticuleSupportgraticuleSupportprotected java.util.ArrayList<AbstractGraticuleLayer.GridElement>gridElementsprotected Vec4lastEyePointprotected GeographicProjectionlastProjectionprotected doublelastVerticalExaggerationprotected doublelastViewFOVprotected doublelastViewHeadingprotected doublelastViewPitchstatic java.lang.StringLINE_STYLE_DASHEDDashed line rendering style.static java.lang.StringLINE_STYLE_DOTTEDDotted line rendering style.static java.lang.StringLINE_STYLE_SOLIDSolid line rendering style.protected doubleterrainConformance
-
Constructor Summary
Constructors Constructor Description AbstractGraticuleLayer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddRenderable(java.lang.Object renderable, java.lang.String paramsKey)protected voidclear(DrawContext dc)protected doublecomputeAltitudeAboveGround(DrawContext dc)protected LatLoncomputeLabelOffset(DrawContext dc)protected doublecomputeTerrainConformance(DrawContext dc)protected voidcomputeTruncatedSegment(Position p1, Position p2, Sector sector, java.util.ArrayList<Position> positions)protected java.lang.ObjectcreateLineRenderable(java.lang.Iterable<? extends Position> positions, java.lang.String pathType)voiddoPreRender(DrawContext dc)voiddoRender(DrawContext dc)protected AnglegetDeltaLongitude(LatLon p1, Angle longitude)java.awt.ColorgetGraticuleLineColor(java.lang.String key)Returns the graticule line Color.java.lang.StringgetGraticuleLineStyle(java.lang.String key)Returns the graticule line rendering style.doublegetGraticuleLineWidth(java.lang.String key)Returns the graticule line width.java.awt.ColorgetLabelColor(java.lang.String key)Returns the graticule label Color.java.awt.FontgetLabelFont(java.lang.String key)Returns the Font used for graticule labels.protected GraticuleRenderingParamsgetRenderingParams(java.lang.String key)java.lang.StringgetRestorableState()Returns an XML document string describing the object's state.protected Vec4getSurfacePoint(DrawContext dc, Angle latitude, Angle longitude)protected LatLongreatCircleIntersectionAtLatitude(LatLon p1, LatLon p2, Angle latitude)Computes the intersection point position between a great circle segment and a parallel.protected LatLongreatCircleIntersectionAtLongitude(LatLon p1, LatLon p2, Angle longitude)Computes the intersection point position between a great circle segment and a meridian.protected LatLongreatCircleMidPoint(LatLon p1, LatLon p2)booleanisDrawGraticule(java.lang.String key)Returns whether or not graticule lines will be rendered.booleanisDrawLabels(java.lang.String key)Returns whether or not graticule labels will be rendered.protected booleanneedsToUpdate(DrawContext dc)Determines whether the grid should be updated.protected voidremoveAllRenderables()protected voidrenderGraticule(DrawContext dc)voidrestoreState(java.lang.String stateInXml)Restores the object's state to what is described in the specified XML document string.protected voidselectRenderables(DrawContext dc)Select the visible grid elementsvoidsetDrawGraticule(boolean drawGraticule, java.lang.String key)Sets whether or not graticule lines will be rendered.voidsetDrawLabels(boolean drawLabels, java.lang.String key)Sets whether or not graticule labels will be rendered.voidsetGraticuleLineColor(java.awt.Color color, java.lang.String key)Sets the graticule line Color.voidsetGraticuleLineStyle(java.lang.String lineStyle, java.lang.String key)Sets the graticule line rendering style.voidsetGraticuleLineWidth(double lineWidth, java.lang.String key)Sets the graticule line width.voidsetLabelColor(java.awt.Color color, java.lang.String key)Sets the graticule label Color.voidsetLabelFont(java.awt.Font font, java.lang.String key)Sets the Font used for graticule labels.protected voidsetRenderingParams(java.lang.String key, GraticuleRenderingParams renderingParams)-
Methods inherited from class gov.nasa.worldwind.layers.AbstractLayer
createLayerConfigElements, dispose, doPick, getDataFileStore, getExpiryTime, getLayerConfigParams, getMaxActiveAltitude, getMaxEffectiveAltitude, getMinActiveAltitude, getMinEffectiveAltitude, getName, getOpacity, getScale, getScreenCredit, isAtMaxResolution, isEnabled, isLayerActive, isLayerConfigDocument, isLayerInView, isMultiResolution, isNetworkRetrievalEnabled, isPickEnabled, pick, preRender, render, setDataFileStore, setEnabled, setExpiryTime, setMaxActiveAltitude, setMinActiveAltitude, setName, setNetworkRetrievalEnabled, setOpacity, setPickEnabled, setScreenCredit, toString
-
Methods inherited from class gov.nasa.worldwind.WWObjectImpl
onMessage, propertyChange
-
Methods inherited from class gov.nasa.worldwind.avlist.AVListImpl
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getBooleanValue, getBooleanValue, getChangeSupport, getDoubleValue, getDoubleValue, getEntries, getIntegerValue, getIntegerValue, getLongValue, getLongValue, getRestorableStateForAVPair, getStringValue, getStringValue, getStringValue, getValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValue, setValues
-
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface gov.nasa.worldwind.avlist.AVList
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getEntries, getStringValue, getValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValue, setValues
-
Methods inherited from interface gov.nasa.worldwind.event.MessageListener
onMessage
-
-
-
-
Field Detail
-
LINE_STYLE_SOLID
public static final java.lang.String LINE_STYLE_SOLID
Solid line rendering style. This style specifies that a line will be drawn without any breaks.
_________
is an example of a solid line.- See Also:
- Constant Field Values
-
LINE_STYLE_DASHED
public static final java.lang.String LINE_STYLE_DASHED
Dashed line rendering style. This style specifies that a line will be drawn as a series of long strokes, with space in between.
- - - - -
is an example of a dashed line.- See Also:
- Constant Field Values
-
LINE_STYLE_DOTTED
public static final java.lang.String LINE_STYLE_DOTTED
Dotted line rendering style. This style specifies that a line will be drawn as a series of evenly spaced "square" dots.
is an example of a dotted line.. . . . .- See Also:
- Constant Field Values
-
gridElements
protected java.util.ArrayList<AbstractGraticuleLayer.GridElement> gridElements
-
graticuleSupport
protected GraticuleSupport graticuleSupport
-
terrainConformance
protected double terrainConformance
-
globe
protected Globe globe
-
lastEyePoint
protected Vec4 lastEyePoint
-
lastViewHeading
protected double lastViewHeading
-
lastViewPitch
protected double lastViewPitch
-
lastViewFOV
protected double lastViewFOV
-
lastVerticalExaggeration
protected double lastVerticalExaggeration
-
lastProjection
protected GeographicProjection lastProjection
-
frameTimeStamp
protected long frameTimeStamp
-
-
Method Detail
-
isDrawGraticule
public boolean isDrawGraticule(java.lang.String key)
Returns whether or not graticule lines will be rendered.- Parameters:
key- the rendering parameters key.- Returns:
- true if graticule lines will be rendered; false otherwise.
- Throws:
java.lang.IllegalArgumentException-keyis null.
-
setDrawGraticule
public void setDrawGraticule(boolean drawGraticule, java.lang.String key)Sets whether or not graticule lines will be rendered.- Parameters:
drawGraticule- true to render graticule lines; false to disable rendering.key- the rendering parameters key.- Throws:
java.lang.IllegalArgumentException-keyis null.
-
getGraticuleLineColor
public java.awt.Color getGraticuleLineColor(java.lang.String key)
Returns the graticule line Color.- Parameters:
key- the rendering parameters key.- Returns:
- Color used to render graticule lines.
- Throws:
java.lang.IllegalArgumentException-keyis null.
-
setGraticuleLineColor
public void setGraticuleLineColor(java.awt.Color color, java.lang.String key)Sets the graticule line Color.- Parameters:
color- Color that will be used to render graticule lines.key- the rendering parameters key.- Throws:
java.lang.IllegalArgumentException- ifcolororkeyis null.
-
getGraticuleLineWidth
public double getGraticuleLineWidth(java.lang.String key)
Returns the graticule line width.- Parameters:
key- the rendering parameters key.- Returns:
- width of the graticule lines.
- Throws:
java.lang.IllegalArgumentException-keyis null.
-
setGraticuleLineWidth
public void setGraticuleLineWidth(double lineWidth, java.lang.String key)Sets the graticule line width.- Parameters:
lineWidth- width of the graticule lines.key- the rendering parameters key.- Throws:
java.lang.IllegalArgumentException-keyis null.
-
getGraticuleLineStyle
public java.lang.String getGraticuleLineStyle(java.lang.String key)
Returns the graticule line rendering style.- Parameters:
key- the rendering parameters key.- Returns:
- rendering style of the graticule lines.
- Throws:
java.lang.IllegalArgumentException-keyis null.
-
setGraticuleLineStyle
public void setGraticuleLineStyle(java.lang.String lineStyle, java.lang.String key)Sets the graticule line rendering style.- Parameters:
lineStyle- rendering style of the graticule lines. One of LINE_STYLE_PLAIN, LINE_STYLE_DASHED, or LINE_STYLE_DOTTED.key- the rendering parameters key.- Throws:
java.lang.IllegalArgumentException- iflineStyleorkeyis null.
-
isDrawLabels
public boolean isDrawLabels(java.lang.String key)
Returns whether or not graticule labels will be rendered.- Parameters:
key- the rendering parameters key.- Returns:
- true if graticule labels will be rendered; false otherwise.
- Throws:
java.lang.IllegalArgumentException-keyis null.
-
setDrawLabels
public void setDrawLabels(boolean drawLabels, java.lang.String key)Sets whether or not graticule labels will be rendered.- Parameters:
drawLabels- true to render graticule labels; false to disable rendering.key- the rendering parameters key.- Throws:
java.lang.IllegalArgumentException-keyis null.
-
getLabelColor
public java.awt.Color getLabelColor(java.lang.String key)
Returns the graticule label Color.- Parameters:
key- the rendering parameters key.- Returns:
- Color used to render graticule labels.
- Throws:
java.lang.IllegalArgumentException-keyis null.
-
setLabelColor
public void setLabelColor(java.awt.Color color, java.lang.String key)Sets the graticule label Color.- Parameters:
color- Color that will be used to render graticule labels.key- the rendering parameters key.- Throws:
java.lang.IllegalArgumentException- ifcolororkeyis null.
-
getLabelFont
public java.awt.Font getLabelFont(java.lang.String key)
Returns the Font used for graticule labels.- Parameters:
key- the rendering parameters key.- Returns:
- Font used to render graticule labels.
- Throws:
java.lang.IllegalArgumentException-keyis null.
-
setLabelFont
public void setLabelFont(java.awt.Font font, java.lang.String key)Sets the Font used for graticule labels.- Parameters:
font- Font that will be used to render graticule labels.key- the rendering parameters key.- Throws:
java.lang.IllegalArgumentException- iffontorkeyis null.
-
getRestorableState
public java.lang.String getRestorableState()
Description copied from interface:RestorableReturns an XML document string describing the object's state. This state can be restored later by callingrestoreStateand passing the XML document.- Specified by:
getRestorableStatein interfaceRestorable- Overrides:
getRestorableStatein classAbstractLayer- Returns:
- an XML document string describing the object's state.
-
restoreState
public void restoreState(java.lang.String stateInXml)
Description copied from interface:RestorableRestores the object's state to what is described in the specified XML document string.- Specified by:
restoreStatein interfaceRestorable- Overrides:
restoreStatein classAbstractLayer- Parameters:
stateInXml- an XML document string describing an object's state.
-
getRenderingParams
protected GraticuleRenderingParams getRenderingParams(java.lang.String key)
-
setRenderingParams
protected void setRenderingParams(java.lang.String key, GraticuleRenderingParams renderingParams)
-
addRenderable
protected void addRenderable(java.lang.Object renderable, java.lang.String paramsKey)
-
removeAllRenderables
protected void removeAllRenderables()
-
doPreRender
public void doPreRender(DrawContext dc)
- Overrides:
doPreRenderin classAbstractLayer
-
doRender
public void doRender(DrawContext dc)
- Specified by:
doRenderin classAbstractLayer
-
renderGraticule
protected void renderGraticule(DrawContext dc)
-
selectRenderables
protected void selectRenderables(DrawContext dc)
Select the visible grid elements- Parameters:
dc- the currentDrawContext.
-
needsToUpdate
protected boolean needsToUpdate(DrawContext dc)
Determines whether the grid should be updated. It returns true if:- the eye has moved more than 1% of its altitude above ground
- the view FOV, heading or pitch have changed more than 1 degree
- vertical exaggeration has changed
- Parameters:
dc- the currentDrawContext.- Returns:
- true if the graticule should be updated.
-
clear
protected void clear(DrawContext dc)
-
computeTerrainConformance
protected double computeTerrainConformance(DrawContext dc)
-
computeLabelOffset
protected LatLon computeLabelOffset(DrawContext dc)
-
createLineRenderable
protected java.lang.Object createLineRenderable(java.lang.Iterable<? extends Position> positions, java.lang.String pathType)
-
getSurfacePoint
protected Vec4 getSurfacePoint(DrawContext dc, Angle latitude, Angle longitude)
-
computeAltitudeAboveGround
protected double computeAltitudeAboveGround(DrawContext dc)
-
computeTruncatedSegment
protected void computeTruncatedSegment(Position p1, Position p2, Sector sector, java.util.ArrayList<Position> positions)
-
greatCircleIntersectionAtLongitude
protected LatLon greatCircleIntersectionAtLongitude(LatLon p1, LatLon p2, Angle longitude)
Computes the intersection point position between a great circle segment and a meridian.- Parameters:
p1- the great circle segment start position.p2- the great circle segment end position.longitude- the meridian longitudeAngle- Returns:
- the intersection
Positionor null if there was no intersection found.
-
greatCircleIntersectionAtLatitude
protected LatLon greatCircleIntersectionAtLatitude(LatLon p1, LatLon p2, Angle latitude)
Computes the intersection point position between a great circle segment and a parallel.- Parameters:
p1- the great circle segment start position.p2- the great circle segment end position.latitude- the parallel latitudeAngle- Returns:
- the intersection
Positionor null if there was no intersection found.
-
-