Class PointGrid

    • Field Detail

      • DEFAULT_HIGHLIGHT_SCALE

        protected static final java.lang.Double DEFAULT_HIGHLIGHT_SCALE
        The scale to use when highlighting if no highlight attributes are specified.
      • DEFAULT_POINT_SIZE

        protected static final java.lang.Double DEFAULT_POINT_SIZE
        The point size to use when none is specified.
      • DEFAULT_POINT_COLOR

        protected static final java.awt.Color DEFAULT_POINT_COLOR
        The color to use when none is specified
      • DEFAULT_HIGHLIGHT_POINT_COLOR

        protected static final java.awt.Color DEFAULT_HIGHLIGHT_POINT_COLOR
        The highlight color to use when none is specified
      • DEFAULT_GEOMETRY_GENERATION_INTERVAL

        protected static final long DEFAULT_GEOMETRY_GENERATION_INTERVAL
        The default geometry regeneration interval, in milliseconds.
        See Also:
        Constant Field Values
      • defaultAttributes

        protected static final PointGrid.Attributes defaultAttributes
        The attributes used if attributes are not specified.
      • corners

        protected java.util.List<Position> corners
      • positions

        protected java.lang.Iterable<? extends Position> positions
      • numPositions

        protected int numPositions
      • highlighted

        protected boolean highlighted
      • highlightOnePosition

        protected boolean highlightOnePosition
      • visible

        protected boolean visible
      • altitudeMode

        protected int altitudeMode
      • applyVerticalExaggeration

        protected boolean applyVerticalExaggeration
      • geometryRegenerationInterval

        protected long geometryRegenerationInterval
      • extent

        protected Extent extent
      • eyeDistance

        protected double eyeDistance
      • currentPoints

        protected java.nio.FloatBuffer currentPoints
      • pickLayer

        protected Layer pickLayer
      • frameID

        protected long frameID
      • previousExaggeration

        protected double previousExaggeration
      • visGeomRegenFrame

        protected long visGeomRegenFrame
    • Constructor Detail

      • PointGrid

        public PointGrid()
      • PointGrid

        public PointGrid​(java.util.List<Position> corners,
                         java.lang.Iterable<? extends Position> positions,
                         java.lang.Integer numPositions)
    • Method Detail

      • getCorners

        public java.util.List<Position> getCorners()
      • setCorners

        public void setCorners​(java.util.List<Position> corners)
      • getNumPositions

        public int getNumPositions()
      • getPositions

        public java.lang.Iterable<? extends Position> getPositions()
      • setPositions

        public void setPositions​(java.lang.Iterable<? extends Position> positions,
                                 java.lang.Integer numPositions)
      • isHighlighted

        public boolean isHighlighted()
        Indicates whether to highlight the shape.
        Specified by:
        isHighlighted in interface Highlightable
        Returns:
        true to highlight the shape, otherwise false.
      • setHighlighted

        public void setHighlighted​(boolean highlighted)
        Specifies whether to highlight the shape.
        Specified by:
        setHighlighted in interface Highlightable
        Parameters:
        highlighted - true to highlight the shape, otherwise false.
      • isHighlightOnePosition

        public boolean isHighlightOnePosition()
      • setHighlightOnePosition

        public void setHighlightOnePosition​(boolean highlightOnePosition)
      • isVisible

        public boolean isVisible()
      • setVisible

        public void setVisible​(boolean visible)
      • getAltitudeMode

        public int getAltitudeMode()
      • setAltitudeMode

        public void setAltitudeMode​(int altitudeMode)
      • isApplyVerticalExaggeration

        public boolean isApplyVerticalExaggeration()
      • setApplyVerticalExaggeration

        public void setApplyVerticalExaggeration​(boolean applyVerticalExaggeration)
      • getGeometryRegenerationInterval

        public long getGeometryRegenerationInterval()
      • setHighlightAttributes

        public void setHighlightAttributes​(PointGrid.Attributes highlightAttrs)
      • mustRegenerateGeometry

        protected boolean mustRegenerateGeometry​(DrawContext dc)
      • determineActiveAttributes

        protected void determineActiveAttributes()
      • determineHighlightColor

        protected java.awt.Color determineHighlightColor()
      • determineHighlightPointSize

        protected java.lang.Double determineHighlightPointSize()
      • getDistanceFromEye

        public double getDistanceFromEye()
        Returns the ordered renderable's distance from the current view's eye point. Intended to be used only to sort a list of ordered renderables according to eye distance, and only during frame generation when a view is active.
        Specified by:
        getDistanceFromEye in interface OrderedRenderable
        Returns:
        the distance of the ordered renderable from the current view's eye point.
      • getExtent

        public Extent getExtent()
      • setExtent

        protected void setExtent​(Extent extent)
      • computeExtentAndEyeDistance

        protected Extent computeExtentAndEyeDistance​(DrawContext dc)
      • pick

        public void pick​(DrawContext dc,
                         java.awt.Point pickPoint)
        Executes a pick of the ordered renderable.
        Specified by:
        pick in interface OrderedRenderable
        Parameters:
        dc - the current draw context.
        pickPoint - the pick point.
      • render

        public void render​(DrawContext dc)
        Causes this Renderable to render itself using the provided draw context.
        Specified by:
        render in interface Renderable
        Parameters:
        dc - the DrawContext to be used
        See Also:
        DrawContext
      • makeOrderedRenderable

        protected void makeOrderedRenderable​(DrawContext dc)
        If the scene controller is rendering ordered renderables, this method draws this placemark's image as an ordered renderable. Otherwise the method determines whether this instance should be added to the ordered renderable list.

        The Cartesian and screen points of the placemark are computed during the first call per frame and re-used in subsequent calls of that frame.

        Parameters:
        dc - the current draw context.
      • drawOrderedRenderable

        protected void drawOrderedRenderable​(DrawContext dc)
        Draws the path as an ordered renderable.
        Parameters:
        dc - the current draw context.
      • beginDrawing

        protected void beginDrawing​(DrawContext dc)
        Establish the OpenGL state needed to draw Paths.
        Parameters:
        dc - the current draw context.
      • endDrawing

        protected void endDrawing​(DrawContext dc)
        Pop the state set in beginDrawing.
        Parameters:
        dc - the current draw context.
      • doDrawOrderedRenderable

        protected void doDrawOrderedRenderable​(DrawContext dc)
        Draws the points as an ordered renderable.
        Parameters:
        dc - the current draw context.
      • pickPoints

        protected void pickPoints​(DrawContext dc)
      • drawPoints

        protected void drawPoints​(DrawContext dc)
      • setPointColor

        protected void setPointColor​(DrawContext dc,
                                     java.awt.Color color)
      • setPointSize

        protected void setPointSize​(DrawContext dc,
                                    java.lang.Double size)
      • intersectsFrustum

        protected boolean intersectsFrustum​(DrawContext dc)
        Determines whether the points intersect the view frustum.
        Parameters:
        dc - the current draw context.
        Returns:
        true if the points intersect the frustum, otherwise false.
      • computeGridPoints

        protected java.nio.FloatBuffer computeGridPoints​(DrawContext dc,
                                                         java.nio.FloatBuffer coords)