ExternalObjectManager

Glodon.Bimface.ElementManager~ ExternalObjectManager

Glodon.Bimface.ElementManager.ExternalObjectManager

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
Name Type Description
name String

外部构件名称

url Object

外部构件资源对象

Properties
Name Type Description
objectUrl String

外部构件资源url

object Object

待加载的外部构件对象

url.mtlUrl String

外部构件mtl资源url

objectData Array

外部构件筛选条件数组

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
Name Type Description
type String

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

color Glodon.Web.Graphics.Color

发光效果颜色

intensity Number

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

spread Number

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

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 则不生效