ExternalObjectManager

.ExternalObject~ ExternalObjectManager

Glodon.Bimface.Plugins.ExternalObject.ExternalObjectManager

Constructor

new Glodon.Bimface.Plugins.ExternalObject.ExternalObjectManager(viewer)

Parameters:
Name Type Description
viewer Glodon.Bimface.Viewer.Viewer3D

Viewer3D对象

Methods

addEventListener(eventName, handler)

注册监听事件

Parameters:
Name Type Description
eventName string

事件名

handler function

监听事件的回调函数

addObject(name, object, modelId)

添加外部构件

Parameters:
Name Type Description
name String

外部构件名称

object Object

待加载的构件对象

modelId String

模型ID,非必填

Returns:
Type Description
String

外部构件ID

addObjectByUrl(name, objectUrl, callback, modelId)

以url方式添加外部构件

Parameters:
Name Type Description
name String

外部构件名称

objectUrl Object

{'url': … , 'mtlUrl': … },其中,url为待加载的外部构件url(目前支持格式为3DS、FBX、OBJ);若涉及mtl文件,则需添加mtlUrl参数

callback function

加载成功的回调函数

modelId String

模型ID,非必填

clear()

移除场景内所有的外部构件

clone(objectId, name)

克隆指定的外部构件

Parameters:
Name Type Description
objectId String

被克隆的外部构件ID

name String

克隆后的外部构件名称

Returns:
Type Description
String

克隆后的外部构件ID

convert(objectId, hideSourceObject)

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

Parameters:
Name Type Description
objectId String

构件ID(特指场景内即有的构件)

hideSourceObject Boolean

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

Returns:
Type Description
Object

待加载的构件对象

getAllObjectIds()

获取所有外部构件的ID

Returns:
Type Description
Array

外部构件ID列表

getAssociatedInfo(id)

根据外部构件ID获取关联的模型/构件ID信息

Parameters:
Name Type Description
id String

外部构件ID

Returns:
Type Description
Object

外部构件关联的模型/构件ID信息,例{modelId:'1234',objectId:'5678'}

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

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

描述模型坐标变换的对象

hide()

按条件隐藏外部构件

isAnimatable(id)

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

Parameters:
Name Type Description
id String

外部构件ID

Returns:
Type Description
Boolean

是否包含动画

loadObject(option, successCallback, failureCallback)

以url方式添加外部构件

Parameters:
Name Type Description
option Object

添加外部构件的选项

Properties
Name Type Description
name String

外部构件名称,必填

url Object

外部构件资源对象

Properties
Name Type Description
objectUrl String

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

mtlUrl String

外部构件mtl资源url

object Object

待加载的外部构件对象,与option.url.objectUrl之间必填一项

objectData Array

筛选条件数组

association Object

外部构件的关联信息

Properties
Name Type Description
modelId String

关联的模型ID

objectId String

关联的构件ID

successCallback function

加载成功的回调函数

failureCallback function

加载失败的回调函数

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(ids)

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

Parameters:
Name Type Description
ids Array

外部构件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

Object Ids.

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()获得

show()

按条件显示外部构件

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 }