xzw před 4 měsíci
rodič
revize
95a3da0b35

+ 15 - 6
public/lib/potree/potree.js

@@ -24779,14 +24779,20 @@
 	          //MergeEditor.maintainBoundXY(model) 
 	          e.by2d || MergeEditor.maintainBoundCenter(model);
 	          _updateBound();
-	          model.dispatchEvent('transformChanged');
+	          model.dispatchEvent({
+	            type: 'transformChanged',
+	            byControl: e.byControl
+	          });
 	        };
-	        model.addEventListener('position_changed', () => {
+	        model.addEventListener('position_changed', e => {
 	          //要先发送position_changed再其他
 	          _updateBound();
 	          MergeEditor.getBoundCenter(model); //更新boundcenter
 
-	          model.dispatchEvent('transformChanged');
+	          model.dispatchEvent({
+	            type: 'transformChanged',
+	            byControl: e.byControl
+	          });
 	        });
 	        model.addEventListener("rotation_changed", maintainCenter);
 	        model.addEventListener("scale_changed", maintainCenter);
@@ -71823,7 +71829,8 @@
 	      //add:
 
 	      object.dispatchEvent({
-	        type: "position_changed"
+	        type: "position_changed",
+	        byControl: true
 	      });
 	    } else if (mode === 'scale') {
 	      if (axis.search('XYZ') !== -1) {
@@ -71874,7 +71881,8 @@
 	      //add:
 
 	      object.dispatchEvent({
-	        type: "scale_changed"
+	        type: "scale_changed",
+	        byControl: true
 	      });
 	    } else if (mode === 'rotate') {
 	      if (this.rotateMethod == 2) {
@@ -71984,7 +71992,8 @@
 	      //add:
 
 	      object.dispatchEvent({
-	        type: "rotation_changed"
+	        type: "rotation_changed",
+	        byControl: true
 	      });
 	    }
 	    this.dispatchEvent(changeEvent);

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
public/lib/potree/potree.js.map


+ 2 - 2
src/sdk/cover/index.js

@@ -977,7 +977,7 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
                 })
                 let lastState = {}
                 model.addEventListener('transformChanged', (e) => {
-                    let msg = {}
+                    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())
@@ -1451,7 +1451,7 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
                             viewer.dispatchEvent('content_changed')
                         },
                         // 添加模型帧
-                        addFrame(frame){
+                        addFrame(frame){//pose  至少会有一个关键帧作为默认姿态
                             console.log('addFrame',frame)
                             let key = {time: frame.time }
                             let getData = (data)=>{