QuantizedMeshTerrainData

new LSGlobe.QuantizedMeshTerrainData (options)

单个图块的地形数据,其中地形数据表示为量化网格。量化网格由三个顶点属性(经度,纬度和高度)组成。所有属性均表示范围为0到32767的16位值。经度和纬度在西南角为零磁贴和东北角的32767。在图块中的最小高度处,高度为零和32767的最大高度。
Name Type Description
options Object Object with the following properties:
Name Type Default Description
quantizedVertices Uint16Array 包含量化网格的缓冲区。
indices Uint16Array | Uint32Array 指定量化顶点如何链接的索引 一起成三角形。每三个索引指定一个三角形。
minimumHeight Number 磁贴内的最小地形高度,以椭球体以上的米为单位。
maximumHeight Number 磁贴内的最大地形高度,以椭圆形上方的米为单位。
boundingSphere BoundingSphere 包围网格中所有顶点的球体。
orientedBoundingBox OrientedBoundingBox 可选 一个OrientedBoundingBox,它将网格中的所有顶点定界。
horizonOcclusionPoint Cartesian3 网格的水平遮挡点。如果这一点 如果水平线以下,则整个图块也假定为水平线以下。 该点以椭圆标度坐标表示。
westIndices Array.<Number> 瓦片西边缘的顶点索引。
southIndices Array.<Number> 瓦片南边缘的顶点索引。
eastIndices Array.<Number> 瓦片东边缘的顶点索引。
northIndices Array.<Number> 瓦片北边缘的顶点索引。
westSkirtHeight Number 裙子的高度要加在瓷砖的西边。
southSkirtHeight Number 裙子的高度要加到瓷砖的南边缘。
eastSkirtHeight Number 裙子的高度要加到瓷砖的东边缘。
northSkirtHeight Number 裙子的高度要加到瓷砖的北边缘。
childTileMask Number 15 可选 一个位掩码,指示此图块的四个子级中的哪个子级存在。 如果设置了孩子的位,则当该图块也将请求几何形状 是必需的。如果清除该位,则不请求子图块,并且几何体为 而是从父级上采样。位值如下:
位位置 位值 子磁贴
0 1 西南
1 2 东南
2 4 西北
3 8 东北
createdByUpsampling Boolean false 可选 如果此实例是通过对另一个实例进行升采样创建的,则为true;否则为false。 否则为false。
encodedNormals Uint8Array 可选 包含每个顶点法线的缓冲区,使用'oct'编码进行编码
waterMask Uint8Array 可选 包含水面罩的缓冲区。
credits Array.< Credit > 可选 此图块的积分数组。
Example:
var data = new LSGlobe.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 LSGlobe.BoundingSphere(new LSGlobe.Cartesian3(1.0, 2.0, 3.0), 10000),
    orientedBoundingBox : new LSGlobe.OrientedBoundingBox(new LSGlobe.Cartesian3(1.0, 2.0, 3.0), LSGlobe.Matrix3.fromRotationX(LSGlobe.Math.PI, new LSGlobe.Matrix3())),
    horizonOcclusionPoint : new LSGlobe.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:
如果子图块可用,则为true;否则为true。否则为假。

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:
对后代图块的高度图地形数据进行高采样的承诺, 或undefined(如果正在进行太多异步上采样操作并且请求已被执行) 推迟。

wasCreatedByUpsampling () Boolean

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