|
@@ -32,7 +32,7 @@ export default class ConvertViews extends THREE.EventDispatcher{
|
|
|
|
|
|
//this.syncPosRot(sourceFakeApp.viewInfo, targetApp , convertInfo) //修改好位置朝向 这个4dkk的会报错但上一版是用这句
|
|
//this.syncPosRot(sourceFakeApp.viewInfo, targetApp , convertInfo) //修改好位置朝向 这个4dkk的会报错但上一版是用这句
|
|
if(sourceApp.sceneType == 'kankan' || sourceFakeApp.viewInfo.isAtPano){
|
|
if(sourceApp.sceneType == 'kankan' || sourceFakeApp.viewInfo.isAtPano){
|
|
- this.flyToPano(targetApp, sourceFakeApp.viewInfo.currentPano?.id, null, {duration:0, zoomLevel:sourceFakeApp.viewInfo.zoomLevel})
|
|
|
|
|
|
+ this.flyToPano(targetApp, sourceFakeApp.viewInfo.currentPano, null, {duration:0, zoomLevel:sourceFakeApp.viewInfo.zoomLevel})
|
|
}
|
|
}
|
|
this.syncView(sourceApp, targetApp, convertInfo)//这个不记得有什么bug了
|
|
this.syncView(sourceApp, targetApp, convertInfo)//这个不记得有什么bug了
|
|
|
|
|
|
@@ -609,6 +609,7 @@ export default class ConvertViews extends THREE.EventDispatcher{
|
|
matrix.premultiply(moveBackMatrix)//再移动到realPosition的点0处
|
|
matrix.premultiply(moveBackMatrix)//再移动到realPosition的点0处
|
|
return matrix
|
|
return matrix
|
|
}
|
|
}
|
|
|
|
+ let length = Math.min(panoPos1.length, panoPos2.length)
|
|
if(length == 0){
|
|
if(length == 0){
|
|
convertInfo.convertMatrix = new THREE.Matrix4
|
|
convertInfo.convertMatrix = new THREE.Matrix4
|
|
convertInfo.convertMatrixInvert = new THREE.Matrix4
|
|
convertInfo.convertMatrixInvert = new THREE.Matrix4
|
|
@@ -619,7 +620,7 @@ export default class ConvertViews extends THREE.EventDispatcher{
|
|
|
|
|
|
//检查是否重合。直接将matrix作用于pos1中,理想情况是会和pos2完全一样。
|
|
//检查是否重合。直接将matrix作用于pos1中,理想情况是会和pos2完全一样。
|
|
|
|
|
|
- let length = Math.min(panoPos1.length, panoPos2.length)
|
|
|
|
|
|
+
|
|
if(length>2){
|
|
if(length>2){
|
|
let diffVecs = panoPos1.slice(0,length).map((e,i)=>{
|
|
let diffVecs = panoPos1.slice(0,length).map((e,i)=>{
|
|
let newPos = e.clone().applyMatrix4(matrix) //旋转过后。
|
|
let newPos = e.clone().applyMatrix4(matrix) //旋转过后。
|