Bladeren bron

3d继续优化

ronaldo9Zhang 2 jaren geleden
bovenliggende
commit
f965f91b2a

+ 16 - 1
src/views/modelLibrary/components/threeAxesHelper.vue

@@ -49,6 +49,19 @@ export default {
         ...mapState(["scale"]),
     },
 
+    props: {
+        controlsCanMove: {
+            type: Boolean,
+            default: true,
+        },
+    },
+
+    watch: {
+        controlsCanMove(newVal, oldVal) {
+            if (this.controls) this.controls.enabled = newVal;
+        },
+    },
+
     methods: {
         // 场景
         initScene() {
@@ -158,11 +171,13 @@ export default {
             this.initRenderer();
             this.initLight();
 
+            //创建控件对象
             this.controls = new OrbitControls(
                 this.camera,
                 // this.renderer.domElement
                 document.getElementById("container")
-            ); //创建控件对象
+            );
+
             this.controls.minDistance = 30;
             this.controls.maxDistance = 600;
 

+ 2 - 2
src/views/modelLibrary/components/threeVehicleConfiguration.vue

@@ -399,11 +399,11 @@ export default {
             });
             this.transformControls.addEventListener("mouseDown", (e) => {
                 this.controls.enabled = false;
-                // this.$emit("controlsEnabled", false);
+                this.$emit("controlsEnabled", false);
             });
             this.transformControls.addEventListener("mouseUp", (e) => {
                 this.controls.enabled = true;
-                // this.$emit("controlsEnabled", true);
+                this.$emit("controlsEnabled", true);
             });
             this.scene.add(this.transformControls);
         },

+ 2 - 0
src/views/modelLibrary/vehicleConfigurationDetail.vue

@@ -162,6 +162,7 @@
                 <div class="axesBox">
                     <three-axes-helper
                         ref="threeSensor1"
+                        :controlsCanMove="controlsCanMove"
                     ></three-axes-helper>
                 </div>
 
@@ -178,6 +179,7 @@
                     :configList="configList"
                     :allSensor="allSensor"
                     @posChange="posChange"
+                    @controlsEnabled="controlsEnabled"
                 ></three-sensor>
 
                 <div v-show="configBox" class="conditions">