一个简单的
TerrainProvider,通过回调函数获取高度值。
它可用于程序化生成地形,或在不创建 TerrainProvider 子类的情况下加载自定义高度图数据。
存在一些限制,例如不支持水掩码、顶点法线和可用性,因此对于这些更复杂的用例,完整的 TerrainProvider 子类更为合适。
| Name | Type | Description | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
包含以下属性的对象:
|
Example:
const viewer = new Cesium.Viewer("cesiumContainer", {
terrainProvider: new Cesium.CustomHeightmapTerrainProvider({
width: 32,
height: 32,
callback: function (x, y, level) {
return new Float32Array(32 * 32); // all zeros
},
}),
});
See:
Members
readonly availability : TileAvailability
获取一个可用于确定此提供程序地形可用性的对象,例如在点和矩形区域中查询可用性。
如果不可用性信息,则此属性可能为 undefined。
readonly credit : Credit
获取当地形提供程序处于活动状态时要显示的版权信息。通常用于标注地形的来源。
readonly errorEvent : Event
获取当地形提供程序遇到异步错误时引发的事件。通过订阅此事件,您将收到错误通知并可能从中恢复。事件监听器会接收到一个
TileProviderError 实例。
获取一个值,指示请求的瓦片是否包含顶点法线。
CustomHeightmapTerrainProvider 不支持顶点法线,因此返回值始终为 false。
获取一个值,指示提供程序是否包含水掩码。水掩码用于标识地球表面哪些区域是水域而非陆地,
从而可以将其渲染为带有动画波纹的反射表面。
CustomHeightmapTerrainProvider 不支持水掩码,因此返回值始终为 false。
获取每个高度图瓦片的行数。
readonly tilingScheme : TilingScheme
获取此提供程序使用的瓦片方案。
获取每个高度图瓦片的列数。
Methods
获取给定层级瓦片允许的最大几何误差。
| Name | Type | Description |
|---|---|---|
level |
number | 要获取最大几何误差的瓦片层级。 |
Returns:
最大几何误差。
确定瓦片的数据是否可供加载。
| Name | Type | Description |
|---|---|---|
x |
number | 请求几何体瓦片的 X 坐标。 |
y |
number | 请求几何体瓦片的 Y 坐标。 |
level |
number | 请求几何体瓦片的层级。 |
Returns:
如果不支持则返回 undefined,否则返回 true 或 false。
确保我们为瓦片加载可用性数据。
| Name | Type | Description |
|---|---|---|
x |
number | 请求几何体瓦片的 X 坐标。 |
y |
number | 请求几何体瓦片的 Y 坐标。 |
level |
number | 请求几何体瓦片的层级。 |
Returns:
如果没有需要加载的内容则返回 undefined,否则返回当所有必需瓦片加载完成时解析的 Promise。
requestTileGeometry(x, y, level, request) → Promise.<TerrainData>|undefined
请求给定瓦片的几何体。结果包含地形数据,并指示所有子瓦片均可用。
| Name | Type | Description |
|---|---|---|
x |
number | 请求几何体瓦片的 X 坐标。 |
y |
number | 请求几何体瓦片的 Y 坐标。 |
level |
number | 请求几何体瓦片的层级。 |
request |
Request | optional 请求对象,仅限内部使用。 |
Returns:
请求几何体的 Promise。如果此方法返回 undefined 而非 Promise,则表示已有太多待处理请求,该请求将在稍后重试。
Type Definitions
Cesium.CustomHeightmapTerrainProvider.GeometryCallback(x, y, level) → Int8Array|Uint8Array|Int16Array|Uint16Array|Int32Array|Uint32Array|Float32Array|Float64Array|Array.<number>|Promise.<(Int8Array|Uint8Array|Int16Array|Uint16Array|Int32Array|Uint32Array|Float32Array|Float64Array|Array.<number>)>|undefined
| Name | Type | Description |
|---|---|---|
x |
number | 请求几何体瓦片的 X 坐标。 |
y |
number | 请求几何体瓦片的 Y 坐标。 |
level |
number | 请求几何体瓦片的层级。 |
Returns:
行主序的高度数组或对应的 Promise。如果返回 undefined,则地球将渲染父瓦片。
