code: function (globe, tessellator, terrainTiles, verticalExaggeration) {
  
              /**
               * The globe associated with this terrain.
               * @type {Globe}
               */
              this.globe = globe;
  
              /**
               * The vertical exaggeration of this terrain.
               * @type {Number}
               */
              this.verticalExaggeration = verticalExaggeration;
  
              /**
               * The sector spanned by this terrain.
               * @type {Sector}
               */
              this.sector = terrainTiles.sector;
  
              /**
               * The tessellator used to generate this terrain.
               * @type {Tessellator}
               */
              this.tessellator = tessellator;
  
              /**
               * The surface geometry for this terrain
               * @type {TerrainTile[]}
               */
              this.surfaceGeometry = terrainTiles.tileArray;
  
              /**
               * A string identifying this terrain's current state. Used to compare states during rendering to
               * determine whether state dependent cached values must be updated. Applications typically do not
               * interact with this property.
               * @readonly
               * @type {String}
               */
              this.stateKey = globe.stateKey + " ve " + verticalExaggeration.toString();
          }
docs: Constructs a Terrain object.
  @alias Terrain
  @constructor
  @classdesc Represents terrain and provides functions for computing points on or relative to the terrain.
  Applications do not typically interact directly with this class.