ExternalObjectManager
类:外部构件管理器,用于管理和操作ExternalObjectLayer下的外部构件
Methods
addEventListener(event, callback)
注册监听事件
Parameters:
| Name | Type | Description | 
|---|---|---|
| event | Glodon.Bimface.Earth.ElementManager.ExternalObjectEvent | 外部构件的监听事件 | 
| callback | Function | 监听事件的回调函数 | 
clear()
移除管理器内所有的外部构件
clearGlowEffect()
清空管理器内的发光效果
clone(objectId, name)
克隆指定的外部构件
Parameters:
| Name | Type | Description | 
|---|---|---|
| objectId | String | 被克隆的外部构件ID | 
| name | String | 克隆后的外部构件名称 | 
Returns:
| Type | Description | 
|---|---|
| String | 克隆后的外部构件ID | 
getAllObjectIds()
获取所有外部构件的ID
Returns:
| Type | Description | 
|---|---|
| Array | 外部构件ID列表 | 
getBoundingBoxById(id)
根据ID获取外部构件的包围盒信息
Parameters:
| Name | Type | Description | 
|---|---|---|
| id | String | 外部构件ID | 
Returns:
| Type | Description | 
|---|---|
| Object | 包围盒对象 | 
getLocation(id)
根据ID获取指定外部构件的位置
Parameters:
| Name | Type | Description | 
|---|---|---|
| id | String | 外部构件ID | 
Returns:
| Type | Description | 
|---|---|
| Object | 外部构件对应的位置信息:经纬度+高程,例{lat: 31.254685987, lon: 121.568945612, alt: 0} | 
getObjectData(id)
获取指定ID外部构件的objectData内容
Parameters:
| Name | Type | Description | 
|---|---|---|
| id | String | 外部构件ID | 
Returns:
| Type | Description | 
|---|---|
| Array | 筛选条件数组,每个元素均为key-value对象 | 
getObjectIdByName(name)
根据构件名称获取对应的构件ID
Parameters:
| Name | Type | Description | 
|---|---|---|
| name | String | 外部构件名称 | 
Returns:
| Type | Description | 
|---|---|
| String | 管理器内的外部构件ID | 
getTransformation(id)
获取指定外部构件的坐标变换状态
Parameters:
| Name | Type | Description | 
|---|---|---|
| id | String | 管理器内的外部构件ID | 
Returns:
| Type | Description | 
|---|---|
| Array | 描述模型坐标变换的对象 | 
isAnimatable(id)
根据ID判断外部构件是否包含动画
Parameters:
| Name | Type | Description | 
|---|---|---|
| id | String | 管理器内的外部构件ID | 
Returns:
| Type | Description | 
|---|---|
| Boolean | 是否包含动画 | 
loadObject(option, successCallback, failureCallback)
添加外部构件
Parameters:
| Name | Type | Description | 
|---|---|---|
| option | Object | 添加外部构件选项 | 
| successCallback | Function | 加载成功时的回调函数 | 
| failureCallback | Function | 加载失败时的回调函数 | 
offset(id, offset)
根据ID对外部构件在局部坐标系下进行平移
Parameters:
| Name | Type | Description | 
|---|---|---|
| id | String | 管理器内的外部构件ID | 
| offset | Object | 外部构件在局部坐标系下的平移距离,如:{ x: 5000, y: 3000, z: -600 } | 
overrideColor(condition, color)
根据条件给指定外部构件着色
Parameters:
| Name | Type | Description | 
|---|---|---|
| condition | Object | 筛选条件 | 
| color | Glodon.Web.Graphics.Color | 着色颜色 | 
pause(id)
根据ID暂停外部构件动画
Parameters:
| Name | Type | Description | 
|---|---|---|
| id | String | 管理器内的外部构件ID | 
play(id)
根据ID播放外部构件动画
Parameters:
| Name | Type | Description | 
|---|---|---|
| id | String | 管理器内的外部构件ID | 
removeById(id)
根据ID将指定外部构件从场景中移除
Parameters:
| Name | Type | Description | 
|---|---|---|
| id | String | 管理器内的外部构件ID | 
removeByIds(ids)
根据ID列表将指定外部构件从场景中移除
Parameters:
| Name | Type | Description | 
|---|---|---|
| ids | Array | 外部构件ID列表 | 
removeEventListener(event, callback)
移除监听事件
Parameters:
| Name | Type | Description | 
|---|---|---|
| event | Glodon.Bimface.Earth.ElementManager.ExternalObjectEvent | 外部构件的监听事件 | 
| callback | Function | 监听事件的回调函数 | 
removeGlowEffectById(ids)
根据ID移除发光效果
Parameters:
| Name | Type | Description | 
|---|---|---|
| ids | Array | 管理器内的外部构件ID | 
removeSelection(condition)
根据条件取消外部构件的选中状态
Parameters:
| Name | Type | Description | 
|---|---|---|
| condition | Object | 构件筛选条件 | 
restoreColor(condition)
根据条件清空外部构件颜色,恢复默认显示
Parameters:
| Name | Type | Description | 
|---|---|---|
| condition | Object | 筛选条件 | 
rotate(id, rotation)
根据ID将外部构件绕局部坐标系的坐标轴进行旋转
Parameters:
| Name | Type | Description | 
|---|---|---|
| id | String | 外部构件ID | 
| rotation | Object | 外部构件绕局部坐标轴的旋转值,如{x:Math.PI/4, y: 0, z: 0} | 
scale(id, scale)
根据ID对外部构件在局部坐标系下进行缩放,缩放中心为局部坐标原点
Parameters:
| Name | Type | Description | 
|---|---|---|
| id | String | 管理器内的外部构件ID | 
| scale | Object | 外部构件在局部坐标系下的缩放倍数,如:{ x: 1.5, y: 1.0, z: 1.0 } (x、y、z值不能为0) | 
select(condition)
根据条件选择对应外部构件
Parameters:
| Name | Type | Description | 
|---|---|---|
| condition | Object | 构件筛选条件 | 
setGlowEffectById(ids, option)
根据ID列表设置外部构件的发光效果
Parameters:
| Name | Type | Description | 
|---|---|---|
| ids | Array | 外部构件ID列表 | 
| option | Object | 发光效果参数 | 
setLocation(id, location)
根据ID设置指定外部构件的位置,可设置经纬度高程
Parameters:
| Name | Type | Description | 
|---|---|---|
| id | String | 外部构件ID | 
| location | Object | 外部构件对应的经纬度及高程,例{lat: 31.254685987, lon: 121.568945612, alt: 0} | 
setObjectData(id, objectData)
设置指定ID外部构件的objectData内容,用于构件筛选
Parameters:
| Name | Type | Description | 
|---|---|---|
| id | String | 外部构件ID | 
| objectData | Array | 筛选条件数组,每个元素均为key-value对象 | 
setTransformation(id, transformation)
设置指定外部构件的坐标变换状态
Parameters:
| Name | Type | Description | 
|---|---|---|
| id | String | 管理器内的外部构件ID | 
| transformation | Array | 描述模型坐标变换的对象,可通过ExternalObjectManager.getTransformation()获得 | 
stop(id)
根据ID停止播放外部构件动画
Parameters:
| Name | Type | Description | 
|---|---|---|
| id | String | 管理器内的外部构件ID | 
hide(condition)
按条件隐藏外部构件
Parameters:
| Name | Type | Description | 
|---|---|---|
| condition | Object | 构件筛选条件 | 
show(condition)
按条件显示外部构件
Parameters:
| Name | Type | Description | 
|---|---|---|
| condition | Object | 筛选条件对象,与条件匹配的外部构件将被显示,若不传入 condition 则不生效 |