Class ForwardLineOfOwnTroops
- java.lang.Object
-
- gov.nasa.worldwind.avlist.AVListImpl
-
- gov.nasa.worldwind.symbology.AbstractTacticalGraphic
-
- gov.nasa.worldwind.symbology.milstd2525.AbstractMilStd2525TacticalGraphic
-
- gov.nasa.worldwind.symbology.milstd2525.graphics.lines.PhaseLine
-
- gov.nasa.worldwind.symbology.milstd2525.graphics.lines.ForwardLineOfOwnTroops
-
- All Implemented Interfaces:
AVList
,Draggable
,Movable
,Highlightable
,Renderable
,MilStd2525TacticalGraphic
,TacticalGraphic
- Direct Known Subclasses:
LineOfContact
public class ForwardLineOfOwnTroops extends PhaseLine
Implementation of the Forward Line of Own Troops graphic (2.X.2.1.2.2).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
ForwardLineOfOwnTroops.PositionIterator
Iterator to generate equally spaced positions along a control line.
-
Field Summary
Fields Modifier and Type Field Description protected java.util.List<Position>
computedPositions
Positions computed from the original positions.static int
DEFAULT_NUM_INTERVALS
Default number of intervals used to draw the arcs.static int
DEFAULT_NUM_WAVES
Default number of wave lengths for a simple shape.protected int
intervals
Number of intervals used to draw the arcs along the line.protected java.lang.Iterable<? extends Position>
positions
Original positions specified by the application.protected double
waveLength
Indicates wave length (in meters) of the semicircle wave along the graphic boundary.-
Fields inherited from class gov.nasa.worldwind.symbology.milstd2525.graphics.lines.PhaseLine
path, PLD_OUTLINE_STIPPLE_FACTOR
-
Fields inherited from class gov.nasa.worldwind.symbology.milstd2525.AbstractMilStd2525TacticalGraphic
maskedSymbolCode, OUTLINE_STIPPLE_FACTOR_ANTICIPATED, OUTLINE_STIPPLE_FACTOR_PRESENT, OUTLINE_STIPPLE_PATTERN, symbolCode
-
Fields inherited from class gov.nasa.worldwind.symbology.AbstractTacticalGraphic
activeOverrides, activeShapeAttributes, DEFAULT_HIGHLIGHT_MATERIAL, DEFAULT_LABEL_INTERIOR_OPACITY, delegateOwner, dragEnabled, draggableSupport, frameTimestamp, highlightAttributes, highlighted, labelOffset, labels, modifiers, mustCreateLabels, normalAttributes, showGraphicModifiers, showHostileIndicator, showLocation, showTextModifiers, text, unitsFormat, visible
-
-
Constructor Summary
Constructors Constructor Description ForwardLineOfOwnTroops(java.lang.String sidc)
Create a new graphic.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected double
computeDefaultWavelength(java.lang.Iterable<? extends Position> positions, Globe globe)
protected void
computeGeometry(DrawContext dc)
protected Angle
computeGreatCirclePathLength(java.lang.Iterable<? extends Position> positions)
protected void
generateIntermediatePositions(DrawContext dc, java.lang.Iterable<? extends Position> positions)
Generate the positions required to draw the polygon with a triangle wave boundary.protected java.util.List<Position>
generateWavePositions(java.util.Iterator<? extends Position> iterator, double radius, boolean reverse)
protected java.lang.String
getGraphicLabel()
int
getIntervals()
Indicates the number of intervals used to draw the arc in this graphic.java.lang.Iterable<? extends Position>
getPositions()
Indicates the positions of the control points that place and orient the graphic.static java.util.List<java.lang.String>
getSupportedGraphics()
Indicates the graphics supported by this class.double
getWaveLength()
Indicates the wavelength of the semicircle wave that forms the graphic's boundary.void
moveTo(Position position)
Move the shape over the globe's surface while maintaining its original azimuth, its orientation relative to North.protected void
onShapeChanged()
void
setIntervals(int intervals)
Specifies the number of intervals used to draw the arc in this graphic.void
setPositions(java.lang.Iterable<? extends Position> positions)
Specifies the positions of the control points that place and orient the graphic.void
setWaveLength(int waveLength)
Specifies the wavelength of the triangle wave that forms the graphic's boundary.-
Methods inherited from class gov.nasa.worldwind.symbology.milstd2525.graphics.lines.PhaseLine
applyDefaultAttributes, applyDelegateOwner, createLabels, createPath, determineLabelPositions, doRenderGraphic, getReferencePosition
-
Methods inherited from class gov.nasa.worldwind.symbology.milstd2525.AbstractMilStd2525TacticalGraphic
createSymbol, getDefaultMaterial, getIdentifier, getModifier, getOutlineStippleFactor, getOutlineStipplePattern, getStatus, getText, mustShowHostileIndicator, setModifier, setStatus
-
Methods inherited from class gov.nasa.worldwind.symbology.AbstractTacticalGraphic
addLabel, applyLabelAttributes, applyOverrideAttributes, computeLabelInteriorOpacity, determineActiveAttributes, determineDelegateOwner, determinePerFrameAttributes, doDrag, doRenderGraphicModifiers, doRenderTextModifiers, drag, getActiveDelegateOwner, getActiveOverrideAttributes, getActiveShapeAttributes, getAttributes, getDefaultLabelOffset, getDelegateOwner, getHighlightAttributes, getLabelMaterial, getLabelOffset, getUnitsFormat, isDragEnabled, isHighlighted, isShowGraphicModifiers, isShowHostileIndicator, isShowLocation, isShowTextModifiers, isVisible, move, onModifierChanged, render, setAttributes, setDelegateOwner, setDragEnabled, setHighlightAttributes, setHighlighted, setLabelOffset, setShowGraphicModifiers, setShowHostileIndicator, setShowLocation, setShowTextModifiers, setText, setUnitsFormat, setVisible
-
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, toString, 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.render.Highlightable
isHighlighted, setHighlighted
-
Methods inherited from interface gov.nasa.worldwind.render.Renderable
render
-
Methods inherited from interface gov.nasa.worldwind.symbology.TacticalGraphic
getAttributes, getDelegateOwner, getHighlightAttributes, getLabelOffset, getUnitsFormat, isShowGraphicModifiers, isShowHostileIndicator, isShowLocation, isShowTextModifiers, isVisible, setAttributes, setDelegateOwner, setHighlightAttributes, setLabelOffset, setShowGraphicModifiers, setShowHostileIndicator, setShowLocation, setShowTextModifiers, setText, setUnitsFormat, setVisible
-
-
-
-
Field Detail
-
DEFAULT_NUM_WAVES
public static final int DEFAULT_NUM_WAVES
Default number of wave lengths for a simple shape. This number is used to compute a default wave length.- See Also:
- Constant Field Values
-
DEFAULT_NUM_INTERVALS
public static final int DEFAULT_NUM_INTERVALS
Default number of intervals used to draw the arcs.- See Also:
- Constant Field Values
-
positions
protected java.lang.Iterable<? extends Position> positions
Original positions specified by the application.
-
computedPositions
protected java.util.List<Position> computedPositions
Positions computed from the original positions. This list includes the positions necessary to draw the triangle wave.
-
waveLength
protected double waveLength
Indicates wave length (in meters) of the semicircle wave along the graphic boundary.
-
intervals
protected int intervals
Number of intervals used to draw the arcs along the line.
-
-
Method Detail
-
getSupportedGraphics
public static java.util.List<java.lang.String> getSupportedGraphics()
Indicates the graphics supported by this class.- Returns:
- List of masked SIDC strings that identify graphics that this class supports.
-
setPositions
public void setPositions(java.lang.Iterable<? extends Position> positions)
Specifies the positions of the control points that place and orient the graphic.- Specified by:
setPositions
in interfaceTacticalGraphic
- Overrides:
setPositions
in classPhaseLine
- Parameters:
positions
- Positions that orient the graphic. How many positions are returned depends on the type of graphic. Some graphics require only a single position, others require many. The positions must be specified in the same order as the control points defined by the symbology set's template for this type of graphic.
-
getPositions
public java.lang.Iterable<? extends Position> getPositions()
Indicates the positions of the control points that place and orient the graphic.- Specified by:
getPositions
in interfaceTacticalGraphic
- Overrides:
getPositions
in classPhaseLine
- Returns:
- positions that orient the graphic. How many positions are returned depends on the type of graphic. Some graphics require only a single position, others require many.
-
getWaveLength
public double getWaveLength()
Indicates the wavelength of the semicircle wave that forms the graphic's boundary. This is the length from the start of one "tooth" to the start of the next. If not wave length is specified a default wave length will be computed./\/\/\/\/\ ^ ^ Wavelength
- Returns:
- The wave length, in meters.
-
setWaveLength
public void setWaveLength(int waveLength)
Specifies the wavelength of the triangle wave that forms the graphic's boundary. SeegetWaveLength()
for more information on how this distance is interpreted.- Parameters:
waveLength
- The wavelength, in meters.
-
getIntervals
public int getIntervals()
Indicates the number of intervals used to draw the arc in this graphic.- Returns:
- Intervals used to draw arc.
-
setIntervals
public void setIntervals(int intervals)
Specifies the number of intervals used to draw the arc in this graphic. More intervals will result in a smoother looking arc.- Parameters:
intervals
- Number of intervals for drawing the arc.
-
moveTo
public void moveTo(Position position)
Move the shape over the globe's surface while maintaining its original azimuth, its orientation relative to North.- Specified by:
moveTo
in interfaceMovable
- Overrides:
moveTo
in classAbstractTacticalGraphic
- Parameters:
position
- the new position of the shape's reference position.
-
computeGeometry
protected void computeGeometry(DrawContext dc)
- Overrides:
computeGeometry
in classAbstractTacticalGraphic
-
onShapeChanged
protected void onShapeChanged()
-
generateIntermediatePositions
protected void generateIntermediatePositions(DrawContext dc, java.lang.Iterable<? extends Position> positions)
Generate the positions required to draw the polygon with a triangle wave boundary.- Parameters:
dc
- Current draw context.positions
- Positions that define the polygon boundary.
-
generateWavePositions
protected java.util.List<Position> generateWavePositions(java.util.Iterator<? extends Position> iterator, double radius, boolean reverse)
-
computeDefaultWavelength
protected double computeDefaultWavelength(java.lang.Iterable<? extends Position> positions, Globe globe)
-
computeGreatCirclePathLength
protected Angle computeGreatCirclePathLength(java.lang.Iterable<? extends Position> positions)
-
getGraphicLabel
protected java.lang.String getGraphicLabel()
- Overrides:
getGraphicLabel
in classPhaseLine
-
-