|
@@ -162,7 +162,7 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
|
|
|
Potree.settings.compassDom = dom.querySelector('#direction')
|
|
|
Potree.settings.mergeType2 = true //标识新版
|
|
|
Potree.settings.modelSkybox = true //是否将全景图贴在模型上(会导致卡顿)。若不显示模型将不显示Reticule
|
|
|
- Potree.settings.tiles3DMaxMemory = 300 //稍微增加点
|
|
|
+ Potree.settings.tiles3DMaxMemory = 250 //稍微增加点
|
|
|
Potree.settings.mergeTransCtlOnClick = true
|
|
|
Potree.settings.canWalkThroughModel = true
|
|
|
window.cesErrorWords = '内存占用过高,建议关闭部分场景或升级显卡。'
|
|
@@ -1059,69 +1059,68 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
|
|
|
}
|
|
|
model.showInPano = /* !model.is4dkkModel// */props.raw.showInPano //现在不用这个,所有模型都可见,非is4dkkModel的还显示原本的贴图
|
|
|
props.opacity < 100 && result.changeOpacity(props.opacity)
|
|
|
+
|
|
|
+ spliceFromArr(model, props, true)
|
|
|
+
|
|
|
|
|
|
- model.addEventListener('changeSelect', (e) => {
|
|
|
-
|
|
|
+ MergeEditor.modelAdded(model)
|
|
|
+ load4dkkMedias(model)
|
|
|
+
|
|
|
+ if (props.mode == 'single') {//模型查看页
|
|
|
+ MergeEditor.noNeedSelection = true
|
|
|
+ setTimeout(() => {
|
|
|
+ MergeEditor.focusOn([model], 1000, true, true)
|
|
|
+ }, 1)
|
|
|
+ }
|
|
|
+ if(ModelTypes[props.fromType].panos4dkk){
|
|
|
+ Potree.load4dkkPanos(props.raw.num, model, getBaseRotation(), () => {
|
|
|
+ bus.emit('loadDone',model)
|
|
|
+ }, props.fromType == 0 ? '2k' : '4k' ) //看看场景是2k
|
|
|
+ } else {
|
|
|
+ bus.emit('loadDone',model)
|
|
|
+ }
|
|
|
+
|
|
|
+ model.finalLoaded = true
|
|
|
+ console.log('loadDone', model.name )
|
|
|
+
|
|
|
+ model.addEventListener('changeSelect', (e) => {
|
|
|
bus.emit('changeSelect', !!e.selected)
|
|
|
+ MergeEditor.transformControls.visible && e.selected && MergeEditor.transformControls.attach(model, e.clickPos) //: MergeEditor.transformControls.detach()
|
|
|
})
|
|
|
+
|
|
|
let lastState = {}
|
|
|
- model.addEventListener('transformChanged', (e) => {
|
|
|
+ let emitTran = (e)=>{
|
|
|
let msg = {byControl:!!e.byControl} //byControl代表是手动用控制轴修改 动画文件要改帧
|
|
|
if (!lastState.position || !model.position.equals(lastState.position)) {
|
|
|
lastState.position = msg.position = model.position.clone()
|
|
|
- //console.log('change pos', model.name, model.position.toArray())
|
|
|
- //msg.posChanged = true
|
|
|
+ //console.log('change pos', model.name, model.position.toArray())
|
|
|
}
|
|
|
if (!lastState.rotation || !model.rotation.equals(lastState.rotation)) {
|
|
|
lastState.rotation = model.rotation.clone()
|
|
|
- msg.rotation = model.rotation.toObject()
|
|
|
- //msg.rotChanged = true
|
|
|
+ msg.rotation = model.rotation.toObject()
|
|
|
if(model.atPath && e.byControl){
|
|
|
msg.quaAtPath = AnimationEditor.getModelQuaAtPath(model)
|
|
|
msg.quaAtPath && (msg.quaAtPath = msg.quaAtPath.toObject())
|
|
|
}
|
|
|
}
|
|
|
if (lastState.scale == void 0 || model.scale.x * 100 != lastState.scale) {
|
|
|
- lastState.scale = msg.scale = model.scale.x * 100
|
|
|
- //msg.scaleChanged = true
|
|
|
+ lastState.scale = msg.scale = model.scale.x * 100
|
|
|
}
|
|
|
|
|
|
- msg = Potree.Common.CloneObject(msg)
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- //console.log(model.name, msg)
|
|
|
+ msg = Potree.Common.CloneObject(msg)
|
|
|
+ console.log(model.name, msg)
|
|
|
bus.emit('transformChanged', msg)
|
|
|
- })
|
|
|
- spliceFromArr(model, props, true)
|
|
|
-
|
|
|
- model.addEventListener('changeSelect', (e) => {
|
|
|
- MergeEditor.transformControls.visible && e.selected && MergeEditor.transformControls.attach(model, e.clickPos) //: MergeEditor.transformControls.detach()
|
|
|
- })
|
|
|
-
|
|
|
- MergeEditor.modelAdded(model)
|
|
|
-
|
|
|
- load4dkkMedias(model)
|
|
|
-
|
|
|
- if (props.mode == 'single') {//模型查看页
|
|
|
- MergeEditor.noNeedSelection = true
|
|
|
- setTimeout(() => {
|
|
|
- MergeEditor.focusOn([model], 1000, true, true)
|
|
|
- }, 1)
|
|
|
}
|
|
|
- if(ModelTypes[props.fromType].panos4dkk){
|
|
|
- Potree.load4dkkPanos(props.raw.num, model, getBaseRotation(), () => {
|
|
|
- bus.emit('loadDone',model)
|
|
|
- }, props.fromType == 0 ? '2k' : '4k' ) //看看场景是2k
|
|
|
- } else {
|
|
|
- bus.emit('loadDone',model)
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- //console.log('loadDone' )
|
|
|
+ model.addEventListener('transformChanged', (e) => {
|
|
|
+ emitTran(e)
|
|
|
+ })
|
|
|
+ emitTran({byControl:true}) //保存初始
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
let progressFun = (progress) => {
|
|
|
bus.emit('loadProgress', progress)
|
|
|
}
|
|
@@ -1203,7 +1202,7 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
|
|
|
let size = Math.max(1, new THREE.Vector2().copy(model.boundSize).length() * 0.7 )
|
|
|
let vec = viewer.mainViewport.view.direction.clone().setZ(0).multiplyScalar(size)
|
|
|
let pos = new THREE.Vector3().addVectors(viewer.mainViewport.view.position, vec)
|
|
|
- MergeEditor.moveBoundCenterTo(model, pos)
|
|
|
+ MergeEditor.moveBoundCenterTo(model, pos)
|
|
|
model.dispatchEvent({type:"position_changed", byControl:true})
|
|
|
},
|
|
|
|