public class Ambush extends AbstractMilStd2525TacticalGraphic
Modifier and Type | Class and Description |
---|---|
protected static class |
Ambush.ArcData
Data required for intermediate calculations while generating the Ambush graphic.
|
Modifier and Type | Field and Description |
---|---|
protected Angle |
arcAngle
The arc is drawn as a segment of a circle intersected by this angle.
|
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_ARC_ANGLE
Default angle of the arc.
|
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_LEG_LENGTH
Default length of the legs of the graphic's base, as a fraction of the distance between the control points the
define the base.
|
static int |
DEFAULT_NUM_INTERVALS
Default number of intervals used to draw the arc.
|
static int |
DEFAULT_NUM_LEGS
Default number of legs to draw on the graphic's arc.
|
protected int |
intervals
Number of intervals used to draw the arc.
|
protected double |
legLength
Length of the legs on the graphic's base, as a fraction of the distance between the control points that define
the base.
|
protected int |
numLegs
Number of "legs" drawn on this graphic's arc.
|
protected Path[] |
paths
Path used to render the graphic.
|
protected Position |
position1
First control point.
|
protected Position |
position2
Second control point.
|
protected Position |
position3
Third control point.
|
maskedSymbolCode, OUTLINE_STIPPLE_FACTOR_ANTICIPATED, OUTLINE_STIPPLE_FACTOR_PRESENT, OUTLINE_STIPPLE_PATTERN, symbolCode
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 and Description |
---|
Ambush(java.lang.String sidc)
Create a new graphic.
|
Modifier and Type | Method and 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 Ambush.ArcData |
computeArc(DrawContext dc)
Compute the arc.
|
protected java.util.List<Position> |
computeArcPositions(DrawContext dc,
Ambush.ArcData arcData)
Compute positions required to draw the arc.
|
protected java.util.List<Position> |
computeArrowheadPositions(DrawContext dc,
Position tip,
Ambush.ArcData arcData)
Determine the positions that make up the arrowhead.
|
protected void |
createLegs(DrawContext dc,
Ambush.ArcData arcData,
Path[] paths,
int startIndex,
int pathCount)
Create paths for the graphic's "legs".
|
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 paths required to draw the graphic.
|
protected void |
doRenderGraphic(DrawContext dc)
Render this graphic, without modifiers.
|
Angle |
getArcAngle()
Indicates the angle of this graphic's arc.
|
Angle |
getArrowAngle()
Indicates the angle of the arrowhead.
|
double |
getArrowLength()
Indicates the length of the arrowhead.
|
int |
getIntervals()
Indicates the number of intervals used to draw the arc in this graphic.
|
double |
getLegLength()
Indicates the length of legs on the graphic's base.
|
int |
getLegs()
Indicates how many "legs" stick out of the back side of this graphic's arc.
|
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 void |
onShapeChanged() |
void |
setArcAngle(Angle arcAngle)
Specifies the angle of this graphic's arc.
|
void |
setArrowAngle(Angle arrowAngle)
Specifies the angle of the arrowhead in the graphic.
|
void |
setArrowLength(double arrowLength)
Specifies the length of the arrowhead.
|
void |
setIntervals(int intervals)
Specifies the number of intervals used to draw the arc in this graphic.
|
void |
setLegLength(double legLength)
Specifies the length of the legs on the graphic's base.
|
void |
setLegs(int numLegs)
Specifies how many "legs" stick out of the back side of this graphic's arc.
|
void |
setPositions(java.lang.Iterable<? extends Position> positions)
Specifies the positions of the control points that place and orient the graphic.
|
applyDefaultAttributes, createSymbol, getDefaultMaterial, getIdentifier, getModifier, getOutlineStippleFactor, getOutlineStipplePattern, getStatus, getText, mustShowHostileIndicator, setModifier, setStatus
addLabel, applyLabelAttributes, applyOverrideAttributes, computeGeometry, 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
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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getAttributes, getDelegateOwner, getHighlightAttributes, getLabelOffset, getUnitsFormat, isShowGraphicModifiers, isShowHostileIndicator, isShowLocation, isShowTextModifiers, isVisible, setAttributes, setDelegateOwner, setHighlightAttributes, setLabelOffset, setShowGraphicModifiers, setShowHostileIndicator, setShowLocation, setShowTextModifiers, setText, setUnitsFormat, setVisible
render
isHighlighted, setHighlighted
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getEntries, getStringValue, getValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValue, setValues
protected Angle arcAngle
protected Angle arrowAngle
protected double arrowLength
public static final Angle DEFAULT_ARC_ANGLE
public static final Angle DEFAULT_ARROWHEAD_ANGLE
public static final double DEFAULT_ARROWHEAD_LENGTH
public static final double DEFAULT_LEG_LENGTH
public static final int DEFAULT_NUM_INTERVALS
public static final int DEFAULT_NUM_LEGS
protected int intervals
protected double legLength
protected int numLegs
protected Path[] paths
protected Position position1
protected Position position2
protected Position position3
public Ambush(java.lang.String sidc)
sidc
- Symbol code the identifies the graphic.protected void applyDelegateOwner(java.lang.Object owner)
applyDelegateOwner
in class AbstractTacticalGraphic
owner
- Current delegate owner.protected Ambush.ArcData computeArc(DrawContext dc)
dc
- Current draw context.protected java.util.List<Position> computeArcPositions(DrawContext dc, Ambush.ArcData arcData)
dc
- Current draw context.arcData
- Data that describes the arc.protected java.util.List<Position> computeArrowheadPositions(DrawContext dc, Position tip, Ambush.ArcData arcData)
dc
- Current draw context.tip
- Position of the arrow head tip.arcData
- Data that describes the arc of this graphic.protected void createLegs(DrawContext dc, Ambush.ArcData arcData, Path[] paths, int startIndex, int pathCount)
dc
- Current draw context.arcData
- Data that describes the graphic's arc.paths
- Array to receive the new paths.startIndex
- Index into paths
at which to place the first leg path.pathCount
- Number of leg paths to create. The paths
array must have length of at least startIndex + pathCount
.protected Path createPath(java.util.List<Position> positions)
positions
- Positions that define the path.protected void createShapes(DrawContext dc)
dc
- Current draw context.protected void doRenderGraphic(DrawContext dc)
doRenderGraphic
in class AbstractTacticalGraphic
dc
- Current draw context.AbstractTacticalGraphic.doRenderTextModifiers(gov.nasa.worldwind.render.DrawContext)
,
AbstractTacticalGraphic.doRenderGraphicModifiers(gov.nasa.worldwind.render.DrawContext)
public Angle getArcAngle()
public Angle getArrowAngle()
public double getArrowLength()
public int getIntervals()
public double getLegLength()
public int getLegs()
public java.lang.Iterable<? extends Position> getPositions()
public Position getReferencePosition()
public static java.util.List<java.lang.String> getSupportedGraphics()
protected void onShapeChanged()
public void setArcAngle(Angle arcAngle)
arcAngle
- Angle of the circular segment that forms this graphic's arc.public void setArrowAngle(Angle arrowAngle)
arrowAngle
- The angle of the arrowhead. Must be greater than zero degrees and less than 90 degrees.public void setArrowLength(double arrowLength)
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.public void setIntervals(int intervals)
intervals
- Number of intervals for drawing the arc.public void setLegLength(double legLength)
legLength
- Length of the legs on the graphic's base, as a fraction of the distance between the control
points that define the base.public void setLegs(int numLegs)
numLegs
- Number of legs to draw on the arc of this graphic.public void setPositions(java.lang.Iterable<? extends Position> positions)
positions
- Control points that orient the graphic. Must provide at least three points.