Class Curtain

    • Field Detail

      • locations

        protected java.util.List<LatLon> locations
      • pathType

        protected java.lang.String pathType
      • splitThreshold

        protected double splitThreshold
      • applyPositionAltitude

        protected boolean applyPositionAltitude
    • Constructor Detail

      • Curtain

        public Curtain​(java.lang.Iterable<? extends LatLon> locations)
      • Curtain

        public Curtain()
      • Curtain

        public Curtain​(Curtain source)
    • Method Detail

      • makeDefaultDetailLevels

        protected void makeDefaultDetailLevels()
      • getLocations

        public java.lang.Iterable<LatLon> getLocations()
        Returns the curtain's locations.
        Returns:
        the curtain's locations in geographic coordinates.
      • setLocations

        public void setLocations​(java.lang.Iterable<? extends LatLon> locations)
        Sets the curtain's locations, in geographic coordinates.
        Parameters:
        locations - a list of geographic coordinates (latitude and longitude) specifying the upper edge of the shape.
        Throws:
        java.lang.IllegalArgumentException - if the locations list is null or contains fewer than two points.
      • addLocations

        protected void addLocations​(java.lang.Iterable<? extends LatLon> newLocations)
      • getPathType

        public java.lang.String getPathType()
      • setPathType

        public void setPathType​(java.lang.String pathType)
      • isApplyPositionAltitude

        public boolean isApplyPositionAltitude()
      • setApplyPositionAltitude

        public void setApplyPositionAltitude​(boolean applyPositionAltitude)
      • 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.
        Returns:
        the object's reference position, or null if no reference position is available.
      • updateSurfaceShape

        protected void updateSurfaceShape​(DrawContext dc,
                                          SurfaceShape shape)
        Description copied from class: AbstractAirspace
        Sets surface shape parameters prior to picking and rendering the 2D shape used to represent this Airspace on 2D globes. Subclasses should override this method if they need to update more than the attributes and the delegate owner.
        Overrides:
        updateSurfaceShape in class AbstractAirspace
        Parameters:
        dc - the current drawing context.
        shape - the surface shape to update.
      • regenerateSurfaceShape

        protected void regenerateSurfaceShape​(DrawContext dc,
                                              SurfaceShape shape)
        Description copied from class: AbstractAirspace
        Regenerates surface shape geometry prior to picking and rendering the 2D shape used to represent this Airspace on 2D globes.
        Overrides:
        regenerateSurfaceShape in class AbstractAirspace
        Parameters:
        dc - the current drawing context.
        shape - the surface shape to regenerate.
      • getSplitThreshold

        protected double getSplitThreshold()
      • setSplitThreshold

        protected void setSplitThreshold​(double splitThreshold)
      • computeReferenceCenter

        protected Vec4 computeReferenceCenter​(DrawContext dc)
      • getCurtainGeometry

        protected Curtain.CurtainGeometry getCurtainGeometry​(DrawContext dc,
                                                             int count,
                                                             LatLon[] locations,
                                                             java.lang.String pathType,
                                                             double splitThreshold,
                                                             double[] altitudes,
                                                             boolean[] terrainConformant,
                                                             Vec4 referenceCenter)
      • drawCurtainFill

        protected void drawCurtainFill​(DrawContext dc,
                                       int count,
                                       LatLon[] locations,
                                       java.lang.String pathType,
                                       double splitThreshold,
                                       double[] altitudes,
                                       boolean[] terrainConformant,
                                       Vec4 referenceCenter)
      • drawCurtainOutline

        protected void drawCurtainOutline​(DrawContext dc,
                                          int count,
                                          LatLon[] locations,
                                          java.lang.String pathType,
                                          double splitThreshold,
                                          double[] altitudes,
                                          boolean[] terrainConformant,
                                          Vec4 referenceCenter)
      • makeCurtainGeometry

        protected void makeCurtainGeometry​(DrawContext dc,
                                           int count,
                                           LatLon[] locations,
                                           java.lang.String pathType,
                                           double splitThreshold,
                                           double[] altitudes,
                                           boolean[] terrainConformant,
                                           Vec4 referenceCenter,
                                           Curtain.CurtainGeometry dest)
      • getSectionPillarCount

        protected int getSectionPillarCount​(DrawContext dc,
                                            LatLon begin,
                                            LatLon end,
                                            java.lang.String pathType,
                                            double splitThreshold)
      • getSectionFillDrawMode

        protected int getSectionFillDrawMode()
      • getSectionOutlineDrawMode

        protected int getSectionOutlineDrawMode()
      • getSectionFillIndexCount

        protected int getSectionFillIndexCount​(int pillars)
      • getSectionOutlineIndexCount

        protected int getSectionOutlineIndexCount​(int pillars)
      • getSectionVertexCount

        protected int getSectionVertexCount​(int pillars)
      • makeSectionFillIndices

        protected void makeSectionFillIndices​(int pillars,
                                              int vertexPos,
                                              int indexPos,
                                              int[] dest)
      • makeSectionOutlineIndices

        protected void makeSectionOutlineIndices​(int pillars,
                                                 int vertexPos,
                                                 int indexPos,
                                                 int[] dest)
      • makeSectionVertices

        protected void makeSectionVertices​(DrawContext dc,
                                           LatLon begin,
                                           LatLon end,
                                           java.lang.String pathType,
                                           double[] altitude,
                                           boolean[] terrainConformant,
                                           int pillars,
                                           int vertexPos,
                                           float[] dest,
                                           Vec4 referenceCenter)
      • makeTessellatedLocations

        protected void makeTessellatedLocations​(Globe globe,
                                                java.util.List<LatLon> tessellatedLocations)
      • makeSegment

        protected void makeSegment​(Globe globe,
                                   LatLon locA,
                                   LatLon locB,
                                   java.util.List<LatLon> tessellatedLocations)