Class GlobeAnnotation

    • Field Detail

      • dragEnabled

        protected boolean dragEnabled
      • heightInMeter

        protected double heightInMeter
      • altitudeMode

        protected java.lang.Integer altitudeMode
    • Constructor Detail

      • GlobeAnnotation

        public GlobeAnnotation​(java.lang.String text,
                               Position position)
        Creates a GlobeAnnotation with the given text, at the given globe Position.
        Parameters:
        text - the annotation text.
        position - the annotation Position.
      • GlobeAnnotation

        public GlobeAnnotation​(java.lang.String text,
                               Position position,
                               java.awt.Font font)
        Creates a GlobeAnnotation with the given text, at the given globe Position. Specify the Font to be used.
        Parameters:
        text - the annotation text.
        position - the annotation Position.
        font - the Font to use.
      • GlobeAnnotation

        public GlobeAnnotation​(java.lang.String text,
                               Position position,
                               java.awt.Font font,
                               java.awt.Color textColor)
        Creates a GlobeAnnotation with the given text, at the given globe Position. Specify the Font and text Color to be used.
        Parameters:
        text - the annotation text.
        position - the annotation Position.
        font - the Font to use.
        textColor - the text Color.
      • GlobeAnnotation

        public GlobeAnnotation​(java.lang.String text,
                               Position position,
                               AnnotationAttributes defaults)
        Creates a GlobeAnnotation with the given text, at the given globe Position. Specify the default AnnotationAttributes set.
        Parameters:
        text - the annotation text.
        position - the annotation Position.
        defaults - the default AnnotationAttributes set.
    • Method Detail

      • setPosition

        public void setPosition​(Position position)
      • getAltitudeMode

        public java.lang.Integer getAltitudeMode()
        Get the annotation's altitude mode. The altitude mode may be null, indicating that the legacy altitude mode described below will be used.

        Legacy altitude mode
        If the annotation Position elevation is lower then the highest elevation on the globe, the annotation will be drawn above the ground using its elevation as an offset, scaled by the current vertical exaggeration. Otherwise, the original elevation will be used. This functionality is supported for backward compatibility. New code that uses Globe Annotation should specify an altitude mode.

        Returns:
        The altitude mode, one of WorldWind.CLAMP_TO_GROUND, WorldWind.RELATIVE_TO_GROUND, WorldWind.ABSOLUTE, or null.
        See Also:
        setAltitudeMode(Integer)
      • getHeightInMeter

        public double getHeightInMeter()
        Returns the real world height of the annotation frame in meter. If this dimension is greater then zero, the annotation will be scaled so as to maintain this fixed dimension, which makes it appear as part of the surrounding terrain. This overrides min and max distance scaling - however min distance opacity is still accounted for.

        If this dimension is zero, the annotation always maintains the same apparent size with possible scaling relative to the viewport center point if min and max distance scale factors are not one.

        Returns:
        the real world height of the annotation frame in meter.
      • setHeightInMeter

        public void setHeightInMeter​(double meters)
        Set the real world height of the annotation frame in meter. If this dimension is greater then zero, the annotation will be scaled so as to maintain this fixed dimension, which makes it appear as part of the surrounding terrain. This overrides min and max distance scaling - however min distance opacity is still accounted for.

        If this dimension is zero, the annotation always maintains the same apparent size with possible scaling relative to the viewport center point if min and max distance scale factors are not one.

        Parameters:
        meters - the real world height of the annotation frame in meter.
      • move

        public void move​(Position position)
        Description copied from interface: Movable
        Shift the shape over the globe's surface while maintaining its original azimuth, its orientation relative to North.
        Specified by:
        move in interface Movable
        Parameters:
        position - the latitude and longitude to add to the shape's reference position.
      • moveTo

        public void moveTo​(Position position)
        Description copied from interface: Movable
        Move the shape over the globe's surface while maintaining its original azimuth, its orientation relative to North.
        Specified by:
        moveTo in interface Movable
        Parameters:
        position - the new position of the shape's reference position.
      • isDragEnabled

        public boolean isDragEnabled()
        Description copied from interface: Draggable
        Indicates whether the object is enabled for dragging.
        Specified by:
        isDragEnabled in interface Draggable
        Returns:
        true if the object is enabled, else false.
      • setDragEnabled

        public void setDragEnabled​(boolean enabled)
        Description copied from interface: Draggable
        Controls whether the object is enabled for dragging.
        Specified by:
        setDragEnabled in interface Draggable
        Parameters:
        enabled - true if the object is enabled, else false.
      • doDrag

        protected void doDrag​(DragContext dragContext)
      • getReferencePosition

        public Position getReferencePosition()
        Description copied from interface: Movable
        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.
      • computeDistanceScaleAndOpacity

        protected double[] computeDistanceScaleAndOpacity​(DrawContext dc,
                                                          Vec4 point,
                                                          java.awt.Dimension size)
      • computeLookAtDistance

        protected java.lang.Double computeLookAtDistance​(DrawContext dc)
      • setDepthFunc

        protected void setDepthFunc​(DrawContext dc,
                                    Vec4 screenPoint)
      • getAnnotationDrawPoint

        public Vec4 getAnnotationDrawPoint​(DrawContext dc)
        Get the final Vec4 point at which an annotation will be drawn. The altitude mode will be used to determine the annotation point, if an altitude mode has been set. If the altitude mode is null, then the legacy altitude mode described in getAltitudeMode() will be used to determine the point.
        Parameters:
        dc - the current DrawContext.
        Returns:
        the annotation draw Cartesian point
        See Also:
        getAltitudeMode()
      • getAnnotationDrawPointLegacy

        protected Vec4 getAnnotationDrawPointLegacy​(DrawContext dc)
        Compute the draw point using the legacy altitude mode. See getAltitudeMode() for details on the legacy mode.
        Parameters:
        dc - the current DrawContext.
        Returns:
        the annotation draw Cartesian point
        See Also:
        getAltitudeMode()
      • getRestorableState

        public java.lang.String getRestorableState()
        Returns an XML state document String describing the public attributes of this GlobeAnnotation.
        Specified by:
        getRestorableState in interface Restorable
        Overrides:
        getRestorableState in class AbstractAnnotation
        Returns:
        XML state document string describing this GlobeAnnotation.
      • restoreState

        public void restoreState​(java.lang.String stateInXml)
        Restores publicly settable attribute values found in the specified XML state document String. The document specified by stateInXml must be a well formed XML document String, or this will throw an IllegalArgumentException. Unknown structures in stateInXml are benign, because they will simply be ignored.
        Specified by:
        restoreState in interface Restorable
        Overrides:
        restoreState in class AbstractAnnotation
        Parameters:
        stateInXml - an XML document String describing a GlobeAnnotation.
        Throws:
        java.lang.IllegalArgumentException - If stateInXml is null, or if stateInXml is not a well formed XML document String.