單個(gè)瓦片的地形數(shù)據(jù),其中地形數(shù)據(jù)表示為量化網(wǎng)格。量化網(wǎng)格由三個(gè)頂點(diǎn)屬性組成:經(jīng)度、緯度和高度。所有屬性都表示為0到32767范圍內(nèi)的16位值。經(jīng)度和緯度在瓦片的西南角為零,東北角為32767。在瓦片的最小高度為零,在瓦片的最大高度為32767。
new QuantizedMeshTerrainData(options)
Parameters:
options
(Object)
Name | Description |
---|---|
options.quantizedVertices
Uint16Array
|
包含量化網(wǎng)格的緩沖區(qū)。 |
options.indices
(Uint16Array | Uint32Array)
|
指定量化頂點(diǎn)如何鏈接成三角形的索引。每三個(gè)索引指定一個(gè)三角形。 |
options.minimumHeight
Number
|
瓦片內(nèi)的最小地形高度,以橢球體上方的米為單位。 |
options.maximumHeight
Number
|
瓦片內(nèi)的最大地形高度,以橢球體上方的米為單位。 |
options.boundingSphere
BoundingSphere
|
包圍網(wǎng)格中所有頂點(diǎn)的球體。 |
options.orientedBoundingBox
OrientedBoundingBox
|
邊界網(wǎng)格中所有頂點(diǎn)的定向邊界框。 |
options.horizonOcclusionPoint
Cartesian3
|
網(wǎng)格的水平遮擋點(diǎn)。如果這個(gè)點(diǎn)在地平線以下,那么整個(gè)瓦片也被假定在地平線以下。該點(diǎn)用橢球坐標(biāo)表示。 |
options.westIndices
Array.<Number>
|
瓦片西邊頂點(diǎn)的索引。 |
options.southIndices
Array.<Number>
|
瓦片南邊頂點(diǎn)的索引。 |
options.eastIndices
Array.<Number>
|
瓦片東邊頂點(diǎn)的索引。 |
options.northIndices
Array.<Number>
|
瓦片北邊頂點(diǎn)的索引。 |
options.westSkirtHeight
Number
|
裙子的高度要加在瓦片的西邊。 |
options.southSkirtHeight
Number
|
裙子的高度要加在瓦片的南邊。 |
options.eastSkirtHeight
Number
|
裙子的高度要加在瓦片的東邊。 |
options.northSkirtHeight
Number
|
裙子的高度要加在瓦片的北邊上。 |
options.childTileMask
Number
default 15
|
一個(gè)位掩碼,指示此瓦片的四個(gè)子項(xiàng)中存在哪一個(gè)。如果設(shè)置了子位,則需要時(shí)也將請(qǐng)求該瓦片的幾何圖形。如果清除了位,則不會(huì)請(qǐng)求子瓦片,而是從父瓦片中向上采樣幾何圖形。 |
options.createdByUpsampling
Boolean
default false
|
如果此實(shí)例是通過(guò)向上采樣另一個(gè)實(shí)例創(chuàng)建的,則為true;否則為false。 |
options.encodedNormals
Uint8Array
|
包含每個(gè)頂點(diǎn)法線的緩沖區(qū),使用“oct”編碼進(jìn)行編碼。 |
options.waterMask
Uint8Array
|
含有水面膜的緩沖液。 |
options.credits
Array.<Credit>
|
此瓦片的信用數(shù)組。 |
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>
此瓦片的信用證數(shù)組。
waterMask : (Uint8Array|Image|Canvas)
地形數(shù)據(jù)中包含的水面掩蔽(如果有)。一個(gè)水面掩蔽是一個(gè)矩形的uint8數(shù)組或圖像,其中值255表示水,值0表示土地。允許0到255之間的值在陸地和水之間平滑混合。
Methods
interpolateHeight(rectangle, longitude, latitude) → {Number}
計(jì)算指定經(jīng)度和緯度的地形高度。
Parameters:
longitude
(Number)
經(jīng)度以弧度表示。
latitude
(Number)
以弧度表示的緯度。
根據(jù)
HeightmapTerrainData.childTileMask
確定給定的子瓦片是否可用。給定的子瓦片坐標(biāo)假定為該瓦片的四個(gè)子瓦片之一。如果給出了非子瓦片坐標(biāo),則返回東南子瓦片的可用性。
Parameters:
thisX
(Number)
此(父)瓦片的瓦片X坐標(biāo)。
thisY
(Number)
此(父)瓦片的瓦片Y坐標(biāo)。
childX
(Number)
子瓦片的瓦片X坐標(biāo),用于檢查可用性。
childY
(Number)
子瓦片的瓦片Y坐標(biāo),用于檢查可用性。
向上采樣此地形數(shù)據(jù),以供后代瓦片使用。生成的實(shí)例將包含此實(shí)例中頂點(diǎn)的子集,如有必要,將進(jìn)行插值。
Parameters:
thisX
(Number)
瓦片方案中切片方案的X坐標(biāo)。
thisY
(Number)
瓦片方案中切片方案的Y坐標(biāo)。
thisLevel
(Number)
瓦片方案中此切片方案的級(jí)別。
descendantX
(Number)
在瓦片方案中的切片方案中,我們正在對(duì)其進(jìn)行上采樣的X坐標(biāo)。
descendantY
(Number)
在瓦片方案中的Y坐標(biāo),我們正在對(duì)切片方案進(jìn)行采樣。
descendantLevel
(Number)
在瓦片方案中的切片方案中,我們正在對(duì)其進(jìn)行上采樣。
獲取一個(gè)值,該值指示此地形數(shù)據(jù)是否是通過(guò)向上采樣低分辨率地形數(shù)據(jù)創(chuàng)建的。如果該值為假,則數(shù)據(jù)是從其他來(lái)源獲得的,例如從遠(yuǎn)程服務(wù)器下載。對(duì)于調(diào)用
HeightmapTerrainData#upsample
返回的實(shí)例,此方法應(yīng)返回true。