|
@@ -473,11 +473,22 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes }) => {
|
|
return deferred.promise()
|
|
return deferred.promise()
|
|
},
|
|
},
|
|
getPose() {//获取当前点位和朝向
|
|
getPose() {//获取当前点位和朝向
|
|
|
|
+
|
|
const camera = viewer.scene.getActiveCamera()
|
|
const camera = viewer.scene.getActiveCamera()
|
|
const target = viewer.scene.view.getPivot().clone()
|
|
const target = viewer.scene.view.getPivot().clone()
|
|
const position = viewer.scene.view.position.clone()
|
|
const position = viewer.scene.view.position.clone()
|
|
|
|
+ const pose = { position, target, displayMode:Potree.settings.displayMode }
|
|
|
|
+ if(Potree.settings.displayMode == 'showPanos'){
|
|
|
|
+ pose.panoId = viewer.images360.currentPano.originID
|
|
|
|
+ pose.model = viewer.images360.currentPano.pointcloud.result_
|
|
|
|
+
|
|
|
|
+ pose.posInModel = Potree.Utils.datasetPosTransform({ toDataset: true, position: camera.position.clone(), model:pose.model })
|
|
|
|
+ pose.rotInModel = Potree.Utils.datasetRotTransform({ toDataset: true, quaternion: camera.position.clone(), getQuaternion: true, model:pose.model }) //拿第一个数据集
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
//console.log('getPose',position, target)
|
|
//console.log('getPose',position, target)
|
|
- return { position, target }
|
|
|
|
|
|
+ return pose
|
|
},
|
|
},
|
|
comeTo(o = {}) {
|
|
comeTo(o = {}) {
|
|
//console.log('comeTo',o.position, o.target)
|
|
//console.log('comeTo',o.position, o.target)
|
|
@@ -571,22 +582,25 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes }) => {
|
|
let editor = viewer.modules.CamAniEditor
|
|
let editor = viewer.modules.CamAniEditor
|
|
console.log('pathArr', pathArr)
|
|
console.log('pathArr', pathArr)
|
|
|
|
|
|
- /* type SceneGuidec = {
|
|
|
|
- position: {x,y,z}
|
|
|
|
- target: {x,y,z}
|
|
|
|
- time: number
|
|
|
|
- speed: number //没用到
|
|
|
|
- }
|
|
|
|
- */
|
|
|
|
|
|
+
|
|
|
|
|
|
//console.log('enterSceneGuide',pathArr)
|
|
//console.log('enterSceneGuide',pathArr)
|
|
|
|
|
|
let data = {
|
|
let data = {
|
|
- duration: pathArr.slice(0, pathArr.length - 1).reduce(function (total, currentValue) { return total + currentValue.time }, 0), //总时长(要去掉最后一个,因为已到终点,该点time无意义)
|
|
|
|
|
|
+ //duration: pathArr.slice(0, pathArr.length - 1).reduce(function (total, currentValue) { return total + currentValue.time }, 0), //总时长(要去掉最后一个,因为已到终点,该点time无意义)
|
|
points: pathArr,
|
|
points: pathArr,
|
|
useDurSlice: true
|
|
useDurSlice: true
|
|
}
|
|
}
|
|
- let animation = editor.createAnimation(data)
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ data.pathArr.forEach(e=>{
|
|
|
|
+ if(e.inPano){
|
|
|
|
+ e.model = e.model.model
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ let ani = editor.createMulAnimation(data)
|
|
|
|
+
|
|
|
|
+
|
|
//注:最多只存在一条导览
|
|
//注:最多只存在一条导览
|
|
|
|
|
|
|
|
|
|
@@ -594,11 +608,11 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes }) => {
|
|
let bus = mitt()
|
|
let bus = mitt()
|
|
|
|
|
|
//播放完成
|
|
//播放完成
|
|
- animation.addEventListener('playDone', () => {
|
|
|
|
|
|
+ ani.event_.addEventListener('playDone', () => {
|
|
bus.emit('playComplete')
|
|
bus.emit('playComplete')
|
|
})
|
|
})
|
|
//切换点
|
|
//切换点
|
|
- animation.addEventListener('updateCurrentIndex', e => {
|
|
|
|
|
|
+ ani.event_.addEventListener('updateCurrentIndex', e => {
|
|
bus.emit('changePoint', e.currentIndex + 1)
|
|
bus.emit('changePoint', e.currentIndex + 1)
|
|
})
|
|
})
|
|
|
|
|
|
@@ -606,15 +620,14 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes }) => {
|
|
bus,
|
|
bus,
|
|
play() {
|
|
play() {
|
|
MergeEditor.selectModel(null)
|
|
MergeEditor.selectModel(null)
|
|
- animation.play()
|
|
|
|
|
|
+ ani.play()
|
|
},
|
|
},
|
|
pause() {
|
|
pause() {
|
|
- animation.pause()
|
|
|
|
|
|
+ ani.pause()
|
|
},
|
|
},
|
|
|
|
|
|
- clear() {
|
|
|
|
- //删除
|
|
|
|
- editor.removeAnimation(animation)
|
|
|
|
|
|
+ clear() {
|
|
|
|
+ ani.remove()
|
|
},
|
|
},
|
|
}
|
|
}
|
|
|
|
|
|
@@ -773,6 +786,7 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes }) => {
|
|
let scaleMeasure
|
|
let scaleMeasure
|
|
let result = {
|
|
let result = {
|
|
bus,
|
|
bus,
|
|
|
|
+ model,
|
|
getDefaultRotation,
|
|
getDefaultRotation,
|
|
|
|
|
|
supportPano() { //是否支持全景图
|
|
supportPano() { //是否支持全景图
|