单个瓦片的地形数据,其中地形数据表示为量化网格。量化网格由三个顶点属性组成:经度、纬度和高度。所有属性都表示为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
});
Members
credits : Array.<Credit>
此瓦片的信用证数组。
waterMask : (Uint8Array|Image|Canvas)
地形数据中包含的水面掩蔽(如果有)。一个水面掩蔽是一个矩形的uint8数组或图像,其中值255表示水,值0表示土地。允许0到255之间的值在陆地和水之间平滑混合。
Methods
interpolateHeight(rectangle, longitude, latitude) → {Number}
计算指定经度和纬度的地形高度。
Parameters:
根据
HeightmapTerrainData.childTileMask
确定给定的子瓦片是否可用。给定的子瓦片坐标假定为该瓦片的四个子瓦片之一。如果给出了非子瓦片坐标,则返回东南子瓦片的可用性。
Parameters:
thisX
(Number)
此(父)瓦片的瓦片X坐标。
thisY
(Number)
此(父)瓦片的瓦片Y坐标。
childX
(Number)
子瓦片的瓦片X坐标,用于检查可用性。
childY
(Number)
子瓦片的瓦片Y坐标,用于检查可用性。
向上采样此地形数据,以供后代瓦片使用。生成的实例将包含此实例中顶点的子集,如有必要,将进行插值。
Parameters:
thisX
(Number)
瓦片方案中切片方案的X坐标。
thisY
(Number)
瓦片方案中切片方案的Y坐标。
thisLevel
(Number)
瓦片方案中此切片方案的级别。
descendantX
(Number)
在瓦片方案中的切片方案中,我们正在对其进行上采样的X坐标。
descendantY
(Number)
在瓦片方案中的Y坐标,我们正在对切片方案进行采样。
descendantLevel
(Number)
在瓦片方案中的切片方案中,我们正在对其进行上采样。
获取一个值,该值指示此地形数据是否是通过向上采样低分辨率地形数据创建的。如果该值为假,则数据是从其他来源获得的,例如从远程服务器下载。对于调用
HeightmapTerrainData#upsample
返回的实例,此方法应返回true。