NASA World Wind

gov.nasa.worldwind.symbology.milstd2525.graphics.lines
Class DirectionOfAttack

java.lang.Object
  extended by gov.nasa.worldwind.avlist.AVListImpl
      extended by gov.nasa.worldwind.symbology.AbstractTacticalGraphic
          extended by gov.nasa.worldwind.symbology.milstd2525.AbstractMilStd2525TacticalGraphic
              extended by gov.nasa.worldwind.symbology.milstd2525.graphics.lines.DirectionOfAttack
All Implemented Interfaces:
AVList, 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:


Field Summary
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, frameTimestamp, highlightAttributes, highlighted, labelOffset, labels, modifiers, mustCreateLabels, normalAttributes, showGraphicModifiers, showHostileIndicator, showLocation, showTextModifiers, text, unitsFormat, visible
 
Constructor Summary
DirectionOfAttack(String sidc)
          Create a new arrow graphic.
 
Method Summary
protected  void applyDelegateOwner(Object owner)
          Invoked each frame to apply to the current delegate owner to all renderable objects used to draw the graphic.
protected  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(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.
 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 List<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(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, doRenderGraphicModifiers, doRenderTextModifiers, getActiveDelegateOwner, getActiveOverrideAttributes, getActiveShapeAttributes, getAttributes, getDefaultLabelOffset, getDelegateOwner, getHighlightAttributes, getLabelMaterial, getLabelOffset, getUnitsFormat, isHighlighted, isShowGraphicModifiers, isShowHostileIndicator, isShowLocation, isShowTextModifiers, isVisible, move, moveTo, onModifierChanged, render, setAttributes, setDelegateOwner, 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, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
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
 
Methods inherited from interface gov.nasa.worldwind.render.Renderable
render
 
Methods inherited from interface gov.nasa.worldwind.render.Highlightable
isHighlighted, setHighlighted
 
Methods inherited from interface gov.nasa.worldwind.Movable
move, moveTo
 
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
 

Field Detail

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.


DEFAULT_ARROWHEAD_ANGLE

public static final Angle DEFAULT_ARROWHEAD_ANGLE
Default angle of the arrowhead.


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_OUTLINE_WIDTH

public static final double DEFAULT_ARROWHEAD_OUTLINE_WIDTH
Default width of the arrowhead outline.

See Also:
Constant Field Values

endPosition

protected Position endPosition
Second control point.


outlineWidth

protected double outlineWidth
Width of the arrowhead outline, as a fraction of the arrowhead length.


paths

protected Path[] paths
Path used to render the line.


startPosition

protected Position startPosition
First control point.

Constructor Detail

DirectionOfAttack

public DirectionOfAttack(String sidc)
Create a new arrow graphic.

Parameters:
sidc - Symbol code the identifies the graphic.
Method Detail

applyDelegateOwner

protected void applyDelegateOwner(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 class AbstractTacticalGraphic
Parameters:
owner - Current delegate owner.

computeArrowheadPositions

protected 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.

computeGeometry

protected void computeGeometry(DrawContext dc)
Overrides:
computeGeometry in class AbstractTacticalGraphic

createPath

protected Path createPath(List<Position> positions)
Create and configure the Path used to render this graphic.

Parameters:
positions - Positions that define the path.
Returns:
New path configured with defaults appropriate for this type of graphic.

createShapes

protected void createShapes(DrawContext dc)
Create the list of positions that describe the arrow.

Parameters:
dc - Current draw context.

doRenderGraphic

protected void doRenderGraphic(DrawContext dc)
Render this graphic, without modifiers.

Specified by:
doRenderGraphic in class AbstractTacticalGraphic
Parameters:
dc - Current draw context.
See Also:
AbstractTacticalGraphic.doRenderTextModifiers(gov.nasa.worldwind.render.DrawContext), AbstractTacticalGraphic.doRenderGraphicModifiers(gov.nasa.worldwind.render.DrawContext)

getArrowAngle

public Angle getArrowAngle()
Indicates the angle of the arrowhead.

Returns:
Angle of the arrowhead in the graphic.

getArrowLength

public double getArrowLength()
Indicates the length of the arrowhead.

Returns:
The length of the arrowhead as a fraction 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.

getPositions

public 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.

getSupportedGraphics

public static List<String> getSupportedGraphics()
Indicates the graphics supported by this class.

Returns:
List of masked SIDC strings that identify graphics that this class supports.

isDrawOutlined

protected boolean isDrawOutlined()
Indicates whether or not to draw the arrow head outlined.

Returns:
true if the arrow head should be drawn outlined.

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.

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.

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(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.

NASA World Wind