#
luxiaotao1123
2022-07-05 4bd338d1b8a81061c279ba718db5fa0420272a97
static/js/app.js
@@ -12,7 +12,7 @@
import {StoreCrn} from './object/StoreCrn.js';
import {StoreConvey} from './object/StoreConvey.js';
import {StoreGoods} from './object/StoreGoods.js';
import {StaTask} from './object/StaTask.js';
var APP = {
@@ -25,8 +25,8 @@
      this.firstTime = 1;
      this.stats = null;
      this.outlinePass = null;
      this.goodTypes=[];//存储所有的库位类型
      this.crnTasks = [];// 堆垛机列表
      this.staTasks = [];// 输送线列表
      this.moveForward = false;//是否向前运行
      this.moveBackward = false;//是否向后运行
      this.moveLeft = false;//是否向左运行
@@ -72,6 +72,7 @@
         this.stats.end();
         this.queryCrn();
         this.crnMove();
         this.querySta();
      }
      this.initScene = function () {
         this.scene = new THREE.Scene();
@@ -96,7 +97,7 @@
         // this.renderer.toneMapping = THREE.CineonToneMapping;   // 色调
         this.renderer.setSize(window.innerWidth, window.innerHeight);
         this.renderer.setPixelRatio( window.devicePixelRatio );
         this.renderer.shadowMap.enabled = true;
         // this.renderer.shadowMap.enabled = true;   // 是否开启阴影
         this.renderer.shadowMap.type = THREE.BasicShadowMap;
         this.dom = document.getElementById("container");
         this.dom.appendChild(this.renderer.domElement);
@@ -111,7 +112,7 @@
         // 阴影聚光灯
         let pointLight = new THREE.SpotLight(0xFFFAFA,1);
         pointLight.position.set(0, 1500, 2500);
         pointLight.castShadow = true;
         // pointLight.castShadow = true;    // 是否开启阴影
         pointLight.shadow.camera.near = 2000;
         pointLight.shadow.camera.far = 10000;
         pointLight.shadow.mapSize.height = 200000;
@@ -140,7 +141,7 @@
            this.scene.background = new THREE.Color( 0x333333 );
         } else {
            const cubeTextureLoader = new THREE.CubeTextureLoader();
            cubeTextureLoader.setPath( '../static/img/skybox0/' );
            cubeTextureLoader.setPath( '../static/img/skybox/' );
            this.scene.background = cubeTextureLoader.load([
               "px.jpg", "nx.jpg",
               "py.jpg", "ny.jpg",
@@ -177,7 +178,7 @@
         this.composer.addPass( this.fxaaPass );
      }
      this.initObjectSelect = function(){
         new ObjectSelect(this.scene, this.camera, this.outlinePass);
         new ObjectSelect(this.scene, this.camera, this.outlinePass, this);
      }
      this.initPointLockControl = function(object){
         this.controls = new PointerLockControls( this.camera, document.body );
@@ -336,20 +337,6 @@
                     if (line.bins !== null) {
                        new StoreGoods(object, line.bins, shelf);
                     }
                     //显示库位上的货物
                     // for (var bin of line.bins) {
                     //    let existGoods=this.getExistedGoodType(bin.State);
                     //    let storeGoods = new StoreGoods(optionGroup, bin);
                     //    if(existGoods==null) {
                     //       let goods=storeGoods.create();
                     //       object.addObject(goods);
                     //       this.goodTypes.push({type: bin.State, object: goods});
                     //    } else {
                     //       let goods= storeGoods.clone(existGoods);
                     //       object.addObject(goods);
                     //    }
                     // }
                  }
               }
               this.firstTime = 0;
@@ -370,20 +357,25 @@
            }
         }
      }
      this.getExistedGoodType=function(state){
         for (let i=0;i<this.goodTypes.length;i++) {
            let type=this.goodTypes[i];
            if(type.type===state) {
               return type.object;
            }
         }
         return null;
      }
      this.crnMove = function (object) {
      this.crnMove = function () {
         for (let crnTask of this.crnTasks) {
            crnTask.move();
         }
      }
      this.querySta = function () {
         if (StaDatas !== null && this.firstTime === 0) {
            for (let staData of StaDatas) {
               let staTask = getArrVal(this.staTasks, "no", staData.no);
               if (null == staTask) {
                  this.staTasks.push(new StaTask(staData, this));
               } else {
                  if(!staTask.run && !staTask.isDel) {
                     staTask.modify(staData);
                  }
               }
            }
         }
      }
      // 功能方法区
      this.changeStats = function () {