开挖分析构造函数
Parameters:
| Name |
Type |
Argument |
Description |
map |
Glodon.CIMCube
|
|
CIMCube 实例 |
options |
Object
|
<optional>
|
开挖分析配置参数
Properties
| Name |
Type |
Argument |
Default |
Description |
mode |
Glodon.CIMCube.Global.Defines.TerrainClipMode
|
<optional>
|
balanced
|
裁剪模式。performance:模板测试(全屏 Mask);precise:精确(三角剖分 + 铅垂裁剪平面);balanced:平衡(采用GPU矢量裁剪,性能和精度均衡) |
regions |
Array.<Object>
|
<optional>
|
|
裁剪区域列表。每项为 `{id, region}`;region 为经纬度点数组 `{lon, lat, height}` 或 GeoJSON Polygon |
depth |
Number
|
<optional>
|
20.0
|
开挖深度,单位米,范围 0–10000 |
bottomTextureUrl |
String
|
<optional>
|
|
底面纹理路径,缺省为纯白 |
facadeTextureUrl |
String
|
<optional>
|
|
立面纹理路径,缺省为纯白 |
showTexture |
Boolean
|
<optional>
|
true
|
是否显示坑底、侧墙补面 |
|
Example
// 大范围:模板测试开挖
const mainClip = new Glodon.CIMCube.Utils.TerrainClip(map, {
mode: Glodon.CIMCube.Global.Defines.TerrainClipMode.PERFORMANCE,
regions: [{ id: "main", region: polygon }],
depth: 20,
showTexture: true
});
mainClip.doAnalysis();
// 个别侧面:精确模式铅垂裁剪(顶点宜少)
const sideClip = new Glodon.CIMCube.Utils.TerrainClip(map, {
mode: Glodon.CIMCube.Global.Defines.TerrainClipMode.PRECISE,
regions: [{
id: "side",
region: [
{ lon: 110.03, lat: 25.76 },
{ lon: 110.04, lat: 25.76 },
{ lon: 110.04, lat: 25.77 },
{ lon: 110.03, lat: 25.77 }
]
}],
depth: 20,
showTexture: false
});
sideClip.doAnalysis();
// 大范围:均衡模式距离场裁剪,对近距离效果没有要求场合
const balancedClip = new Glodon.CIMCube.Utils.TerrainClip(map, {
mode: Glodon.CIMCube.Global.Defines.TerrainClipMode.BALANCED,
regions: [{
id: "balanced",
region: [
{ lon: 110.03, lat: 25.76 },
{ lon: 110.04, lat: 25.76 },
{ lon: 110.04, lat: 25.77 },
{ lon: 110.03, lat: 25.77 }
]
}],
depth: 20,
showTexture: true
});
balancedClip.doAnalysis();
// Region 的 height 字段:有效高程直接使用,错误高程会引发显示异常;
// 数据可靠性无法保障时,建议省略 height,引擎将自动获取高程,轻微损耗性能。