From eefd0feb719a2c14f055e38772aea1297760a3c8 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期四, 23 六月 2022 16:40:27 +0800
Subject: [PATCH] #
---
static/js/app.js | 106 +++++++++++++++++-----------------------------------
1 files changed, 35 insertions(+), 71 deletions(-)
diff --git a/static/js/app.js b/static/js/app.js
index 3e46db3..508fc82 100644
--- a/static/js/app.js
+++ b/static/js/app.js
@@ -11,9 +11,8 @@
import {StoreShelf} from './object/StoreShelf.js';
import {StoreCrn} from './object/StoreCrn.js';
import {StoreConvey} from './object/StoreConvey.js';
-import { Sky } from './object/Sky.js';
-
-
+import {StoreGoods} from './object/StoreGoods.js';
+import {StaTask} from './object/StaTask.js';
var APP = {
@@ -26,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;//鏄惁鍚戝乏杩愯
@@ -73,6 +72,8 @@
this.stats.end();
this.queryCrn();
this.crnMove();
+ this.querySta();
+ this.staChange();
}
this.initScene = function () {
this.scene = new THREE.Scene();
@@ -97,7 +98,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);
@@ -109,23 +110,10 @@
ambient.position.set(0, 0, 0);
this.addObject(ambient);
-
- // 娣诲姞骞宠鍏�,骞宠鍏夌被浼间簬澶槼鍏�
- // let directionalLight = new THREE.DirectionalLight(0xffffff, 0.3);//妯℃嫙杩滃绫讳技澶槼鐨勫厜婧�
- // directionalLight.position.set(0, 200, 0);
- // this.addObject(directionalLight);
- // //璁剧疆鐐瑰厜婧�
- // let pointLight1 = new THREE.PointLight(0xffffff, 0.3);
- // pointLight1.position.set(-500, 200, 0);
- // this.addObject(pointLight1);
- // let pointLight2 = new THREE.PointLight(0xffffff, 0.3);
- // pointLight2.position.set(500, 200, 0);
- // this.addObject(pointLight2);
-
// 闃村奖鑱氬厜鐏�
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;
@@ -154,36 +142,13 @@
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",
"pz.jpg", "nz.jpg"
]);
}
- // 澶槼
- // let sky = new Sky();
- // sky.scale.setScalar( 450000 );
- // this.addObject( sky );
- // let sun = new THREE.Vector3();
- // const effectController = {
- // turbidity: 10,
- // rayleigh: 3,
- // mieCoefficient: 0.005,
- // mieDirectionalG: 0.7,
- // elevation: 2,
- // azimuth: 180,
- // exposure: this.renderer.toneMappingExposure
- // };
- // const uniforms = sky.material.uniforms;
- // uniforms[ 'turbidity' ].value = effectController.turbidity;
- // uniforms[ 'rayleigh' ].value = effectController.rayleigh;
- // uniforms[ 'mieCoefficient' ].value = effectController.mieCoefficient;
- // uniforms[ 'mieDirectionalG' ].value = effectController.mieDirectionalG;
- // const phi = THREE.MathUtils.degToRad( 90 - effectController.elevation );
- // const theta = THREE.MathUtils.degToRad( effectController.azimuth );
- // sun.setFromSphericalCoords( 1, phi, theta );
- // uniforms[ 'sunPosition' ].value.copy( sun );
}
this.initReSize = function(object){
window.addEventListener('resize', function () {
@@ -214,7 +179,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 );
@@ -365,25 +330,14 @@
this.initStoreObjects = function (object) {
if (this.firstTime === 1) {
if (Store3DData !== undefined && Store3DData !== null) {
- for(var group of Store3DData.data.store.groups) {
+ for(let group of Store3DData.data.store.groups) {
new StoreCrn(group.crn, object);
- for (var line of group.lines) {
+ for (let line of group.lines) {
let shelf = new StoreShelf(line);
- object.addObject(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);
- // }
- // }
-
+ object.addObject(shelf.mesh);
+ if (line.bins !== null) {
+ new StoreGoods(object, line.bins, shelf);
+ }
}
}
this.firstTime = 0;
@@ -404,20 +358,30 @@
}
}
}
- 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.modify(staData);
+ }
+ }
+ }
+ }
+ }
+ this.staChange = function () {
+ for (let staTask of this.staTasks) {
+ staTask.change();
+ }
+ }
// 鍔熻兘鏂规硶鍖�
this.changeStats = function () {
--
Gitblit v1.9.1