NASA World Wind

gov.nasa.worldwind.symbology.milstd2525.graphics.areas
Class CircularRangeFan

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.areas.CircularRangeFan
All Implemented Interfaces:
AVList, Movable, Highlightable, PreRenderable, Renderable, MilStd2525TacticalGraphic, TacticalGraphic

public class CircularRangeFan
extends AbstractMilStd2525TacticalGraphic
implements PreRenderable

Implementation of the Circular Weapon/Sensor Range Fan graphic (2.X.4.3.4.1).


Field Summary
protected static Offset LABEL_OFFSET
           
protected  Position position
          Position of the center of the range fan.
protected  List<SurfaceCircle> rings
          Rings that make up the range fan.
protected  TacticalSymbol symbol
          Symbol drawn at the center of the range fan.
protected  TacticalSymbolAttributes symbolAttributes
          Attributes applied to the symbol.
 
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
CircularRangeFan(String sidc)
          Create the range fan.
 
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  SurfaceCircle createCircle()
          Create a circle for a range ring.
protected  void createLabels()
          Create labels for the start and end of the path.
protected  void determineActiveAttributes()
          Determine active attributes for this frame.
protected  void determineLabelPositions(DrawContext dc)
          Determine positions for the start and end labels.
protected  void doRenderGraphic(DrawContext dc)
          Render the polygon.
protected  void doRenderGraphicModifiers(DrawContext dc)
          Render the graphic modifiers.
 Object getModifier(String modifier)
          Indicates the current value of a text or graphic modifier.
 Position getPosition()
          Indicates the center position of the range ran.
 Iterable<? extends Position> getPositions()
          Indicates the positions of the control points that place and orient the graphic.
 List<Double> getRadii()
          Indicates the radii of the rings that make up the range fan.
 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.
 String getSymbol()
          Indicates a symbol drawn at the center of the range fan.
 void preRender(DrawContext dc)
          
 void setModifier(String modifier, Object value)
          Specifies the value of a text or graphic modifier.
 void setPosition(Position position)
          Specifies the center position of the range ran.
 void setPositions(Iterable<? extends Position> positions)
          Specifies the positions of the control points that place and orient the graphic.
 void setRadii(Iterable<Double> radii)
          Specifies the radii of the rings that make up the range fan.
 void setSymbol(String sidc)
          Specifies a symbol to draw at the center of the range fan.
 
Methods inherited from class gov.nasa.worldwind.symbology.milstd2525.AbstractMilStd2525TacticalGraphic
applyDefaultAttributes, createSymbol, getDefaultMaterial, getIdentifier, getOutlineStippleFactor, getOutlineStipplePattern, getStatus, getText, mustShowHostileIndicator, setStatus
 
Methods inherited from class gov.nasa.worldwind.symbology.AbstractTacticalGraphic
addLabel, applyLabelAttributes, applyOverrideAttributes, computeGeometry, computeLabelInteriorOpacity, determineDelegateOwner, determinePerFrameAttributes, 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

LABEL_OFFSET

protected static final Offset LABEL_OFFSET

position

protected Position position
Position of the center of the range fan.


rings

protected List<SurfaceCircle> rings
Rings that make up the range fan.


symbol

protected TacticalSymbol symbol
Symbol drawn at the center of the range fan.


symbolAttributes

protected TacticalSymbolAttributes symbolAttributes
Attributes applied to the symbol.

Constructor Detail

CircularRangeFan

public CircularRangeFan(String sidc)
Create the range fan.

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.

createCircle

protected SurfaceCircle createCircle()
Create a circle for a range ring.

Returns:
New circle.

createLabels

protected void createLabels()
Create labels for the start and end of the path.

Overrides:
createLabels in class AbstractTacticalGraphic

determineActiveAttributes

protected void determineActiveAttributes()
Determine active attributes for this frame. Overridden to update symbol attributes.

Overrides:
determineActiveAttributes in class AbstractTacticalGraphic

determineLabelPositions

protected void determineLabelPositions(DrawContext dc)
Determine positions for the start and end labels.

Overrides:
determineLabelPositions in class AbstractTacticalGraphic
Parameters:
dc - Current draw context.

doRenderGraphic

protected void doRenderGraphic(DrawContext dc)
Render the polygon.

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)

doRenderGraphicModifiers

protected void doRenderGraphicModifiers(DrawContext dc)
Render the graphic modifiers. This base class does not render anything, but subclasses may override this method to draw graphic modifiers. Overridden to render symbol at the center of the range fan.

Overrides:
doRenderGraphicModifiers in class AbstractTacticalGraphic
Parameters:
dc - Current draw context.

getModifier

public Object getModifier(String modifier)
Indicates the current value of a text or graphic modifier.

Specified by:
getModifier in interface TacticalGraphic
Overrides:
getModifier in class AbstractMilStd2525TacticalGraphic
Parameters:
modifier - Key that identifies the modifier to retrieve. The possible modifiers depends on the symbol set.
Returns:
The value of the modifier, or null if the modifier is not set.

getPosition

public Position getPosition()
Indicates the center position of the range ran.

Returns:
The range fan center position.

getPositions

public Iterable<? extends Position> getPositions()
Indicates the positions of the control points that place and orient the graphic.

Specified by:
getPositions in interface TacticalGraphic
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.

getRadii

public List<Double> getRadii()
Indicates the radii of the rings that make up the range fan.

Returns:
List of radii, in meters. If there are no rings this returns an empty list.

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.

Specified by:
getReferencePosition in interface Movable
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.

getSymbol

public String getSymbol()
Indicates a symbol drawn at the center of the range fan.

Returns:
The symbol drawn at the center of the range fan. May be null.

preRender

public void preRender(DrawContext dc)

Specified by:
preRender in interface PreRenderable

setModifier

public void setModifier(String modifier,
                        Object value)
Specifies the value of a text or graphic modifier.

Specified by:
setModifier in interface TacticalGraphic
Overrides:
setModifier in class AbstractMilStd2525TacticalGraphic
Parameters:
modifier - Key that identifies the modifier to set. The possible modifiers depends on the symbol set.
value - New value for the modifier.

setPosition

public void setPosition(Position position)
Specifies the center position of the range ran.

Parameters:
position - The new center position.

setPositions

public void setPositions(Iterable<? extends Position> positions)
Specifies the positions of the control points that place and orient the graphic.

Specified by:
setPositions in interface TacticalGraphic
Parameters:
positions - Control points. This graphic uses only one control point, which determines the center of the circle.

setRadii

public void setRadii(Iterable<Double> radii)
Specifies the radii of the rings that make up the range fan.

Parameters:
radii - List of radii, in meters. A circle will be created for each radius.

setSymbol

public void setSymbol(String sidc)
Specifies a symbol to draw at the center of the range fan. Equivalent to setting the SymbologyConstants.SYMBOL_INDICATOR modifier. The symbol's position will be changed to match the range fan center position.

Parameters:
sidc - Identifier for a MIL-STD-2525C symbol to draw at the center of the range fan. May be null to indicate that no symbol is drawn.

NASA World Wind