Class ExtrudedPolygon.ExtrudedBoundaryInfo

  • Enclosing class:
    ExtrudedPolygon

    protected static class ExtrudedPolygon.ExtrudedBoundaryInfo
    extends java.lang.Object
    Holds globe-specific information for each contour of the polygon. This class is meant only to be used as a way to group per-boundary information in globe-specific ShapeData.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected Vec4[] baseVertices
      The vertices defining the boundary's base.
      protected java.nio.IntBuffer capEdgeIndices
      Indices identifying the cap edges in the vertex buffer.
      protected java.nio.IntBuffer capFillIndices
      Indices identifying the cap vertices in the vertex buffer.
      protected java.nio.FloatBuffer capNormalBuffer
      A buffer holding the boundary cap's vertex normals.
      protected java.nio.FloatBuffer capVertexBuffer
      A buffer holding the vertices defining the boundary's cap.
      protected Vec4[] capVertices
      The vertices defining the boundary's cap.
      protected int faceCount
      The number of faces in the boundary.
      protected java.util.List<? extends LatLon> locations
      The boundary vertices.
      protected java.nio.IntBuffer sideEdgeIndices
      The indices identifying the boundary's edge indices in the side-vertex buffer.
      protected java.nio.IntBuffer sideIndices
      The indices identifying the boundary's side faces in the side-vertex buffer.
      protected java.nio.FloatBuffer sideNormalBuffer
      A buffer holding per-vertex normals.
      protected java.nio.FloatBuffer sideTextureCoords
      The texture coordinates to use when applying side textures, a coordinate pair for each of 4 corners.
      protected java.util.List<WWTexture> sideTextures
      The textures to apply to this boundary, one per face.
      protected java.nio.FloatBuffer sideVertexBuffer
      A buffer holding the side vertices.
    • Constructor Summary

      Constructors 
      Constructor Description
      ExtrudedBoundaryInfo​(java.util.List<? extends LatLon> locations)
      Constructs a boundary info instance for a specified boundary.
    • Method Summary

      • Methods inherited from class java.lang.Object

        clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • locations

        protected java.util.List<? extends LatLon> locations
        The boundary vertices. This is merely a reference to the paren't shape's boundaries.
      • faceCount

        protected int faceCount
        The number of faces in the boundary. (The number of positions - 1.)
      • capVertices

        protected Vec4[] capVertices
        The vertices defining the boundary's cap.
      • baseVertices

        protected Vec4[] baseVertices
        The vertices defining the boundary's base. These are always on the terrain.
      • capFillIndices

        protected java.nio.IntBuffer capFillIndices
        Indices identifying the cap vertices in the vertex buffer.
      • capEdgeIndices

        protected java.nio.IntBuffer capEdgeIndices
        Indices identifying the cap edges in the vertex buffer.
      • capVertexBuffer

        protected java.nio.FloatBuffer capVertexBuffer
        A buffer holding the vertices defining the boundary's cap.
      • capNormalBuffer

        protected java.nio.FloatBuffer capNormalBuffer
        A buffer holding the boundary cap's vertex normals. Non-null only when lighting is applied.
      • sideIndices

        protected java.nio.IntBuffer sideIndices
        The indices identifying the boundary's side faces in the side-vertex buffer.
      • sideEdgeIndices

        protected java.nio.IntBuffer sideEdgeIndices
        The indices identifying the boundary's edge indices in the side-vertex buffer.
      • sideVertexBuffer

        protected java.nio.FloatBuffer sideVertexBuffer
        A buffer holding the side vertices. These are passed to OpenGL.
      • sideNormalBuffer

        protected java.nio.FloatBuffer sideNormalBuffer
        A buffer holding per-vertex normals. Non-null only when lighting is applied.
      • sideTextures

        protected java.util.List<WWTexture> sideTextures
        The textures to apply to this boundary, one per face.
      • sideTextureCoords

        protected java.nio.FloatBuffer sideTextureCoords
        The texture coordinates to use when applying side textures, a coordinate pair for each of 4 corners. These are globe-specific because they account for the varying positions of the base on the terrain. (The cap texture coordinates are not globe-specific.)
    • Constructor Detail

      • ExtrudedBoundaryInfo

        public ExtrudedBoundaryInfo​(java.util.List<? extends LatLon> locations)
        Constructs a boundary info instance for a specified boundary.
        Parameters:
        locations - the boundary locations. Only this reference is kept; the boundaries are not copied.