public class InfiltrationLane extends AbstractMilStd2525TacticalGraphic
Modifier and Type | Field and Description |
---|---|
protected double |
curvature
Factor that controls the curve of the line.
|
static double |
DEFAULT_CURVATURE
Default factor that determines the curvature of the line.
|
static int |
DEFAULT_NUM_INTERVALS
Default number of intervals used to draw the curve.
|
protected int |
intervals
Number of intervals used to draw the curve.
|
protected static int |
NUM_CONTROL_POINTS
Number of control points that define the curve.
|
protected Path[] |
paths
Path used to render the line.
|
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 |
---|
InfiltrationLane(java.lang.String sidc)
Create a new arrow 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 Vec4 |
bezierNearestPointToSegment(Vec4 p0,
Vec4 p1,
Vec4[] controlPoints,
int[] coefficients,
double tolerance)
Determine the point along a Bezier curve that is closest to a line segment.
|
protected Vec4[] |
computeBezierControlPoints(DrawContext dc,
Vec4 start,
Vec4 end,
int numControlPoints,
double curvature)
Compute the position of control points that will generate a Bezier curve that looks like the Infiltration Lane
graphic in MIL-STD-2525C (pg.
|
protected void |
createLabels()
Create labels for the start and end of the path.
|
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 |
determineLabelPositions(DrawContext dc)
Determine positions for the start and end labels.
|
protected void |
doRenderGraphic(DrawContext dc)
Render this graphic, without modifiers.
|
double |
getCurvature()
Indicates a factor that determines the curvature of the line.
|
int |
getIntervals()
Indicates the number of intervals used to draw the curve in this graphic.
|
protected int |
getNumControlPoints()
Indicates the number of control points that define the curve.
|
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 |
setCurvature(double factor)
Specifies a factor that determines the curvature of the line.
|
void |
setIntervals(int intervals)
Specifies the number of intervals used to draw the curve in this graphic.
|
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, 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, 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 double curvature
public static final double DEFAULT_CURVATURE
public static final int DEFAULT_NUM_INTERVALS
protected int intervals
protected static final int NUM_CONTROL_POINTS
protected Path[] paths
protected Position position1
protected Position position2
protected Position position3
public InfiltrationLane(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 Vec4 bezierNearestPointToSegment(Vec4 p0, Vec4 p1, Vec4[] controlPoints, int[] coefficients, double tolerance)
p0
- First line segment point.p1
- Second line segment point.controlPoints
- Control points for Bezier curve.coefficients
- Binomial coefficients for computing curve.tolerance
- Numerical tolerance. Smaller values will yield a more accurate answer, but will take more
iterations to compute.protected Vec4[] computeBezierControlPoints(DrawContext dc, Vec4 start, Vec4 end, int numControlPoints, double curvature)
dc
- Current draw context.start
- Beginning of the infiltration lane control line.end
- End of the infiltration lane control line.numControlPoints
- Number of control points to generate. More control points result in more "wiggles" in the
line.curvature
- Factor that controls the curvature of the line. Valid values are between zero and one. A
higher value results in a more pronounced curve.start
, and the last point
is equal to end
.protected void createLabels()
createLabels
in class AbstractTacticalGraphic
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 determineLabelPositions(DrawContext dc)
determineLabelPositions
in class AbstractTacticalGraphic
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 double getCurvature()
public int getIntervals()
protected int getNumControlPoints()
public java.lang.Iterable<? extends Position> getPositions()
public Position getReferencePosition()
public static java.util.List<java.lang.String> getSupportedGraphics()
protected void onShapeChanged()
public void setCurvature(double factor)
factor
- The factor that determines the curvature of the line.public void setIntervals(int intervals)
intervals
- Number of intervals for drawing the curve.public void setPositions(java.lang.Iterable<? extends Position> positions)
positions
- Control points that orient the graphic. Must provide at least three points.