Class DirectionOfAttack

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

        protected Position startPosition
        First control point.
      • endPosition

        protected Position endPosition
        Second control point.
      • paths

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

      • DirectionOfAttack

        public DirectionOfAttack​(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.
      • 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.
      • 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​(java.lang.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.
      • getPositions

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

        protected boolean isDrawOutlined()
        Indicates whether or not to draw the arrow head outlined.
        Returns:
        true if the arrow head should be drawn outlined.
      • 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,
                                                                     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.
      • 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.