|
|
@@ -23,7 +23,12 @@ const CloneJson = function (data) {
|
|
|
return JSON.parse(str);
|
|
|
};
|
|
|
|
|
|
-
|
|
|
+let getPanoId = (function(){
|
|
|
+ let id = 0
|
|
|
+ return function(){
|
|
|
+ return id++
|
|
|
+ }
|
|
|
+})()
|
|
|
|
|
|
var enter = ({
|
|
|
dom,
|
|
|
@@ -91,10 +96,7 @@ var enter = ({
|
|
|
sceneBus.on("visible", (v) => {
|
|
|
viewer.visible = v;
|
|
|
|
|
|
- /* if(v){
|
|
|
- viewer.dispatchEvent('content_changed') //避免白屏
|
|
|
- } */
|
|
|
- //console.log('sceneBus visible', v)
|
|
|
+
|
|
|
});
|
|
|
|
|
|
viewer.addEventListener("allLoaded", (e) => {
|
|
|
@@ -1540,7 +1542,45 @@ var enter = ({
|
|
|
leaveTopView(){
|
|
|
viewer.navCubeViewer.dispatchEvent('leaveTopView')
|
|
|
},
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ reshoot(data){//补拍漫游点,后台没给位姿信息,位置是用户在场景里点选
|
|
|
+ console.log('reshot',data)
|
|
|
+ const height = 1
|
|
|
+ const upVec = new THREE.Vector3(0,0,height)
|
|
|
+
|
|
|
+ let id = getPanoId()
|
|
|
+ let info = {
|
|
|
+ "uuid": id,
|
|
|
+ id,
|
|
|
+ "pose": {
|
|
|
+ "rotation": { "x": 0, "y": 0, "z": 0, 'w':1 },
|
|
|
+ "translation": new THREE.Vector3().addVectors(data.position, upVec)
|
|
|
+ },
|
|
|
+ "puck": data.position,
|
|
|
+ /* "group": 1,
|
|
|
+ "subgroup": 0,
|
|
|
+ "visibles": [],
|
|
|
+ "id": 0*/
|
|
|
+ imageSrc: data.image
|
|
|
+ }
|
|
|
+ //var pano = new Panorama(info, viewer.images360);
|
|
|
+ viewer.images360.addPano(info)
|
|
|
+ Potree.Common.intervalTool.isWaiting('addPanosCallback', ()=>{
|
|
|
+ viewer.images360.loadDone()
|
|
|
+ },500)
|
|
|
+
|
|
|
+ },
|
|
|
+ delReshoot({image}){
|
|
|
+ let pano = viewer.images360.panos.find(e=>e.panoData.imageSrc == image)
|
|
|
+ viewer.images360.deletePano()
|
|
|
+ },
|
|
|
+ getCurrentPano(){
|
|
|
+ let image = viewer.images360.currentPano?.panoData.imageSrc
|
|
|
+ return {image}
|
|
|
+ }
|
|
|
+ ,
|
|
|
destroy(){//重新创建viewer,删了旧的
|
|
|
viewer.setDisplay(false)
|
|
|
}
|