|
@@ -476,8 +476,6 @@ export const enter = (dom, isLocal) => {
|
|
|
if(props.opacity == void 0) props.opacity = 1
|
|
|
props.scale /= 100
|
|
|
if(props.type == 'obj') props.type = 'glb'
|
|
|
-
|
|
|
-
|
|
|
|
|
|
|
|
|
if(!props.isFirstLoad){
|
|
@@ -652,8 +650,8 @@ export const enter = (dom, isLocal) => {
|
|
|
|
|
|
},
|
|
|
changeBottom(z){
|
|
|
- model && MergeEditor.setModelBtmHeight(model,z)
|
|
|
- model.dispatchEvent('transformChanged') //改了position
|
|
|
+ /* model && MergeEditor.setModelBtmHeight(model,z)
|
|
|
+ model.dispatchEvent('transformChanged') //改了position */
|
|
|
},
|
|
|
changePosition(pos){//校准取消时执行
|
|
|
//if(MergeEditor.selected == model){
|
|
@@ -675,20 +673,26 @@ export const enter = (dom, isLocal) => {
|
|
|
if(model){
|
|
|
if(MergeEditor.split){//分屏校准
|
|
|
MergeEditor.setTransformState('rotate')
|
|
|
- }else{
|
|
|
- MergeEditor.transformControls.attach(model)
|
|
|
- MergeEditor.transformControls.mode = 'rotate'
|
|
|
+ MergeEditor.transformControls2.attach(model)
|
|
|
+ MergeEditor.transformControls2.mode = 'rotate'
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ MergeEditor.transformControls.attach(model)
|
|
|
+ MergeEditor.transformControls.mode = 'rotate'
|
|
|
+
|
|
|
}
|
|
|
},
|
|
|
enterMoveMode(){
|
|
|
if(model){
|
|
|
if(MergeEditor.split){//分屏校准
|
|
|
MergeEditor.setTransformState('translate')
|
|
|
- }else{
|
|
|
- MergeEditor.transformControls.attach(model)
|
|
|
- MergeEditor.transformControls.mode = 'translate'
|
|
|
+ MergeEditor.transformControls2.attach(model)
|
|
|
+ MergeEditor.transformControls2.mode = 'translate'
|
|
|
}
|
|
|
+ MergeEditor.transformControls.attach(model)
|
|
|
+ MergeEditor.transformControls.mode = 'translate'
|
|
|
+
|
|
|
}
|
|
|
},
|
|
|
leaveTransform(){
|
|
@@ -698,15 +702,20 @@ export const enter = (dom, isLocal) => {
|
|
|
MergeEditor.setTransformState(null)
|
|
|
}else{
|
|
|
MergeEditor.transformControls.detach()
|
|
|
+ MergeEditor.transformControls2.detach()
|
|
|
}
|
|
|
},
|
|
|
|
|
|
enterAlignment(){//开始校准
|
|
|
MergeEditor.enterSplit()
|
|
|
+
|
|
|
result.leaveTransform()
|
|
|
//console.log('enterAlignment',model.position, model.rotation)
|
|
|
let bus = new mitt()
|
|
|
|
|
|
+ /* MergeEditor.transformControls.attach(model)
|
|
|
+ MergeEditor.transformControls.mode = 'translate' */
|
|
|
+
|
|
|
return {
|
|
|
bus
|
|
|
}
|
|
@@ -714,6 +723,8 @@ export const enter = (dom, isLocal) => {
|
|
|
leaveAlignment(){
|
|
|
//console.log('leaveAlignment',model.position, model.rotation)
|
|
|
MergeEditor.leaveSplit()
|
|
|
+
|
|
|
+ MergeEditor.transformControls.detach()
|
|
|
},
|
|
|
|
|
|
enterScaleSet(){//设置比例
|
|
@@ -919,19 +930,62 @@ export const enter = (dom, isLocal) => {
|
|
|
|
|
|
addTag(info){//加热点
|
|
|
let bus = mitt()
|
|
|
+ let tag
|
|
|
+
|
|
|
+
|
|
|
+ let done = ()=>{
|
|
|
+ bus.emit('added')
|
|
|
+ bus.emit('update', {position: tag.position.clone(), normal:o.normal.clone(), modelId:tag.root.dataset_id } )
|
|
|
+ tag = tag_
|
|
|
+ tag.spot.addEventListener('mouseover',()=>{
|
|
|
+ bus.emit('hoverState',true)
|
|
|
+ })
|
|
|
+ tag.spot.addEventListener('mouseout',()=>{
|
|
|
+ bus.emit('hoverState',false)
|
|
|
+ })
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
if(!info.position){
|
|
|
- viewer.tagTool.startInsertion().done(tag=>{
|
|
|
- bus.emit('added')
|
|
|
-
|
|
|
-
|
|
|
+ viewer.tagTool.startInsertion().done(tag_=>{
|
|
|
+ done()
|
|
|
})
|
|
|
+ }else{
|
|
|
+ info.root = MergeEditor.getAllObjects().find(e=>e.dataset_id == info.modelId)
|
|
|
+ if(!info.root){
|
|
|
+ console.error('没有找到该modelId')
|
|
|
+ }
|
|
|
+
|
|
|
+ tag = viewer.tagTool.createTagFromData(info)
|
|
|
+ done()
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let result = {
|
|
|
- bus
|
|
|
+ bus,
|
|
|
+ getScreenPos(){
|
|
|
+ let pos3d = new THREE.Vector3().setFromMatrixPosition( tag.matrixWorld )
|
|
|
+ return sdk.getScreenByPosition(pos3d)
|
|
|
+ },
|
|
|
+ show(){
|
|
|
+ viewer.updateVisible(tag, 'byList', true)
|
|
|
+ },
|
|
|
+ hide(){
|
|
|
+ viewer.updateVisible(tag, 'byList', false)
|
|
|
+ },
|
|
|
+ destroy(){
|
|
|
+ if(tag){
|
|
|
+ tag.dispose()
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ viewer.dispatchEvent({ type: 'cancel_insertions', remove: true })
|
|
|
+ },
|
|
|
+ changeTitle(title){
|
|
|
+ tag.changeTitle(title)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
return result
|