Glodon.Bimface.Viewer.Viewer3D
类:操作3D模型
Constructor
new Glodon.Bimface.Viewer.Viewer3D(config)
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
config | Y | Viewer3DConfig | 配置项 |
Methods
render()
渲染整个场景
当调用了viewer3D的其他函数(用于控制显示的函数),必须手动调用render(),场景才会显示效果
如果同时需要调用多个函数,强烈建议在最后调用一次render()
addView(viewToken)
添加一个模型到场景
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
viewToken | Y | String |
hideComponents(objectIds)
隐藏构件
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
objectIds | Y | String Array | 多个objectId的数组 | [“x1”, “x2”] |
showComponents(objectIds)
显示构件
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
objectIds | Y | String Array | 多个objectId的数组 | [“x1”, “x2”] |
showAllComponents()
显示所有构件
overrideComponentsColorById(objectIds, color)
改变构件的颜色
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
objectIds | Y | String Array | 多个objectId的数组 | [“x1”, “x2”] |
color | Y | Color | 颜色 |
restoreComponentsColorById(objectIds)
恢复构件的原来颜色
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
objectIds | Y | String Array | 多个objectId的数组 | [“x1”, “x2”] |
isolateComponentsById(objectIds, state)
隔离构件,其他全部隐藏或半透明。
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
objectIds | Y | String Array | 多个objectId的数组 | [“x1”, “x2”] |
state | Y | IsolateOption | 隔离方式 | Glodon.Bimface.Viewer.IsolateOption.MakeOthersTranslucent |
isolateComponentsByObjectData(conditions, state)
根据筛选条件隔离构件,支持多种条件的组合。
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
conditions | Y | Object Array | 筛选条件,查看说明 | |
state | Y | IsolateOption | 隔离方式 | Glodon.Bimface.Viewer.IsolateOption.MakeOthersTranslucent |
clearIsolation()
清除隔离
disableComponentsSelectionById(objectIds)
禁止构件选中
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
objectIds | Y | String Array | 多个objectId的数组 | [“x1”, “x2”] |
setSelectedComponentsById(objectIds)
设置多个构件为选中集合
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
objectIds | Y | String Array | 多个objectId的数组 | [“x1”, “x2”] |
addSelectedComponentsById(objectIds)
在选中集合中继续添加构件
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
objectIds | Y | String Array | 多个objectId的数组 | [“x1”, “x2”] |
getSelectedComponents()
获取选中集合中的构件ID数组
Returns
类型 | 说明 |
---|---|
String Array | 多个objectId的数组 |
removeSelectedId(objectId)
从选中集合中删除一个构件
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
objectId | Y | String Array | 多个objectId的数组 | [“x1”, “x2”] |
showExclusiveComponentsByObjectData(conditions)
显示满足条件的构件,其余全部隐藏
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
conditions | Y | Object Array | 筛选条件,查看说明 |
setComponentsOpacity(objectIds, opacity)
设置构件半透明,或取消构件半透明
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
objectIds | Y | String Array | 多个objectId的数组 | [“x1”, “x2”] |
opacity | Y | OpacityOption | 半透明,或取消半透明 | Glodon.Bimface.Viewer.OpacityOption.Translucent |
getCameraStatus()
获取相机位置信息,用于保存后恢复相机视点
Returns
类型 | 说明 |
---|---|
Object | 相机位置信息 |
setCameraStatus(cameraStatus)
根据相机位置信息恢复视点。
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
cameraStatus | Y | Object | getCameraStatus返回的对象 |
setView(view)
让三维模型回到标准视角
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
view | Y | ViewOption | 标准视角 | Glodon.Bimface.Viewer.ViewOption.Home |
zoomToBoundingBox(boundingBox)
缩放到指定包围盒
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
boundingBox | Y | Object | TODO | TODO |
zoomToSelectedComponents()
缩放到加入选中集合的构件
zoomIn()
三维模型放大
zoomOut()
三维模型缩小
getCurrentState()
获取当前模型的浏览状态
Returns
类型 | 说明 |
---|---|
Object | TODO |
setState(state)
恢复模型的状态
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
state | Y | Object | getCurrentState()的返回值 | TODO |
setCameraAnimation(enabled)
是否允许转场动画(目前仅支持setCameraStatus()、setState()、 setView()三种API)
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
enabled | Y | Boolean | 是否允许转场动画 | false |
showViewHouse()
显示ViewHouse
hideViewHouse()
隐藏ViewHouse
setBackgroundColor(color)
设置模型区域背景颜色
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
color | Y | Color | 颜色 |
Sample
var colorRed = new Glodon.Web.Graphics.Color(255, 0, 0, 1);
viewer3D.setBackgroundColor(colorRed);
enableOrbit(enabled)
是否允许模型旋转
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
enabled | Y | Boolean | 是否允许模型旋转 | false |
enableMouseHoverHighlight()
允许鼠标hover构件时高亮
disableMouseHoverHighlight()
禁止鼠标hover构件时高亮
setOrbitButton(orbitButton)
设置鼠标旋转习惯,左键 or 右键
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
orbitButton | Y | OrbitButton | 设置左右鼠标,进行模型旋转 | Glodon.Bimface.Viewer.OrbitButton.Left |
setNavigationMode(navigationMode)
设置导航模式
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
navigationMode | Y | NavigationMode3D | 导航模式 | Glodon.Bimface.Viewer.NavigationMode3D.Fly |
setMinimumFPS(num)
设置帧率
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
num | Y | Number | 最小渲染帧率,取值范围:4-60 | 15 |
createSnapshotAsync(Color,callback)
创建快照图片
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
color | Y | Color | 颜色 | new Glodon.Web.Graphics.Color(255, 0, 0, 1) |
callback(data) | Y | Function | 加载成功之后的回调函数,回调函数的参数见下表 |
Callback Parameters
名称 | 类型 | 说明 |
---|---|---|
data | Json Object | 图片数据 |
Returns
类型 | 说明 |
---|---|
Base64 | 图片的Base64编码 |
startAutoRotate(speed)
模型在屏幕中心自动旋转
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
speed | Y | Number | 速率,正负表示方向,数值表示速度 | -0.5 |
stopAutoRotate()
停止自动旋转
getComponentProperty(objectId, callback)
获取构件属性
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
objectId | Y | String | 构件的objectId | |
callback(data) | Y | Function | 加载成功之后的回调函数,回调函数的参数见下表 |
Callback Parameters
名称 | 类型 | 说明 |
---|---|---|
data | Json Object | 构件属性 |
getModeTree(callback)
获取模型构件目录结构树
Parameters
名称 | 必填 | 类型 | 说明 |
---|---|---|---|
callback(data) | Y | Function | 加载成功之后的回调函数,回调函数的参数见下表 |
Callback Parameters
名称 | 类型 | 说明 |
---|---|---|
data | Json Object | 模型构件目录结构树 |
getFamilyTypes()
获取族类型
注:仅适于 .rfa 文件格式
Returns
类型 | 说明 |
---|---|
String Array | 族类型列表 |
showFamilyTypeById(typeId)
切换族类型
注:仅适于 .rfa 文件格式
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
typeId | Y | String | 族类型id |
enableFullScreen(enabled)
全屏
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
enabled | Y | Boolean | 是否全屏显示 | true |
setBorderLineEnabled(enabled)
是否渲染轮廓线
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
enabled | Y | Boolean | 是否渲染轮廓线 | true |
resize(width, height)
设置场景大小
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
width | Y | Number | 场景的宽度,单位:px | 800 |
height | Y | Number | 场景的高度,单位:px | 600 |
addEventListener(eventName, handler)
增加监听事件
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
eventName | Y | Viewer3DEvent | 事件名称 | |
handler | Y | Function | 处理事件的函数,参数见:Viewer3DEvent |
removeEventListener(eventName, handler)
移除监听事件
Parameters
名称 | 必填 | 类型 | 说明 | 示例 |
---|---|---|---|---|
eventName | Y | Viewer3DEvent | 事件名称 | |
handler | Y | Function | 处理事件的函数,参数见:Viewer3DEvent |