Constructor
new Glodon.Bimface.ElementManager.ExternalObjectManager(viewer)
Parameters:
Name | Type | Description |
---|---|---|
viewer | Object | Viewer对象 |
Methods
addEventListener(eventName, handler)
注册监听事件
Parameters:
Name | Type | Description |
---|---|---|
eventName | string | 事件名 |
handler | function | 监听事件的回调函数 |
addObject(option, successCallback, failureCallback)
添加外部构件
Parameters:
Name | Type | Description | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
option | Object | 添加外部构件选项 Properties
|
||||||||||||||||||||||||
successCallback | function | 加载成功时的回调函数 |
||||||||||||||||||||||||
failureCallback | function | 加载失败时的回调函数 |
clear()
移除管理器内所有的外部构件
getAllObjectIds()
获取所有外部构件的ID
Returns:
Type | Description |
---|---|
Array |
外部构件ID列表 |
getObjectData(id)
获取指定ID外部构件的objectData内容
Parameters:
Name | Type | Description |
---|---|---|
id | String | 外部构件ID |
Returns:
Type | Description |
---|---|
Array |
筛选条件数组,每个元素均为key-value对象 |
getObjectIdAndName()
获取所有外部构件的ID与Name
Returns:
Type | Description |
---|---|
String |
管理器内的外部构件ID与NAME |
getObjectIdByName(name)
根据构件名称获取对应的构件ID
Parameters:
Name | Type | Description |
---|---|---|
name | String | 外部构件名称 |
Returns:
Type | Description |
---|---|
String |
管理器内的外部构件ID |
getPosition(id)
根据ID获取外部构件的局部坐标原点在世界坐标系中的位置
Parameters:
Name | Type | Description |
---|---|---|
id | String | 管理器内的外部构件ID |
Returns:
Type | Description |
---|---|
Object |
外部构件的局部坐标原点在世界坐标系中的位置,如:{ x: 5000, y: 3000, z: -600 } |
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 |
是否包含动画 |
offset(id, offset)
根据ID对外部构件在局部坐标系下进行平移
Parameters:
Name | Type | Description |
---|---|---|
id | String | 管理器内的外部构件ID |
offset | Object | 外部构件在局部坐标系下的平移距离,如:{ x: 5000, y: 3000, z: -600 } |
offsetX(id, offsetX)
根据ID对外部构件在局部坐标系的X方向进行平移
Parameters:
Name | Type | Description |
---|---|---|
id | String | 管理器内的外部构件ID |
offsetX | Number | 外部构件在局部坐标系X方向的平移距离 |
offsetY(id, offsetY)
根据ID对外部构件在局部坐标系的Y方向进行平移
Parameters:
Name | Type | Description |
---|---|---|
id | String | 管理器内的外部构件ID |
offsetY | Number | 外部构件在局部坐标系Y方向的平移距离 |
offsetZ(id, offsetZ)
根据ID对外部构件在局部坐标系的Z方向进行平移
Parameters:
Name | Type | Description |
---|---|---|
id | String | 管理器内的外部构件ID |
offsetZ | Number | 外部构件在局部坐标系Z方向的平移距离 |
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 |
removeEventListener(eventName, handler)
注册监听事件
Parameters:
Name | Type | Description |
---|---|---|
eventName | string | 事件名 |
handler | function | 监听事件的回调函数 |
removeGlowEffectById(ids)
根据ID移除发光效果
Parameters:
Name | Type | Description |
---|---|---|
ids | Array | 管理器内的外部构件ID |
rotateOnBasePoint(id, basePoint, axis, radian)
根据自定义基点和旋转轴旋转外部构件,坐标系为世界坐标系
Parameters:
Name | Type | Description |
---|---|---|
id | String | 管理器内的外部构件ID |
basePoint | Object | 旋转中心点坐标 例如:{ x: 5000, y: 3000, z: -600 } |
axis | Object | 旋转向量 例如:{ x: 0, y: 0.5, z: -0.6 } |
radian | Number | 旋转弧度值 如Math.PI / 6 |
rotateX(id, radianX)
根据ID将外部构件沿着局部坐标系X轴旋转
Parameters:
Name | Type | Description |
---|---|---|
id | String | 管理器内的外部构件ID |
radianX | Number | 外部构件沿着局部坐标系X轴旋转的弧度值 |
rotateY(id, radianY)
根据ID将外部构件沿着局部坐标系Y轴旋转
Parameters:
Name | Type | Description |
---|---|---|
id | String | 管理器内的外部构件ID |
radianY | Number | 外部构件沿着局部坐标系Y轴旋转的弧度值 |
rotateZ(id, radianZ)
根据ID将外部构件沿着局部坐标系Z轴旋转
Parameters:
Name | Type | Description |
---|---|---|
id | String | 管理器内的外部构件ID |
radianZ | Number | 外部构件沿着局部坐标系Z轴旋转的弧度值 |
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) |
scaleOnBasePoint(id, basePoint, scale)
根据自定义基点和向量缩放外部构件,坐标系为世界坐标系
Parameters:
Name | Type | Description |
---|---|---|
id | String | 管理器内的外部构件ID |
basePoint | Object | 缩放中心点坐标 例如:{ x: 5000, y: 3000, z: -600 } |
scale | Object | 缩放向量 例如:{ x: 1, y: 0.5, z: 0.6 } |
scaleX(id, scaleX)
根据ID将外部构件沿着局部坐标系X轴方向进行缩放,缩放中心为局部坐标原点
Parameters:
Name | Type | Description |
---|---|---|
id | String | 管理器内的外部构件ID |
scaleX | Number | 外部构件沿着局部坐标系X轴方向进行缩放的倍数(不能为0) |
scaleY(id, scaleY)
根据ID将外部构件沿着局部坐标系Y轴方向进行缩放,缩放中心为局部坐标原点
Parameters:
Name | Type | Description |
---|---|---|
id | String | 管理器内的外部构件ID |
scaleY | Number | 外部构件沿着局部坐标系Y轴方向进行缩放的倍数(不能为0) |
scaleZ(id, scaleZ)
根据ID将外部构件沿着局部坐标系Z轴方向进行缩放,缩放中心为局部坐标原点
Parameters:
Name | Type | Description |
---|---|---|
id | String | 管理器内的外部构件ID |
scaleZ | Number | 外部构件沿着局部坐标系Z轴方向进行缩放的倍数(不能为0) |
setGlowEffectById(ids, opt)
根据ID列表设置构件、房间、外部构件的发光效果
Parameters:
Name | Type | Description | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ids | Array | 构件、房间、外部构件ID列表 |
|||||||||||||||
opt | Object | 发光效果参数 Properties
|
setObjectData(id, objectData)
设置指定ID外部构件的objectData内容,用于构件筛选
Parameters:
Name | Type | Description |
---|---|---|
id | String | 外部构件ID |
objectData | Array | 筛选条件数组,每个元素均为key-value对象 |
setPosition(id, position)
根据ID设置外部构件的局部坐标原点在世界坐标系中的位置
Parameters:
Name | Type | Description |
---|---|---|
id | String | 管理器内的外部构件ID |
position | Object | 外部构件的局部坐标原点在世界坐标系中的位置,如:{ x: 5000, y: 3000, z: -600 } |
setTransformation(id, transformation)
设置指定外部构件的坐标变换状态
Parameters:
Name | Type | Description |
---|---|---|
id | String | 管理器内的外部构件ID |
transformation | Array | 描述模型坐标变换的对象,可通过ExternalObjectManager.getTransformation()获得 |
stop(id)
根据ID停止播放外部构件动画
Parameters:
Name | Type | Description |
---|---|---|
id | String | 管理器内的外部构件ID |
translate(id, distance)
平移外部构件,坐标系为世界坐标系
Parameters:
Name | Type | Description |
---|---|---|
id | String | 管理器内的外部构件ID |
distance | Object | 平移向量 例如:{ x: 5000, y: 3000, z: -600 } |
hide(condition)
隐藏该管理器内的资源
Parameters:
Name | Type | Description |
---|---|---|
condition | Array | 筛选条件对象,与条件匹配的外部构件将被隐藏,若不传入 condition 则不生效 |
show(condition)
显示该管理器内的资源
Parameters:
Name | Type | Description |
---|---|---|
condition | Array | 筛选条件对象,与条件匹配的外部构件将被显示,若不传入 condition 则不生效 |