QuantizedMeshTerrainData

new Cesium.QuantizedMeshTerrainData (options)

单个图块的地形数据,其中地形数据表示为量化网格。量化网格由三个顶点属性组成,经度、纬度和高度。所有属性都表示为 0 到 32767 范围内的 16 位值。在图块的西南角,经度和纬度为零,在东北角为 32767。在图块中的最小高度处高度为零,在图块中的最大高度处为 32767。
Name Type Description
options Object 具有以下属性的对象:
姓名 类型 默认 描述
quantizedVertices Uint16Array 包含量化网格的缓冲区。
indices Uint16Array | Uint32Array 指定量化顶点如何链接到三角形的索引。每三个索引指定一个三角形。
minimumHeight 数字 瓦片内的最小地形高度,以米为单位在椭圆体上方。
maximumHeight 数字 瓦片内的最大地形高度,以米为单位在椭圆体上方。
boundingSphere 边界球 一个包围网格中所有顶点的球体。
orientedBoundingBox 定向边界框 可选 一个 OrientedBoundingBox 包围网格中的所有顶点。
horizonOcclusionPoint 笛卡尔3 网格的水平遮挡点。如果该点位于地平线以下,则假定整个图块也位于地平线以下。该点以椭球坐标表示。
westIndices 数组.<数字> 瓦片西边的顶点索引。
southIndices 数组.<数字> 瓦片南边的顶点索引。
eastIndices 数组.<数字> 瓦片东边的顶点索引。
northIndices 数组.<数字> 瓦片北边的顶点索引。
westSkirtHeight 数字 添加到瓷砖西边的裙子高度。
southSkirtHeight 数字 添加在瓷砖南边的裙子高度。
eastSkirtHeight 数字 添加到瓷砖东边缘的裙子高度。
northSkirtHeight 数字 添加到瓷砖北边的裙子高度。
childTileMask 数字 15 可选 一个位掩码,指示此 tile 的四个子项中的哪一个存在。如果设置了子位,则在需要时也会为该图块请求几何图形。如果清除该位,则不请求子图块,而是从父图块上采样几何图形。位值如下:
位位置 位值 儿童瓷砖
0 1 西南
1 2 东南
2 4 西北
3 8 东北
createdByUpsampling 布尔值 false 可选 如果此实例是通过对另一个实例进行上采样创建的,则为真;否则为假。
encodedNormals Uint8Array 可选 包含每个顶点法线的缓冲区,使用'oct'编码进行编码
waterMask Uint8Array 可选 包含水罩的缓冲区。
credits 数组。< 信用 > 此图块的 可选 积分数组。
Example:
const data = new Cesium.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 Cesium.BoundingSphere(new Cesium.Cartesian3(1.0, 2.0, 3.0), 10000),
    orientedBoundingBox : new Cesium.OrientedBoundingBox(new Cesium.Cartesian3(1.0, 2.0, 3.0), Cesium.Matrix3.fromRotationX(Cesium.Math.PI, new Cesium.Matrix3())),
    horizonOcclusionPoint : new Cesium.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

此图块的一系列学分。

waterMask : Uint8Array|HTMLImageElement|HTMLCanvasElement

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

Methods

interpolateHeight (rectangle, longitude, latitude) Number

计算指定经度和纬度处的地形高度。
Name Type Description
rectangle Rectangle 此地形数据覆盖的矩形。
longitude Number 以弧度为单位的经度。
latitude Number 以弧度为单位的纬度。
Returns:
指定位置的地形高度。该位置被限制在矩形上,因此对于远离矩形的位置,预计会出现不正确的结果。

isChildAvailable (thisX, thisY, childX, childY) Boolean

根据 HeightmapTerrainData.childTileMask 确定给定的子图块是否可用。假定给定的子图块坐标是该图块的四个子图块之一。如果给定非子图块坐标,则返回东南子图块的可用性。
Name Type Description
thisX Number 此(父)图块的图块 X 坐标。
thisY Number 此(父)图块的图块 Y 坐标。
childX Number 用于检查可用性的子图块的图块 X 坐标。
childY Number 用于检查可用性的子图块的图块 Y 坐标。
Returns:
如果子图块可用,则为真;否则为假。

upsample (tilingScheme, thisX, thisY, thisLevel, descendantX, descendantY, descendantLevel) Promise.< QuantizedMeshTerrainData >|undefined

上采样此地形数据以供后代图块使用。结果实例将包含此实例中的顶点子集,必要时进行插值。
Name Type Description
tilingScheme TilingScheme 此地形数据的切片方案。
thisX Number 切片方案中此切片的 X 坐标。
thisY Number 切片方案中此切片的 Y 坐标。
thisLevel Number 切片方案中此切片的级别。
descendantX Number 我们正在对其进行上采样的后代切片的切片方案中的 X 坐标。
descendantY Number 我们正在对其进行上采样的后代切片的切片方案中的 Y 坐标。
descendantLevel Number 我们正在对其进行上采样的后代切片的切片方案中的级别。
Returns:
对后代图块的上采样高度图地形数据的承诺,如果正在进行太多异步上采样操作并且请求已被推迟,则未定义。

wasCreatedByUpsampling () Boolean

获取一个值,该值指示此地形数据是否是通过对较低分辨率地形数据进行上采样创建的。如果此值为 false,则数据是从其他来源获得的,例如从远程服务器下载。对于从调用 HeightmapTerrainData#upsample 返回的实例,此方法应返回 true。
Returns:
如果此实例是通过上采样创建的,则为真;否则为假。