Class AttackByFirePosition

    • 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_LEG_LENGTH

        public static final 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.
        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.
      • legLength

        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.
      • 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 graphic.
    • Constructor Detail

      • AttackByFirePosition

        public AttackByFirePosition​(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.
      • getLegLength

        public double getLegLength()
        Indicates the length of legs of the graphic's base.
        Returns:
        The length of the legs of the base, as a fraction of the distance between the control points that define the base.
      • setLegLength

        public void setLegLength​(double legLength)
        Specifies the length of the legs of the graphic's base.
        Parameters:
        legLength - Length of the legs of the graphic's base, as a fraction of the distance between the control points that define the base.
      • 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.
      • createShapes

        protected void createShapes​(DrawContext dc)
        Create the paths required to draw the graphic.
        Parameters:
        dc - Current draw context.
      • computeBasePositions

        protected java.util.List<Position> computeBasePositions​(DrawContext dc,
                                                                Position position1,
                                                                Position position2,
                                                                Position orientationPos)
        Determine the positions that make up the base of the graphic (a trapezoid missing one side).
        Parameters:
        dc - Current draw context.
        position1 - The first control point that defines the graphic base.
        position2 - The second control point that defines the graphic base.
        orientationPos - A point on the arrow head side of the graphic. The legs of the base will point away from this position.
        Returns:
        Positions that define the graphic's base.
      • computeArrowheadPositions

        protected java.util.List<Position> computeArrowheadPositions​(DrawContext dc,
                                                                     Position base,
                                                                     Position tip)
        Determine the positions that make up the arrowhead.
        Parameters:
        dc - Current draw context.
        base - Position of the arrow's starting point.
        tip - Position of the arrow head 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.