楼层导航插件
楼层导航指的是在三维模型中进行不同楼层之间的浏览和切换的功能。
在SDK中,楼层导航插件通常用于帮助用户更方便查看和分析建筑的各个楼层及其细节信息。
1. 功能说明
楼层导航插件主要有2个功能:楼层切换及获取信息功能。
1.1 楼层切换
可以通过方法switchFloor俩切换楼层,便于查看不同楼层的详细信息。
1.2 获取数据
可以将需要获取的数据,如楼层名称、楼层高度等,通过方法getShape获取。
2. 构造
在SDK中实例化楼层导航插件,代码示例如下:
const floorGuidePlugin = new ubm.FloorGuidePlugin()
3. 属性
| 属性 | 类型 | 可选 | 说明 |
|---|---|---|---|
| data | --- | 楼层数据 |
3.1 楼层数据
可获取当前模型的楼层的数据,代码示例如下:
const res = floorGuidePlugin.model.data
4. 方法
| 方法 | 说明 |
|---|---|
| getStructureData() | 获取请求模型的楼层数据 |
| switchFloor() | 切换楼层 |
4.1 获取请求模型的楼层数据
getStructureData(layer: ILayer, callback: Function): void
参数layer:对应模型;
参数callback是回调函数。
获取当前的楼层数据,代码示例如下:
floorGuidePlugin.model.getStructureData(layer, (res) => {
// res 为请求模型的楼层数据
console.log(res)
})
4.2 切换楼层
switchFloor(layer: ILayer, key: string, isLinkageTree: boolean, style: FloorGuideStyle): void
参数layer:对应模型;
参数key:对应楼层;
参数isLinkageTree:是否联动树,当为true时,切换楼层时会联动树,即构件树中会进行对应的楼层数据勾选,否则不会联动树。
参数style:楼层样式,其数据结构如下:
- 楼层样式
FloorGuideStyle
interface FloorGuideStyle {
// 上层样式,其中默认type为none
above?: FloorGuideItemStyle,
// 当前楼层样式 ,其中默认type为solid
current?: FloorGuideItemStyle,
// 下层样式, 其中默认type为solid
below?: FloorGuideItemStyle
}
- 单个楼层样式
FloorGuideItemStyle
interface FloorGuideItemStyle {
// 类型:实线`solid`、透视`x-ray`、线框`wire-frame`、不显示`none`
type: 'solid' | 'x-ray' | 'wire-frame' | 'none'
// 当type为wire-frame(线框)时,才生效
edge?: Edge
}
- 模型边缘线
Edge
interface Edge {
// 实线`solid`、草图`sketch`
type: 'solid' | 'sketch'
// 颜色
color?: string
// 大小
size?: number
// 延伸长度
extensionLength?: number
}
点击切换至第二层,代码示例如下:
floorGuidePlugin.model.switchFloor( layer, '2F',false,{})