From 8e5d6b8c485090b9036b1f27cc24005a071c882a Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期五, 17 十二月 2021 15:18:20 +0800
Subject: [PATCH] #
---
static/js/app.js | 270 +++++++++++++++++-------------------------------------
1 files changed, 85 insertions(+), 185 deletions(-)
diff --git a/static/js/app.js b/static/js/app.js
index 7004db9..6e67ec9 100644
--- a/static/js/app.js
+++ b/static/js/app.js
@@ -2,6 +2,8 @@
import Stats from './lib/stats.module.js';
import {MTLLoader} from './lib/MTLLoader.js';
import {OBJLoader} from './lib/OBJLoader.js';
+import {StoreShelf} from './object/StoreShelf.js';
+import {StoreCrn} from './object/StoreCrn.js';
var APP = {
@@ -31,6 +33,7 @@
this.initBackground();
this.initStats();
this.initLight();
+ this.initReSize(this);
this.initFloor();
this.initModel();
this.initStoreObjects(this);
@@ -40,9 +43,8 @@
this.stats.begin();
this.renderer.render(this.scene, this.camera);
this.stats.end();
- // this.queryTask();
this.queryCrn();
- this.modelMove();
+ this.crnMove();
}
this.initScene = function () {
this.scene = new THREE.Scene();
@@ -69,10 +71,11 @@
}
this.initRenderer = function () {
this.renderer = new THREE.WebGLRenderer();
- // this.renderer.physicallyCorrectLights = true;
+
// this.renderer.outputEncoding = THREE.sRGBEncoding;
// this.renderer.shadowMap.enabled = true;
// this.renderer.toneMapping = THREE.ReinhardToneMapping;
+ //
this.renderer.setPixelRatio( window.devicePixelRatio );
this.renderer.setSize( window.innerWidth, window.innerHeight );
this.dom = document.getElementById("container");
@@ -96,41 +99,21 @@
pointLight2.position.set(500, 200, 0);
this.addObject(pointLight2);
- // ---
- // var bulbLight = new THREE.PointLight( 0xffee88, 1, 2000, 2 );
- // bulbLight.position.set( 600, 600, 500 );
- // bulbLight.castShadow = true;
- // bulbLight.power = 100;
- // this.addObject(bulbLight);
- // ---
- // var bulbLight1 = new THREE.PointLight( 0xffee88, 1, 2000, 2 );
- // bulbLight1.position.set( -600, 600, 500 );
- // bulbLight1.castShadow = true;
- // bulbLight1.power = 100;
- // this.addObject(bulbLight1);
- // // ---
- // var bulbLight2 = new THREE.PointLight( 0xffee88, 1, 2000, 2 );
- // bulbLight2.position.set( 600, 600, -500 );
- // bulbLight2.castShadow = true;
- // bulbLight2.power = 100;
- // this.addObject(bulbLight2);
- // // ---
- // var bulbLight3 = new THREE.PointLight( 0xffee88, 1, 2000, 2 );
- // bulbLight3.position.set( -600, 600, -500 );
- // bulbLight3.castShadow = true;
- // bulbLight3.power = 100;
- // this.addObject(bulbLight3);
- // // ---
- // var hemiLight = new THREE.HemisphereLight( 0xddeeff, 0x0f0e0d, 0.02 );
- // hemiLight.intensity = 0.0001;
- // this.addObject(hemiLight);
-
- // const ambientLight = new THREE.AmbientLight( 0xcccccc, 0.4 );
- // this.addObject( ambientLight );
+ // const bulbGeometry = new THREE.SphereGeometry( 0.02, 16, 8 );
+ // var bulbLight = new THREE.PointLight( 0xffee88, 1, 100, 2 );
//
- // const directionalLight = new THREE.DirectionalLight( 0xffffff, 0.6 );
- // directionalLight.position.set( - 1, 1, 1 );
- // this.addObject( directionalLight );
+ // var bulbMat = new THREE.MeshStandardMaterial( {
+ // emissive: 0xffffee,
+ // emissiveIntensity: 1,
+ // color: 0x000000
+ // } );
+ // bulbLight.add( new THREE.Mesh( bulbGeometry, bulbMat ) );
+ // bulbLight.position.set( -500, 22, 0 );
+ // bulbLight.castShadow = true;
+ // this.addObject( bulbLight );
+ //
+ // var hemiLight = new THREE.HemisphereLight( 0xddeeff, 0x0f0e0d, 0.02 );
+ // this.addObject( hemiLight );
}
this.initOrbitControl = function () {
this.orbitControl = new OrbitControls(this.camera, this.renderer.domElement);
@@ -157,6 +140,13 @@
]);
this.scene.background = new THREE.Color( 0xf0f0f0 );
}
+ this.initReSize = function(object){
+ window.addEventListener('resize', function () {
+ object.camera.aspect = window.innerWidth / window.innerHeight;
+ object.camera.updateProjectionMatrix();
+ object.renderer.setSize(window.innerWidth, window.innerHeight);
+ }, false);
+ }
this.removeObject = function (nameorid) {
for (let i = 0; i < this.objects.length; i++) {
let tmpObject = this.objects[i];
@@ -178,20 +168,23 @@
// plane.position.y = - 200;
// plane.receiveShadow = true;
// this.addObject(plane);
- //
+
// const helper = new THREE.PolarGridHelper( 2000, 100 );
+
const helper = new THREE.GridHelper( 8000, 300 );
helper.position.y = - 0;
helper.material.opacity = 0.25;
helper.material.transparent = true;
this.addObject( helper );
+
+ // this.addObject(new Floor({position: {}}))
}
this.initStoreObjects = function (object) {
if (this.firstTime === 1) {
initStore();
if (Store3DData !== null) {
for(var group of Store3DData.data.store.groups) {
- let crn = new StoreCrn(group.crn, object);
+ new StoreCrn(group.crn, object);
for (var line of group.lines) {
let shelf = new StoreShelf(line);
object.addObject(shelf);
@@ -211,67 +204,6 @@
}
}
-
-
-
-
-
-
-
-
-
-
-
-
-
- //鏄剧ず浠撳簱鍖哄煙
- // for (let i = 0; i < Store3DData.Areas.length; i++) {
- // let optionArea = Store3DData.Areas[i];
- // let area = new StoreArea(optionArea);
- // object.addObject(area);
- // //鏄剧ず浠撳簱
- // for (let j = 0; j < optionArea.Stores.length; j++) {
- // let optionStore = optionArea.Stores[j];
- // optionStore.Position = CommonFunction.transPosition(optionStore.Position, optionArea.Position);
- // let store = new Store(optionStore);
- // // object.addObject(store);
- // //鏄剧ず姣忚淇℃伅
- // for (let k = 0; k < optionStore.Groups.length; k++) {
- // let optionGroup = optionStore.Groups[k];
- // optionGroup.Position = CommonFunction.transPosition(optionGroup.Position, optionStore.Position);
- // let shelf = new StoreShelf(optionGroup);
- // let group=new StoreGroup(optionGroup,1);
- // object.addObject(shelf);
- // // object.addObject(group);
- // //鏄剧ず搴撲綅涓婄殑璐х墿
- // for (let m = 0; m < optionGroup.Bins.length; m++) {
- // let optionBin = optionGroup.Bins[m];
- // let existGoods=this.getExistedGoodType(optionBin.State);
- // let storeGoods = new StoreGoods(optionGroup, optionBin);
- // if(existGoods==null) {
- // let goods=storeGoods.create();
- // object.addObject(goods);
- // this.goodTypes.push({type: optionBin.State, object: goods});
- // } else {
- // let goods= storeGoods.clone(existGoods);
- // object.addObject(goods);
- // }
- // }
- // }
- //
- // }
- // }
- // this.firstTime = 0;
- }
- }
- }
- this.queryTask = function () {
- if (TaskDatas !== null) {
- for (let TaskData of TaskDatas) {
- let wrkTask = getArrVal(this.wrkTasks, "wrkNo", TaskData.wrkNo);
- if (null == wrkTask) {
- this.wrkTasks.push(TaskData);
- }
}
}
}
@@ -280,9 +212,10 @@
for (let crnData of CrnDatas) {
let crnTask = getArrVal(this.crnTasks, "crnNo", crnData.crnNo);
if (null == crnTask) {
- this.crnTasks.push(new CrnTask(crnData));
+ this.crnTasks.push(new CrnTask(crnData, this));
} else {
if(!crnTask.run) {
+ // console.log(2)
crnTask.modify(crnData);
}
}
@@ -300,81 +233,56 @@
}
this.initModel = function () {
let that = this;
- // let object;
- // const onProgress = function ( xhr ) {
- // if ( xhr.lengthComputable ) {
- // const percentComplete = xhr.loaded / xhr.total * 100;
- // console.log( Math.round( percentComplete, 2 ) + '% downloaded' );
- // }
- // };
- // const onError = function () { };
- // function loadModel() {
- // object.traverse( function ( child ) {
- // if ( child.isMesh ) child.material.map = texture;
- // } );
- // object.position.y = 195;
- // that.addObject( object );
- // }
- // const manager = new THREE.LoadingManager(loadModel);
- // const textureLoader = new THREE.TextureLoader( manager );
- // const texture = textureLoader.load( '../static/model/obj/uv_grid_opengl.jpg' );
- // const loader = new OBJLoader( manager );
- // loader.load( '../static/model/obj/AGV.obj', function ( obj ) {
- // object = obj;
- // }, onProgress, onError );
const manager = new THREE.LoadingManager();
// manager.addHandler( /\.dds$/i, new DDSLoader() );
- new MTLLoader(manager)
- .setPath( '../static/model/obj/' )
- .load( '璐у弶.mtl', function ( materials ) {
- materials.preload();
- new OBJLoader( manager )
- .setMaterials( materials )
- .setPath( '../static/model/obj/' )
- .load( '璐у弶.obj', function ( object ) {
- object.position.z = -500;
- object.position.x = -2060;
- // object.position.z = 0;
- // object.position.x = 0;
- // object.position.y = 0;
- object.scale.set(0.025, 0.025, 0.025);
- object.rotateY(- Math.PI / 2)
- that.addObject( object );
- }, null, null );
- });
- new MTLLoader(manager)
- .setPath( '../static/model/obj/' )
- .load( '杞借揣鍙�.mtl', function ( materials ) {
- materials.preload();
- new OBJLoader( manager )
- .setMaterials( materials )
- .setPath( '../static/model/obj/' )
- .load( '杞借揣鍙�.obj', function ( object ) {
- object.position.z = -500;
- object.position.x = -2060;
- object.scale.set(0.025, 0.025, 0.025);
- object.rotateY(- Math.PI / 2)
- that.addObject( object );
- }, null, null );
- });
- new MTLLoader(manager)
- .setPath( '../static/model/obj/' )
- .load( '鍫嗗灈鏈烘湰浣�.mtl', function ( materials ) {
- materials.preload();
- new OBJLoader( manager )
- .setMaterials( materials )
- .setPath( '../static/model/obj/' )
- .load( '鍫嗗灈鏈烘湰浣�.obj', function ( object ) {
- object.position.z = -500;
- object.position.x = -2060;
- // object.position.z = 0;
- // object.position.x = 0;
- // object.position.y = 0;
- object.scale.set(0.025, 0.025, 0.025);
- object.rotateY(- Math.PI / 2)
- that.addObject( object );
- }, null, null );
- });
+ // new MTLLoader(manager)
+ // .setPath( '../static/model/obj/' )
+ // .load( '璐у弶.mtl', function ( materials ) {
+ // materials.preload();
+ // new OBJLoader( manager )
+ // .setMaterials( materials )
+ // .setPath( '../static/model/obj/' )
+ // .load( '璐у弶.obj', function ( object ) {
+ // object.position.z = -480;
+ // object.position.x = -1735;
+ // object.scale.set(0.03, 0.03, 0.03);
+ // object.rotateY(- Math.PI / 2)
+ // that.addObject( object );
+ // }, null, null );
+ // });
+ // new MTLLoader(manager)
+ // .setPath( '../static/model/obj/' )
+ // .load( '杞借揣鍙�.mtl', function ( materials ) {
+ // materials.preload();
+ // new OBJLoader( manager )
+ // .setMaterials( materials )
+ // .setPath( '../static/model/obj/' )
+ // .load( '杞借揣鍙�.obj', function ( object ) {
+ // object.position.z = -480;
+ // object.position.x = -1735;
+ // object.scale.set(0.03, 0.03, 0.03);
+ // object.rotateY(- Math.PI / 2)
+ // that.addObject( object );
+ // }, null, null );
+ // });
+ // new MTLLoader(manager)
+ // .setPath( '../static/model/obj/' )
+ // .load( '鍫嗗灈鏈烘湰浣�.mtl', function ( materials ) {
+ // materials.preload();
+ // new OBJLoader( manager )
+ // .setMaterials( materials )
+ // .setPath( '../static/model/obj/' )
+ // .load( '鍫嗗灈鏈烘湰浣�.obj', function ( object ) {
+ // object.position.z = -480;
+ // object.position.x = -1735;
+ // // object.position.z = 0;
+ // // object.position.x = 0;
+ // // object.position.y = 0;
+ // object.scale.set(0.03, 0.03, 0.03);
+ // object.rotateY(- Math.PI / 2)
+ // that.addObject( object );
+ // }, null, null );
+ // });
}
this.initModelMove = function () {
console.log(this.crnTasks)
@@ -387,17 +295,9 @@
// }
}
- this.modelMove = function () {
- if (this.curve) {
- this.progress += 0.001;
- if (this.progress>1.0) {
- this.curve = null;
- } else {
- let point = this.curve.getPoint(this.progress);
- if(point&&point.x){
- this.crnBody.position.set(point.x,point.y,point.z);
- }
- }
+ this.crnMove = function (object) {
+ for (let crnTask of this.crnTasks) {
+ crnTask.move();
}
}
},
--
Gitblit v1.9.1