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

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

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

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列表

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

描述模型坐标变换的对象

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方向的平移距离

removeById(id)

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

Parameters:
Name Type Description
id String

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

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

translate(id, distance)

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

Parameters:
Name Type Description
id String

外部构件ID

distance Object

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