Constructor
new PanoramicAndSceneSync(containerDiv, overlay)
构造函数
Parameters:
Name | Type | Default | Description |
---|---|---|---|
containerDiv |
* | containerDiv 容器Div,在默认的左右分屏模式下,将该DIV左右平分,左边为全景图,右边为三维场景,自动实现左右联动 | |
overlay |
* | false | 左右分屏模式还是覆盖重叠模式,默认是false,即左右分屏模式 |
Methods
addPOI(poi)
添加POI热点,可在楼层导航图控件创建完毕后调用
Parameters:
Name | Type | Description |
---|---|---|
poi |
* |
Example
{
id:POI ID,必须,可以是String或Number
name:POI名称,用于鼠标悬浮在热点图标上显示的文字,必须
position:POI在三维模型中的位置,必须, THREE.Vector3对象
imageUrl:POI的图标,图标为20x20尺寸。非必须,不填就使用bimi自带的蓝色POI图标
imageOffsetX:POI图标X偏移,默认是10
imageOffsetY:POI图标Y偏移,默认是10
data: 热点对应的全景图和三维场景的数据对象,当点击POI图标时,切换到该数据,必须参数
{
image:'temp/sky-box-master/1235.jpg',
bim:'temp/半径项目Revit文件/bim.bin' ,
defaultQuaternion:{"x":-0.06635499364895026,"y":0.11403174830228421,"z":0.007633527392872102,"w":0.9912292895473359},
position:new THREE.Vector3(-43.0,16.55,6.491),
pitch: 0,
yaw:75
}
}
changeLevel(options)
切换楼层,也支持同时切换全景图和模型
Parameters:
Name | Type | Description |
---|---|---|
options |
* | { image:'temp/sky-box-master/1235.jpg' 全景图图片url,如果不需要切换全景图,可不填 bim:'temp/半径项目Revit文件/bim.bin' 三维模型资源url,如果不需要切换三维模型,可不填 defaultQuaternion:{"x":0,"y":0,"z":0,"w":1} 全景图默认视角四元数,非必要参数,如果不需要切换全景图,可不填 position:Vector3对象 ,全景图对应三维场景的位置,如果不需要切换三维模型,可不填 pitch:绕X轴角度,非必要参数,如果不需要切换三维模型,可不填 yaw:绕Y轴角度,非必要参数,如果不需要切换三维模型,可不填 level:楼层导航图数据对象,必填参数 { dataUrl:模型楼层导航图数据url level:指定当前楼层 } poi:该楼层对应的热点数组数据,可选参数,如果不填,那么楼层图上将没有热点 [ { id:108, name:'1F的某个热点', data: { image:'sky-box-master/1235.jpg', bim:'半径项目Revit文件/bim.bin' , defaultQuaternion:{"x":-0.06635499364895026,"y":0.11403174830228421,"z":0.007633527392872102,"w":0.9912292895473359}, position:new THREE.Vector3(-43.0,16.55,6.491), pitch: 0, yaw:75 } }, ] } |
changePanoramic(options)
切换全景图
Parameters:
Name | Type | Description |
---|---|---|
options |
* |
Example
{
image:'temp/sky-box-master/1235.jpg' 全景图图片url
bim:'temp/半径项目Revit文件/bim.bin' 三维模型资源url
defaultQuaternion:{"x":0,"y":0,"z":0,"w":1} 全景图默认视角四元数,非必要参数
position:Vector3对象 ,全景图对应三维场景的位置
pitch:绕X轴角度,非必要参数
yaw:绕Y轴角度,非必要参数
}
dispose()
销毁资源
init(options)
初始化全景图和三维场景
Parameters:
Name | Type | Description |
---|---|---|
options |
* |
Example
{
image:'temp/sky-box-master/1235.jpg' 全景图图片url
bim:'temp/半径项目Revit文件/bim.bin' 三维模型资源url
defaultQuaternion:{"x":0,"y":0,"z":0,"w":1} 全景图默认视角四元数,非必要参数
position:Vector3对象 ,全景图对应三维场景的位置
pitch:绕X轴角度,非必要参数
yaw:绕Y轴角度,非必要参数
level:楼层导航图数据对象,非必要参数
{
containerDiv:楼层导航图的容器Dom对象,最终楼层导航图会自动放置于该Dom中
dataUrl:模型楼层导航图数据url
level:指定当前楼层
}
poi:楼层导航图上的POI热点数组,非必要参数,注意如果设置poi参数,那么必须也设置level参数,因为POI热点是依赖于楼层导航图的
[
{
id:POI ID,必须,可以是String或Number
name:POI名称,用于鼠标悬浮在热点图标上显示的文字,必须
position:POI在三维模型中的位置,必须, THREE.Vector3对象
imageUrl:POI的图标,图标为20x20尺寸。非必须,不填就使用bimi自带的蓝色POI图标
imageOffsetX:POI图标X偏移,默认是10
imageOffsetY:POI图标Y偏移,默认是10
data: 热点对应的全景图和三维场景的数据对象,当点击POI图标时,切换到该数据,必须参数
{
image:'temp/sky-box-master/1235.jpg',
bim:'temp/半径项目Revit文件/bim.bin' ,
defaultQuaternion:{"x":-0.06635499364895026,"y":0.11403174830228421,"z":0.007633527392872102,"w":0.9912292895473359},
position:new THREE.Vector3(-43.0,16.55,6.491),
pitch: 0,
yaw:75
}
}
]
}
removePOI(id)
移除POI热点
Parameters:
Name | Type | Description |
---|---|---|
id |
* | POI id |
setLayout(overlay)
设置布局为左右分隔还是覆盖
Parameters:
Name | Type | Default | Description |
---|---|---|---|
overlay |
* | false | 是否覆盖,默认是false |
setOverlayOpacity(opacity)
设置覆盖模式下,全景图的透明度
Parameters:
Name | Type | Default | Description |
---|---|---|---|
opacity |
* | 1 | 全景图透明度,默认是1.0 |
setPanoramicDefaultQuaternion(quaternion)
设置全景图默认视角四元数
Parameters:
Name | Type | Description |
---|---|---|
quaternion |
* |
Example
quaternion数据定义如下:
{"x":0,"y":0,"z":0,"w":1}
setPositionPitchYaw(position, pitch, yaw)
三维场景定位的位置调整参数
Parameters:
Name | Type | Default | Description |
---|---|---|---|
position |
THREE.Vector3 | 定位坐标 | |
pitch |
Number | 0 | 绕X轴角度 |
yaw |
Number | 0 | 绕Y轴角度 |
updateOrbit()
更新视角,再调用setPositionPitchYaw()后需要调用此函数更新场景视角