單個瓦片的地形數據,其中地形數據表示為量化網格。量化網格由三個頂點屬性組成:經度、緯度和高度。所有屬性都表示為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。