ExternalObjectManager

类:外部构件管理器,用于管理和操作ExternalObjectLayer下的外部构件

Methods

addEventListener(event, callback)

注册监听事件

Parameters:
NameTypeDescription
eventGlodon.Bimface.ElementManager.ExternalObjectEvent

外部构件的监听事件

callbackFunction

监听事件的回调函数

clear()

移除管理器内所有的外部构件

clearGlowEffect()

清空管理器内的发光效果

clone(objectId, name)

克隆指定的外部构件

Parameters:
NameTypeDescription
objectIdString

被克隆的外部构件ID

nameString

克隆后的外部构件名称

Returns:
TypeDescription
String

克隆后的外部构件ID

convert(id, hideSourceObject)

根据ID将指定构件转换为外部构件

Parameters:
NameTypeDescription
idObject

ID

layerIdString

构件所在的图层ID

objectIdString

构件ID

hideSourceObjectBoolean

是否隐藏源对象,默认为true

Returns:
TypeDescription
Object

转换完的构件对象

getAllObjectIds()

获取所有外部构件的ID

Returns:
TypeDescription
Array

外部构件ID列表

getBoundingBoxById(id)

根据ID获取外部构件的包围盒信息

Parameters:
NameTypeDescription
idString

外部构件ID

Returns:
TypeDescription
Object

包围盒对象

getLocation(id)

根据ID获取指定外部构件的位置

Parameters:
NameTypeDescription
idString

外部构件ID

Returns:
TypeDescription
Object

外部构件对应的位置信息,包括经纬度高程与世界坐标,例 {latLon: {lat: 31.254685987, lon: 121.568945612, alt: 0}, worldPosition: {x:500, y:1000, z:0}}

getObjectData(id)

获取指定ID外部构件的objectData内容

Parameters:
NameTypeDescription
idString

外部构件ID

Returns:
TypeDescription
Array

筛选条件数组,每个元素均为key-value对象

getObjectIdByName(name)

根据构件名称获取对应的构件ID

Parameters:
NameTypeDescription
nameString

外部构件名称

Returns:
TypeDescription
String

管理器内的外部构件ID

getPosition(id)

根据ID获取外部构件的局部坐标原点在世界坐标系中的位置

Parameters:
NameTypeDescription
idString

管理器内的外部构件ID

Returns:
TypeDescription
Object

外部构件的局部坐标原点在世界坐标系中的位置,如:{ x: 5000, y: 3000, z: -600 }

getTransformation(id)

获取指定外部构件的坐标变换状态

Parameters:
NameTypeDescription
idString

管理器内的外部构件ID

Returns:
TypeDescription
Array

描述模型坐标变换的对象

isAnimatable(id)

根据ID判断外部构件是否包含动画

Parameters:
NameTypeDescription
idString

管理器内的外部构件ID

Returns:
TypeDescription
Boolean

是否包含动画

loadObject(option, successCallback, failureCallback)

添加外部构件

Parameters:
NameTypeDescription
optionObject

添加外部构件选项

nameString

外部构件名称,必填

urlObject

外部构件资源对象

objectUrlString

外部构件资源url, 与option.object之间必填一项

mtlUrlString

外部构件mtl资源url

objectObject

待加载的外部构件对象

objectDataArray

筛选条件数组

enableLightBoolean

判断是否导入外部构件的光照效果

successCallbackFunction

加载成功时的回调函数

failureCallbackFunction

加载失败时的回调函数

offset(id, offset)

根据ID对外部构件在局部坐标系下进行平移

Parameters:
NameTypeDescription
idString

管理器内的外部构件ID

offsetObject

外部构件在局部坐标系下的平移距离,如:{ x: 5000, y: 3000, z: -600 }

offsetX(id, offsetX)

根据ID对外部构件在局部坐标系的X方向进行平移

Parameters:
NameTypeDescription
idString

管理器内的外部构件ID

offsetXNumber

外部构件在局部坐标系X方向的平移距离

offsetY(id, offsetY)

根据ID对外部构件在局部坐标系的Y方向进行平移

Parameters:
NameTypeDescription
idString

管理器内的外部构件ID

offsetYNumber

外部构件在局部坐标系Y方向的平移距离

offsetZ(id, offsetZ)

根据ID对外部构件在局部坐标系的Z方向进行平移

Parameters:
NameTypeDescription
idString

管理器内的外部构件ID

offsetZNumber

外部构件在局部坐标系Z方向的平移距离

overrideColor(condition, color)

根据条件给指定外部构件着色

Parameters:
NameTypeDescription
conditionObject

筛选条件

idsArray

由外部构件ID组成的数组

objectDataArray

由外部构件ObjectData组成的数组,用于进行条件筛选

allBoolean

当前管理器下的全部外部构件,仅设置为true时生效

colorGlodon.Web.Graphics.Color

着色颜色

pause(id)

根据ID暂停外部构件动画

Parameters:
NameTypeDescription
idString

管理器内的外部构件ID

play(id)

根据ID播放外部构件动画

Parameters:
NameTypeDescription
idString

管理器内的外部构件ID

removeById(id)

根据ID将指定外部构件从场景中移除

Parameters:
NameTypeDescription
idString

管理器内的外部构件ID

removeByIds(ids)

根据ID列表将指定外部构件从场景中移除

Parameters:
NameTypeDescription
idsArray

外部构件ID列表

removeEventListener(event, callback)

移除监听事件

Parameters:
NameTypeDescription
eventGlodon.Bimface.ElementManager.ExternalObjectEvent

外部构件的监听事件

callbackFunction

监听事件的回调函数

removeGlowEffectById(ids)

根据ID移除发光效果

Parameters:
NameTypeDescription
idsArray

管理器内的外部构件ID

removeSelection(condition)

根据条件取消外部构件的选中状态

Parameters:
NameTypeDescription
conditionObject

构件筛选条件

idsArray

由构件ID组成的数组,例如:{ids:[“11”,”22”,”33”]

objectDataArray

由构件objectData组成的数组,用于进行条件筛选,例如:[{familyType: xxx, category: xxx}]

allBoolean

全部构件,仅设置为true时生效

restoreColor(condition)

根据条件清空外部构件颜色,恢复默认显示

Parameters:
NameTypeDescription
conditionObject

筛选条件

idsArray

由外部构件ID组成的数组

objectDataArray

由外部构件ObjectData组成的数组,用于进行条件筛选

allBoolean

当前管理器下的全部外部构件,仅设置为true时生效

rotate(id, rotation)

根据ID将外部构件绕局部坐标系的坐标轴进行旋转

Parameters:
NameTypeDescription
idString

外部构件ID

rotationObject

外部构件绕局部坐标轴的旋转值,如{x:Math.PI/4, y: 0, z: 0}

rotateOnBasePoint(id, basePoint, axis, radian)

根据自定义基点和旋转轴旋转外部构件,坐标系为世界坐标系

Parameters:
NameTypeDescription
idString

管理器内的外部构件ID

basePointObject

旋转中心点坐标 例如:{ x: 5000, y: 3000, z: -600 }

axisObject

旋转向量 例如:{ x: 0, y: 0.5, z: -0.6 }

radianNumber

旋转弧度值 如Math.PI / 6

rotateX(id, radianX)

根据ID将外部构件沿着局部坐标系X轴旋转

Parameters:
NameTypeDescription
idString

管理器内的外部构件ID

radianXNumber

外部构件沿着局部坐标系X轴旋转的弧度值

rotateY(id, radianY)

根据ID将外部构件沿着局部坐标系Y轴旋转

Parameters:
NameTypeDescription
idString

管理器内的外部构件ID

radianYNumber

外部构件沿着局部坐标系Y轴旋转的弧度值

rotateZ(id, radianZ)

根据ID将外部构件沿着局部坐标系Z轴旋转

Parameters:
NameTypeDescription
idString

管理器内的外部构件ID

radianZNumber

外部构件沿着局部坐标系Z轴旋转的弧度值

scale(id, scale)

根据ID对外部构件在局部坐标系下进行缩放,缩放中心为局部坐标原点

Parameters:
NameTypeDescription
idString

管理器内的外部构件ID

scaleObject

外部构件在局部坐标系下的缩放倍数,如:{ x: 1.5, y: 1.0, z: 1.0 } (x、y、z值不能为0)

scaleOnBasePoint(id, basePoint, scale)

根据自定义基点和向量缩放外部构件,坐标系为世界坐标系

Parameters:
NameTypeDescription
idString

管理器内的外部构件ID

basePointObject

缩放中心点坐标 例如:{ x: 5000, y: 3000, z: -600 }

scaleObject

缩放向量 例如:{ x: 1, y: 0.5, z: 0.6 }

scaleX(id, scaleX)

根据ID将外部构件沿着局部坐标系X轴方向进行缩放,缩放中心为局部坐标原点

Parameters:
NameTypeDescription
idString

管理器内的外部构件ID

scaleXNumber

外部构件沿着局部坐标系X轴方向进行缩放的倍数(不能为0)

scaleY(id, scaleY)

根据ID将外部构件沿着局部坐标系Y轴方向进行缩放,缩放中心为局部坐标原点

Parameters:
NameTypeDescription
idString

管理器内的外部构件ID

scaleYNumber

外部构件沿着局部坐标系Y轴方向进行缩放的倍数(不能为0)

scaleZ(id, scaleZ)

根据ID将外部构件沿着局部坐标系Z轴方向进行缩放,缩放中心为局部坐标原点

Parameters:
NameTypeDescription
idString

管理器内的外部构件ID

scaleZNumber

外部构件沿着局部坐标系Z轴方向进行缩放的倍数(不能为0)

select(condition)

根据条件选择对应外部构件

Parameters:
NameTypeDescription
conditionObject

构件筛选条件

idsArray

由构件ID组成的数组,例如:{ids:[“11”,”22”,”33”]

objectDataArray

由构件objectData组成的数组,用于进行条件筛选,例如:[{familyType: xxx, category: xxx}]

allBoolean

全部构件,仅设置为true时生效

setGlowEffectById(ids, option)

根据ID列表设置外部构件的发光效果

Parameters:
NameTypeDescription
idsArray

外部构件ID列表

optionObject

发光效果参数

typeString

发光效果类型,“body”为整体发光,“outline”为轮廓线发光,默认为“body”

colorGlodon.Web.Graphics.Color

发光效果颜色

intensityNumber

发光强度,取值范围[0,1],默认值为0.3

spreadNumber

扩散程度,取值范围[1,5],默认值为3

setLocation(id, location)

根据ID设置指定外部构件的位置,可设置经纬度高程,也可设置世界坐标

Parameters:
NameTypeDescription
idString

外部构件ID

locationObject

外部构件对应的位置信息,可基于经纬度高程设置,也可基于世界坐标设置,例 {latLon: {lat: 31.254685987, lon: 121.568945612, alt: 0}}或{worldPosition: {x:500, y:1000, z:10}}

latLonObject

外部构件对应的经纬度及高程信息

latNumber

纬度

lonNumber

经度

altNumber

高程

worldPositionObject

外部构件对应的世界坐标,例如{x:500, y:1000, z:10}

setObjectData(id, objectData)

设置指定ID外部构件的objectData内容,用于构件筛选

Parameters:
NameTypeDescription
idString

外部构件ID

objectDataArray

筛选条件数组,每个元素均为key-value对象

setPosition(id, position)

根据ID设置外部构件的局部坐标原点在世界坐标系中的位置

Parameters:
NameTypeDescription
idString

管理器内的外部构件ID

positionObject

外部构件的局部坐标原点在世界坐标系中的位置,如:{ x: 5000, y: 3000, z: -600 }

setTransformation(id, transformation)

设置指定外部构件的坐标变换状态

Parameters:
NameTypeDescription
idString

管理器内的外部构件ID

transformationArray

描述模型坐标变换的对象,可通过ExternalObjectManager.getTransformation()获得

stop(id)

根据ID停止播放外部构件动画

Parameters:
NameTypeDescription
idString

管理器内的外部构件ID

toLocalPosition(id, option)

根据ID设置世界坐标系中的点和向量,在外部构件局部坐标系中的位置和方向

Parameters:
NameTypeDescription
idString

外部构件ID

optionObject

需要转换的配置项

worldPositionObject

世界坐标系下的点,如:{ x: 5000, y: 3000, z: -600 }

worldVectorObject

世界坐标系下的向量 例如:{ x: 0, y: 0.5, z: -0.6 }

Returns:
TypeDescription
Object

世界坐标系下的点和向量,在外部构件的局部坐标系中的位置和方向,例如:{localPosition:{ x: 1000, y: 2000, z: -300 },localVector:{ x: 0, y: 0.5, z: -1 }}

toWorldPosition(id, option)

根据ID设置在外部构件局部坐标系中的点和向量,在世界坐标系中的位置和方向

Parameters:
NameTypeDescription
idString

外部构件ID

optionObject

需要转换的配置项

localPositionObject

局部坐标系下的点,如:{ x: 1000, y: 2000, z: -300 }

localVectorObject

局部坐标系下的向量 例如:{ x: 0, y: 0.5, z: -1 }

Returns:
TypeDescription
Object

外部构件局部坐标系下的点和向量,世界坐标系中的位置和方向,例如:{worldPosition:{x: 5000, y: 3000, z: -600 },worldVector:{ x: 0, y: 0.5, z: -0.6 }}

translate(id, translation)

平移外部构件,坐标系为世界坐标系

Parameters:
NameTypeDescription
idString

管理器内的外部构件ID

translationObject

平移向量 例如:{ x: 5000, y: 3000, z: -600 }

hide(condition)

按条件隐藏外部构件

Parameters:
NameTypeDescription
conditionObject

构件筛选条件

idsArray

由构件ID组成的数组,例如:{ids:[“11”,”22”,”33”]

objectDataArray

由构件objectData组成的数组,用于进行条件筛选,例如:[{familyType: xxx, category: xxx}]

allBoolean

全部构件,仅设置为true时生效

show(condition)

按条件显示外部构件

Parameters:
NameTypeDescription
conditionObject

筛选条件对象,与条件匹配的外部构件将被显示,若不传入 condition 则不生效

idsArray

由构件ID组成的数组,例如:{ids:[“11”,”22”,”33”]

objectDataArray

由构件objectData组成的数组,用于进行条件筛选,例如:[{familyType: xxx, category: xxx}]

allBoolean

全部构件,仅设置为true时生效