|
@@ -5,7 +5,7 @@ import axios from 'axios' //{ axios } from '@/api'
|
|
|
|
|
|
/*
|
|
/*
|
|
|
|
|
|
-https://xj-mix3d.4dkankan.com/fire/#/home 新疆消防救援总队火灾现场勘验重建平台
|
|
|
|
|
|
+新版的融合 支持全景漫游
|
|
|
|
|
|
*/
|
|
*/
|
|
|
|
|
|
@@ -599,13 +599,9 @@ export const enter = ({dom, mapDom, isLocal, lonlat, scenes }) => {
|
|
},
|
|
},
|
|
|
|
|
|
|
|
|
|
- //scaleRange: { min, max }, opacityRange: { min, max }, bottomRange: { min, max } })
|
|
|
|
-
|
|
|
|
|
|
+
|
|
addModel(props){
|
|
addModel(props){
|
|
- /* requestLoadCount || (props.url = Potree.resourcePath+'/models/Block1.glb')
|
|
|
|
- requestLoadCount++ */
|
|
|
|
- //console.log(props.isDynamicAdded, props.mode)
|
|
|
|
-
|
|
|
|
|
|
+
|
|
let bus = mitt()
|
|
let bus = mitt()
|
|
//console.log('addModel',props)
|
|
//console.log('addModel',props)
|
|
props.isFirstLoad = isLocal ? props.bottom == void 0 : (props.isDynamicAdded || props.mode == 'single') // 在编辑时用户添加的 或 展示单个模型 (props.mode='single'模型展示页, props.mode='many'融合页)
|
|
props.isFirstLoad = isLocal ? props.bottom == void 0 : (props.isDynamicAdded || props.mode == 'single') // 在编辑时用户添加的 或 展示单个模型 (props.mode='single'模型展示页, props.mode='many'融合页)
|
|
@@ -617,7 +613,12 @@ export const enter = ({dom, mapDom, isLocal, lonlat, scenes }) => {
|
|
props.rotation = new THREE.Euler().setFromVector3(props.rotation)
|
|
props.rotation = new THREE.Euler().setFromVector3(props.rotation)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ let getDefaultRotation = ()=>{
|
|
|
|
+ //0看看,1看见,2深时,3用户上传三维模型,4深时mesh,5深光点云,6深光mesh
|
|
|
|
+ if(props.fromType == 1 || props.fromType == 6 || props.fromType == 4 && props.type != 'glb' ){//来自4dkk的3dtiles初始需要转90度
|
|
|
|
+ return new THREE.Euler(Math.PI/2, 0,0)
|
|
|
|
+ }else return new THREE.Euler(0,0,0)
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
if(!props.isFirstLoad){
|
|
if(!props.isFirstLoad){
|
|
@@ -638,10 +639,7 @@ export const enter = ({dom, mapDom, isLocal, lonlat, scenes }) => {
|
|
}else{
|
|
}else{
|
|
readyToAddModel = true
|
|
readyToAddModel = true
|
|
|
|
|
|
- //0看看,1看见,2深时,3用户上传三维模型,4深时mesh,5深光点云,6深光mesh
|
|
|
|
- if(props.fromType == 1 || props.fromType == 4 || props.fromType == 6 ){//来自4dkk的3dtiles初始需要转90度
|
|
|
|
- props.rotation = new THREE.Euler(Math.PI/2, 0,0)
|
|
|
|
- }
|
|
|
|
|
|
+ props.rotation = getDefaultRotation()
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -730,7 +728,7 @@ export const enter = ({dom, mapDom, isLocal, lonlat, scenes }) => {
|
|
},1)
|
|
},1)
|
|
}
|
|
}
|
|
if(props.fromType == 6 || props.fromType == 4 || props.fromType == 0 || props.fromType == 1){
|
|
if(props.fromType == 6 || props.fromType == 4 || props.fromType == 0 || props.fromType == 1){
|
|
- load4dkkPanos(props.url, model,()=>{
|
|
|
|
|
|
+ Potree.load4dkkPanos(props.raw.num, model,()=>{
|
|
bus.emit('loadDone')
|
|
bus.emit('loadDone')
|
|
})
|
|
})
|
|
}else{
|
|
}else{
|
|
@@ -770,10 +768,14 @@ export const enter = ({dom, mapDom, isLocal, lonlat, scenes }) => {
|
|
let scaleMeasure
|
|
let scaleMeasure
|
|
let result = {
|
|
let result = {
|
|
bus,
|
|
bus,
|
|
|
|
+ getDefaultRotation,
|
|
changeShow(show){
|
|
changeShow(show){
|
|
props.show = show //for autoLoads show model
|
|
props.show = show //for autoLoads show model
|
|
if(model){
|
|
if(model){
|
|
- Potree.Utils.updateVisible(model, 'changeShow', show)
|
|
|
|
|
|
+ Potree.Utils.updateVisible(model, 'changeShow', show)
|
|
|
|
+ if(model.panos){
|
|
|
|
+ model.panos.forEach(e=>e.setEnable(show))
|
|
|
|
+ }
|
|
viewer.dispatchEvent('content_changed')
|
|
viewer.dispatchEvent('content_changed')
|
|
}
|
|
}
|
|
},
|
|
},
|
|
@@ -980,7 +982,7 @@ export const enter = ({dom, mapDom, isLocal, lonlat, scenes }) => {
|
|
Potree.Utils.updateVisible(viewer.objs, 'showPanos', false)
|
|
Potree.Utils.updateVisible(viewer.objs, 'showPanos', false)
|
|
},{once:true}) */
|
|
},{once:true}) */
|
|
let changeVisi = (object)=>{
|
|
let changeVisi = (object)=>{
|
|
- Potree.Utils.updateVisible(viewer.objs, 'showPanos', object == model)
|
|
|
|
|
|
+ Potree.Utils.updateVisible(object, 'showPanos', object == model)
|
|
}
|
|
}
|
|
viewer.objs.children.forEach(changeVisi)
|
|
viewer.objs.children.forEach(changeVisi)
|
|
|
|
|
|
@@ -996,7 +998,7 @@ export const enter = ({dom, mapDom, isLocal, lonlat, scenes }) => {
|
|
let panoPos = viewer.images360.position.clone()
|
|
let panoPos = viewer.images360.position.clone()
|
|
//Potree.Utils.updateVisible(viewer.objs, 'showPanos', true)
|
|
//Potree.Utils.updateVisible(viewer.objs, 'showPanos', true)
|
|
let changeVisi = (object)=>{
|
|
let changeVisi = (object)=>{
|
|
- Potree.Utils.updateVisible(viewer.objs, 'showPanos', true)
|
|
|
|
|
|
+ Potree.Utils.updateVisible(object, 'showPanos', true)
|
|
}
|
|
}
|
|
viewer.objs.children.forEach(changeVisi)
|
|
viewer.objs.children.forEach(changeVisi)
|
|
viewer.images360.panos.forEach(pano=>{
|
|
viewer.images360.panos.forEach(pano=>{
|
|
@@ -1220,7 +1222,7 @@ export const enter = ({dom, mapDom, isLocal, lonlat, scenes }) => {
|
|
return sdk
|
|
return sdk
|
|
}
|
|
}
|
|
|
|
|
|
-function load4dkkPanos(url, model, done){
|
|
|
|
|
|
+/* function load4dkkPanos(url, model, done){
|
|
let sceneCode
|
|
let sceneCode
|
|
if(url.includes('4dkk.4dage.com/scene_view_data/')){
|
|
if(url.includes('4dkk.4dage.com/scene_view_data/')){
|
|
sceneCode = url.split('https://4dkk.4dage.com/scene_view_data/')[1].split('/images/')[0]
|
|
sceneCode = url.split('https://4dkk.4dage.com/scene_view_data/')[1].split('/images/')[0]
|
|
@@ -1233,7 +1235,7 @@ function load4dkkPanos(url, model, done){
|
|
|
|
|
|
|
|
|
|
Potree.load4dkkPanos(sceneCode, model, done)
|
|
Potree.load4dkkPanos(sceneCode, model, done)
|
|
-}
|
|
|
|
|
|
+} */
|
|
/*
|
|
/*
|
|
|
|
|
|
暂定不同场景间的漫游点不能互通。虽然它们可能是摆放正确的,如果是组成一整个场景的话还是要打通……
|
|
暂定不同场景间的漫游点不能互通。虽然它们可能是摆放正确的,如果是组成一整个场景的话还是要打通……
|