QuantizedMeshTerrainData

单个瓦片的地形数据,其中地形数据表示为量化网格。量化网格由三个顶点属性组成:经度、纬度和高度。所有属性都表示为0到32767范围内的16位值。经度和纬度在瓦片的西南角为零,东北角为32767。在瓦片的最小高度为零,在瓦片的最大高度为32767。
new QuantizedMeshTerrainData(options)
Parameters:
options (Object)
Name Description
options.quantizedVertices
Uint16Array
包含量化网格的缓冲区。
options.indices
(Uint16Array | Uint32Array)
指定量化顶点如何链接成三角形的索引。每三个索引指定一个三角形。
options.minimumHeight
Number
瓦片内的最小地形高度,以椭球体上方的米为单位。
options.maximumHeight
Number
瓦片内的最大地形高度,以椭球体上方的米为单位。
options.boundingSphere
BoundingSphere
包围网格中所有顶点的球体。
options.orientedBoundingBox
OrientedBoundingBox
边界网格中所有顶点的定向边界框。
options.horizonOcclusionPoint
Cartesian3
网格的水平遮挡点。如果这个点在地平线以下,那么整个瓦片也被假定在地平线以下。该点用椭球坐标表示。
options.westIndices
Array.<Number>
瓦片西边顶点的索引。
options.southIndices
Array.<Number>
瓦片南边顶点的索引。
options.eastIndices
Array.<Number>
瓦片东边顶点的索引。
options.northIndices
Array.<Number>
瓦片北边顶点的索引。
options.westSkirtHeight
Number
裙子的高度要加在瓦片的西边。
options.southSkirtHeight
Number
裙子的高度要加在瓦片的南边。
options.eastSkirtHeight
Number
裙子的高度要加在瓦片的东边。
options.northSkirtHeight
Number
裙子的高度要加在瓦片的北边上。
options.childTileMask
Number
default 15
一个位掩码,指示此瓦片的四个子项中存在哪一个。如果设置了子位,则需要时也将请求该瓦片的几何图形。如果清除了位,则不会请求子瓦片,而是从父瓦片中向上采样几何图形。
options.createdByUpsampling
Boolean
default false
如果此实例是通过向上采样另一个实例创建的,则为true;否则为false。
options.encodedNormals
Uint8Array
包含每个顶点法线的缓冲区,使用“oct”编码进行编码。
options.waterMask
Uint8Array
含有水面膜的缓冲液。
options.credits
Array.<Credit>
此瓦片的信用数组。
Example
var data = new bmgl.QuantizedMeshTerrainData({
    minimumHeight : -100,
    maximumHeight : 2101,
    quantizedVertices : new Uint16Array([// order is SW NW SE NE
                                         // longitude
                                         0, 0, 32767, 32767,
                                         // latitude
                                         0, 32767, 0, 32767,
                                         // heights
                                         16384, 0, 32767, 16384]),
    indices : new Uint16Array([0, 3, 1,
                               0, 2, 3]),
    boundingSphere : new bmgl.BoundingSphere(new bmgl.Cartesian3(1.0, 2.0, 3.0), 10000),
    orientedBoundingBox : new bmgl.OrientedBoundingBox(new bmgl.Cartesian3(1.0, 2.0, 3.0), bmgl.Matrix3.fromRotationX(bmgl.Math.PI, new bmgl.Matrix3())),
    horizonOcclusionPoint : new bmgl.Cartesian3(3.0, 2.0, 1.0),
    westIndices : [0, 1],
    southIndices : [0, 1],
    eastIndices : [2, 3],
    northIndices : [1, 3],
    westSkirtHeight : 1.0,
    southSkirtHeight : 1.0,
    eastSkirtHeight : 1.0,
    northSkirtHeight : 1.0
});
See:

Members

credits : Array.<Credit>

此瓦片的信用证数组。

waterMask : (Uint8Array|Image|Canvas)

地形数据中包含的水面掩蔽(如果有)。一个水面掩蔽是一个矩形的uint8数组或图像,其中值255表示水,值0表示土地。允许0到255之间的值在陆地和水之间平滑混合。

Methods

interpolateHeight(rectangle, longitude, latitude) → {Number}
计算指定经度和纬度的地形高度。
Parameters:
rectangle (Rectangle) 地形数据覆盖的矩形。
longitude (Number) 经度以弧度表示。
latitude (Number) 以弧度表示的纬度。
isChildAvailable(thisX, thisY, childX, childY) → {Boolean}
根据HeightmapTerrainData.childTileMask确定给定的子瓦片是否可用。给定的子瓦片坐标假定为该瓦片的四个子瓦片之一。如果给出了非子瓦片坐标,则返回东南子瓦片的可用性。
Parameters:
thisX (Number) 此(父)瓦片的瓦片X坐标。
thisY (Number) 此(父)瓦片的瓦片Y坐标。
childX (Number) 子瓦片的瓦片X坐标,用于检查可用性。
childY (Number) 子瓦片的瓦片Y坐标,用于检查可用性。
upsample(tilingScheme, thisX, thisY, thisLevel, descendantX, descendantY, descendantLevel) → {Promise.<QuantizedMeshTerrainData>|undefined}
向上采样此地形数据,以供后代瓦片使用。生成的实例将包含此实例中顶点的子集,如有必要,将进行插值。
Parameters:
tilingScheme (TilingScheme) 地形数据的切片方案。
thisX (Number) 瓦片方案中切片方案的X坐标。
thisY (Number) 瓦片方案中切片方案的Y坐标。
thisLevel (Number) 瓦片方案中此切片方案的级别。
descendantX (Number) 在瓦片方案中的切片方案中,我们正在对其进行上采样的X坐标。
descendantY (Number) 在瓦片方案中的Y坐标,我们正在对切片方案进行采样。
descendantLevel (Number) 在瓦片方案中的切片方案中,我们正在对其进行上采样。
wasCreatedByUpsampling() → {Boolean}
获取一个值,该值指示此地形数据是否是通过向上采样低分辨率地形数据创建的。如果该值为假,则数据是从其他来源获得的,例如从远程服务器下载。对于调用HeightmapTerrainData#upsample返回的实例,此方法应返回true。