Class PrincipleDirectionOfFire

    • 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.
      • position1

        protected Position position1
        First control point.
      • position2

        protected Position position2
        Second control point.
      • position3

        protected Position position3
        Third control point.
      • paths

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

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

        protected SurfacePolygon thickLine
        Polygon used to render the "thick" line on the left leg of the graphic.
    • Constructor Detail

      • PrincipleDirectionOfFire

        public PrincipleDirectionOfFire​(java.lang.String sidc)
        Create a new arrow graphic.
        Parameters:
        sidc - Symbol code the identifies the graphic.
    • 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.
      • getSymbol

        public java.lang.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.
      • setSymbol

        public void setSymbol​(java.lang.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.
      • setPositions

        public void setPositions​(java.lang.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 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.
        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.
      • 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.
      • setModifier

        public void setModifier​(java.lang.String modifier,
                                java.lang.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.
      • getModifier

        public java.lang.Object getModifier​(java.lang.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.
      • 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.
        Overrides:
        doRenderGraphicModifiers in class AbstractTacticalGraphic
        Parameters:
        dc - Current draw context.
      • 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 class AbstractTacticalGraphic
        Parameters:
        owner - Current delegate owner.
      • 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,
                                                                     Position startPosition,
                                                                     Position endPosition)
        Determine the positions that make up the arrowhead.
        Parameters:
        dc - Current draw context.
        startPosition - Position of the arrow's base.
        endPosition - Position of the arrow head tip.
        Returns:
        Positions that define the arrowhead.
      • applyDefaultAttributes

        protected void applyDefaultAttributes​(ShapeAttributes attributes)
        Apply defaults to the active attributes bundle. The default attributes are determined by the type of graphic. This method is called each frame to reset the active shape attributes to the appropriate default state. Override attributes specified by the application may be applied after the defaults have been set.
        Overrides:
        applyDefaultAttributes in class AbstractMilStd2525TacticalGraphic
        Parameters:
        attributes - Attributes bundle to receive defaults.
      • createPath

        protected Path createPath​(java.util.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.
      • createPolygon

        protected SurfacePolygon createPolygon​(java.util.List<? extends LatLon> positions)