Class DirectionOfAttack
- 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.DirectionOfAttack
-
- All Implemented Interfaces:
AVList
,Draggable
,Movable
,Highlightable
,Renderable
,MilStd2525TacticalGraphic
,TacticalGraphic
- Direct Known Subclasses:
DirectionOfAttackAviation
,DirectionOfAttackForFeint
public class DirectionOfAttack extends AbstractMilStd2525TacticalGraphic
Direction of Attack graphics. This class implements the following graphics:- Direction of Main Attack graphic (2.X.2.5.2.2.2.1)
- Direction of Supporting Attack graphic (2.X.2.5.2.2.2.2)
-
-
Field Summary
Fields Modifier and Type Field Description protected Angle
arrowAngle
Length of the arrowhead from base to tip, as a fraction of the total line length.protected double
arrowLength
Angle of the arrowhead.static Angle
DEFAULT_ARROWHEAD_ANGLE
Default angle of the arrowhead.static double
DEFAULT_ARROWHEAD_LENGTH
Default length of the arrowhead, as a fraction of the total line length.static double
DEFAULT_ARROWHEAD_OUTLINE_WIDTH
Default width of the arrowhead outline.protected Position
endPosition
Second control point.protected double
outlineWidth
Width of the arrowhead outline, as a fraction of the arrowhead length.protected Path[]
paths
Path used to render the line.protected Position
startPosition
First control point.-
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 DirectionOfAttack(java.lang.String sidc)
Create a new arrow graphic.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
applyDelegateOwner(java.lang.Object owner)
Invoked each frame to apply to the current delegate owner to all renderable objects used to draw the graphic.protected java.util.List<Position>
computeArrowheadPositions(DrawContext dc, Vec4 tip, Vec4 dir, double length)
Determine the positions that make up the arrowhead.protected void
computeGeometry(DrawContext dc)
protected Path
createPath(java.util.List<Position> positions)
Create and configure the Path used to render this graphic.protected void
createShapes(DrawContext dc)
Create the list of positions that describe the arrow.protected void
doRenderGraphic(DrawContext dc)
Render this graphic, without modifiers.Angle
getArrowAngle()
Indicates the angle of the arrowhead.double
getArrowLength()
Indicates the length of the arrowhead.double
getOutlineWidth()
Indicates the width of the arrowhead when it is drawn outlined.java.lang.Iterable<? extends Position>
getPositions()
Indicates the positions of the control points that place and orient the graphic.Position
getReferencePosition()
A position associated with the object that indicates its aggregate geographic position.static java.util.List<java.lang.String>
getSupportedGraphics()
Indicates the graphics supported by this class.protected boolean
isDrawOutlined()
Indicates whether or not to draw the arrow head outlined.void
setArrowAngle(Angle arrowAngle)
Specifies the angle of the arrowhead in the graphic.void
setArrowLength(double arrowLength)
Specifies the length of the arrowhead.void
setOutlineWidth(double outlineWidth)
Specifies the width of the the arrowhead when it is drawn outlined.void
setPositions(java.lang.Iterable<? extends Position> positions)
Specifies the positions of the control points that place and orient the graphic.-
Methods inherited from class gov.nasa.worldwind.symbology.milstd2525.AbstractMilStd2525TacticalGraphic
applyDefaultAttributes, createSymbol, getDefaultMaterial, getIdentifier, getModifier, getOutlineStippleFactor, getOutlineStipplePattern, getStatus, getText, mustShowHostileIndicator, setModifier, setStatus
-
Methods inherited from class gov.nasa.worldwind.symbology.AbstractTacticalGraphic
addLabel, applyLabelAttributes, applyOverrideAttributes, computeLabelInteriorOpacity, createLabels, determineActiveAttributes, determineDelegateOwner, determineLabelPositions, determinePerFrameAttributes, doDrag, doRenderGraphicModifiers, doRenderTextModifiers, drag, getActiveDelegateOwner, getActiveOverrideAttributes, getActiveShapeAttributes, getAttributes, getDefaultLabelOffset, getDelegateOwner, getHighlightAttributes, getLabelMaterial, getLabelOffset, getUnitsFormat, isDragEnabled, isHighlighted, isShowGraphicModifiers, isShowHostileIndicator, isShowLocation, isShowTextModifiers, isVisible, move, moveTo, 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_ARROWHEAD_LENGTH
public static final double DEFAULT_ARROWHEAD_LENGTH
Default length of the arrowhead, as a fraction of the total line length.- See Also:
- Constant Field Values
-
DEFAULT_ARROWHEAD_ANGLE
public static final Angle DEFAULT_ARROWHEAD_ANGLE
Default angle of the arrowhead.
-
DEFAULT_ARROWHEAD_OUTLINE_WIDTH
public static final double DEFAULT_ARROWHEAD_OUTLINE_WIDTH
Default width of the arrowhead outline.- See Also:
- Constant Field Values
-
arrowAngle
protected Angle arrowAngle
Length of the arrowhead from base to tip, as a fraction of the total line length.
-
arrowLength
protected double arrowLength
Angle of the arrowhead.
-
outlineWidth
protected double outlineWidth
Width of the arrowhead outline, as a fraction of the arrowhead length.
-
startPosition
protected Position startPosition
First control point.
-
endPosition
protected Position endPosition
Second control point.
-
paths
protected Path[] paths
Path used to render 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.
-
getArrowAngle
public Angle getArrowAngle()
Indicates the angle of the arrowhead.- Returns:
- Angle of the arrowhead in the graphic.
-
setArrowAngle
public void setArrowAngle(Angle arrowAngle)
Specifies the angle of the arrowhead in the graphic.- Parameters:
arrowAngle
- The angle of the arrowhead. Must be greater than zero degrees and less than 90 degrees.
-
getArrowLength
public double getArrowLength()
Indicates the length of the arrowhead.- Returns:
- The length of the arrowhead as a fraction of the total line length.
-
setArrowLength
public void setArrowLength(double arrowLength)
Specifies the length of the arrowhead.- Parameters:
arrowLength
- Length of the arrowhead as a fraction of the total line length. If the arrowhead length is 0.25, then the arrowhead length will be one quarter of the total line length.
-
getOutlineWidth
public double getOutlineWidth()
Indicates the width of the arrowhead when it is drawn outlined. Note that the arrowhead is only drawn outlined when the graphic represents a Main Direction of Attack.- Returns:
- Width of the outline as a fraction of the arrowhead length.
-
setOutlineWidth
public void setOutlineWidth(double outlineWidth)
Specifies the width of the the arrowhead when it is drawn outlined. Note that the arrowhead is only drawn outlined when the graphic represents a Main Direction of Attack.- Parameters:
outlineWidth
- Width of the outline as a fraction of the length of the arrowhead.
-
setPositions
public void setPositions(java.lang.Iterable<? extends Position> positions)
Specifies the positions of the control points that place and orient the graphic.- Parameters:
positions
- Control points that orient the graphic. Must provide at least three points.
-
getPositions
public java.lang.Iterable<? extends Position> getPositions()
Indicates the positions of the control points that place and orient the graphic.- 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.
-
getReferencePosition
public Position getReferencePosition()
A position associated with the object that indicates its aggregate geographic position. The chosen position varies among implementers of this interface. For objects defined by a list of positions, the reference position is typically the first position in the list. For symmetric objects the reference position is often the center of the object. In many cases the object's reference position may be explicitly specified by the application.- Returns:
- the object's reference position, or null if no reference position is available.
-
doRenderGraphic
protected void doRenderGraphic(DrawContext dc)
Render this graphic, without modifiers.- Specified by:
doRenderGraphic
in classAbstractTacticalGraphic
- Parameters:
dc
- Current draw context.- See Also:
AbstractTacticalGraphic.doRenderTextModifiers(gov.nasa.worldwind.render.DrawContext)
,AbstractTacticalGraphic.doRenderGraphicModifiers(gov.nasa.worldwind.render.DrawContext)
-
computeGeometry
protected void computeGeometry(DrawContext dc)
- Overrides:
computeGeometry
in classAbstractTacticalGraphic
-
applyDelegateOwner
protected void applyDelegateOwner(java.lang.Object owner)
Invoked each frame to apply to the current delegate owner to all renderable objects used to draw the graphic. This base class will apply the delegate owner to Label objects. Subclasses must implement this method to apply the delegate owner to any Renderables that they will draw in order to render the graphic.- Specified by:
applyDelegateOwner
in classAbstractTacticalGraphic
- Parameters:
owner
- Current delegate owner.
-
isDrawOutlined
protected boolean isDrawOutlined()
Indicates whether or not to draw the arrow head outlined.- Returns:
true
if the arrow head should be drawn outlined.
-
createShapes
protected void createShapes(DrawContext dc)
Create the list of positions that describe the arrow.- Parameters:
dc
- Current draw context.
-
computeArrowheadPositions
protected java.util.List<Position> computeArrowheadPositions(DrawContext dc, Vec4 tip, Vec4 dir, double length)
Determine the positions that make up the arrowhead.- Parameters:
dc
- Current draw context.tip
- Point at the tip of the arrow head.dir
- Vector in the direction of the arrow head.length
- Length of the arrowhead from base to tip.- Returns:
- Positions that define the arrowhead.
-
-