TerrainClip

new mars3d.thing.TerrainClip(options)

地形开挖, 基于地球材质,可以多个区域开挖。

参数名称 类型 描述信息
options object 可选

参数对象,包括以下:

参数名称 类型 默认值 描述信息
area Array.<object> 可选

多区域数组对象, 示例: [{ positions: [[108.959062, 34.220134, 397], [108.959802, 34.220147, 397], [108.959106, 34.21953, 398]] }]

clipOutSide boolean false 可选

是否外切开挖

image string 可选

开挖区域的井墙面贴图URL。未传入该值时,不显示开挖区域的井。

imageBottom string 可选

当显示开挖区域的井时,井底面贴图URL

diffHeight number 可选

当显示开挖区域的井时,设置所有区域的挖掘深度(单位:米)

splitNum number 30 可选

当显示开挖区域的井时,井墙面每两点之间插值个数(概略值,有经纬网网格来插值)

id string | number createGuid() 可选

对象的id标识

enabled boolean true 可选

对象的启用状态

eventParent BaseClass | boolean 可选

指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件

继承

成员(属性)

clipOutSide : boolean

是否外切开挖

diffHeight : number

设置所有区域的挖掘深度(单位:米)

readonly length : number

已添加的区域个数

继承自:

readonly list : Array.<object>

区域 列表

继承自:

positions : Array.<Array>|Array.<string>|Array.<LngLatPoint>|Array.<Cesium.Cartesian3>

坐标位置数组,只显示单个区域【单个区域场景时使用】

继承自:

方法

addArea(positions, options)object

添加单个区域

参数名称 类型 默认值 描述信息
positions Array.<string> | Array.<Array> | Array.<LngLatPoint> | Array.<Cesium.Cartesian3>

坐标位置数组

options object {} 可选

控制的参数

参数名称 类型 描述信息
height object 可选

地形压平时,高度值

diffHeight object 可选

地形开挖和抬升时,墙体的高度值

simplify object 可选

是否简化坐标点位,为空时不简化

参数名称 类型 默认值 描述信息
tolerance number 0.0001 可选

简化的程度,传值是经纬度的小数位

highQuality boolean true 可选

是否花更多的时间用不同的算法创建更高质量的简化

mutate boolean true 可选

是否允许对输入进行变异(如果为true,则显著提高性能)

id number | string 可选

外部自定义ID,注意不用有重复值。默认内部自动赋予

返回值:

添加区域的记录对象

继承自:

clear()void

清除开挖

返回值:

getAreaById(id)object

根据id获取区域对象

参数名称 类型 描述信息
id number | string

id值

返回值:

区域对象

继承自:

hideArea(id)void

隐藏单个区域

参数名称 类型 描述信息
id number | string

区域id值

返回值:

继承自:

removeArea(item)void

移除单个区域

参数名称 类型 描述信息
item number | string | object

区域的id值,或 addArea返回的区域对象

返回值:

继承自:

showArea(id)void

显示单个区域

参数名称 类型 描述信息
id number | string

区域id值

返回值:

继承自: