From 2f6c32fbfbd3696ed3ccce3b89158e4a5876ddc5 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期一, 13 十二月 2021 11:19:27 +0800
Subject: [PATCH] #
---
static/js/app.js | 249 +++++++++++++++++++++++++++++++++++--------------
1 files changed, 177 insertions(+), 72 deletions(-)
diff --git a/static/js/app.js b/static/js/app.js
index 88fc6cb..5fb69a3 100644
--- a/static/js/app.js
+++ b/static/js/app.js
@@ -14,6 +14,8 @@
this.firstTime = 1;
this.stats = null;
this.goodTypes=[];//瀛樺偍鎵�鏈夌殑搴撲綅绫诲瀷
+ this.wrkNo = 0;
+ this.wrkTasks = [];// 浠诲姟鍒楄〃
this.start = function () {
this.initMain();
@@ -28,14 +30,16 @@
this.initStats();
this.initLight();
this.initFloor();
- // this.initModel();
+ this.initModel();
+ this.queryTask();
+ this.initStoreObjects(this);
}
this.animate = function () {
requestAnimationFrame(this.animate.bind(this));
this.stats.begin();
this.renderer.render(this.scene, this.camera);
this.stats.end();
- this.initStoreObjects(this);
+ // this.modelMove();
}
this.initScene = function () {
this.scene = new THREE.Scene();
@@ -46,7 +50,7 @@
// 绾垫í姣攁spect:鍏ㄥ睆锛屼娇鐢ㄧ殑鏄祻瑙堝櫒鐨勫搴�/楂樺害
//杩戝钩闈ear锛�0.1
//杩滃钩闈㈣瑙抐ar:10000
- this.camera = new THREE.PerspectiveCamera(60, window.innerWidth / window.innerHeight, 0.1, 10000);
+ this.camera = new THREE.PerspectiveCamera(60, window.innerWidth / window.innerHeight, 0.1, 50000);
/*
璁剧疆鐩告満浣嶇疆锛屾敞鎰弔hreejs涓殑鍧愭爣绯婚噰鐢ㄧ殑鏄彸鎵嬪潗鏍囩郴
*/
@@ -55,7 +59,7 @@
// this.camera.position.z = 600;
// //鐩告満鐨勬湞鍚�
// this.camera.lookAt(0, 0, 0);
- this.camera.position.set( - 550, 670, 950 );
+ this.camera.position.set( - 350, 1070, 1550 );
this.camera.lookAt( this.scene.position );
//灏嗙浉鏈烘斁鍒板満鏅腑
this.scene.add(this.camera);
@@ -72,12 +76,29 @@
this.dom.appendChild( this.renderer.domElement );
}
this.initLight = function () {
+
+ //棣栧厛娣诲姞涓幆澧冨厜
+ let ambient = new THREE.AmbientLight(0xffffff, 1); //AmbientLight,褰卞搷鏁翠釜鍦烘櫙鐨勫厜婧�
+ 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);
+
// ---
- 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 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 );
@@ -101,12 +122,12 @@
// hemiLight.intensity = 0.0001;
// this.addObject(hemiLight);
- const ambientLight = new THREE.AmbientLight( 0xcccccc, 0.4 );
- this.addObject( ambientLight );
-
- const directionalLight = new THREE.DirectionalLight( 0xffffff, 0.6 );
- directionalLight.position.set( - 1, 1, 1 );
- this.addObject( directionalLight );
+ // const ambientLight = new THREE.AmbientLight( 0xcccccc, 0.4 );
+ // this.addObject( ambientLight );
+ //
+ // const directionalLight = new THREE.DirectionalLight( 0xffffff, 0.6 );
+ // directionalLight.position.set( - 1, 1, 1 );
+ // this.addObject( directionalLight );
}
this.initOrbitControl = function () {
this.orbitControl = new OrbitControls(this.camera, this.renderer.domElement);
@@ -121,7 +142,7 @@
}
this.initStats = function () {
this.stats = new Stats();
- this.dom.appendChild( this.stats.dom );
+ // this.dom.appendChild( this.stats.dom );
}
this.initBackground = function () {
const cubeTextureLoader = new THREE.CubeTextureLoader();
@@ -131,7 +152,7 @@
"posy.jpg", "negy.jpg",
"posz.jpg", "negz.jpg"
]);
- // this.scene.background = new THREE.Color( 0xf0f0f0 );
+ this.scene.background = new THREE.Color( 0xf0f0f0 );
}
this.removeObject = function (nameorid) {
for (let i = 0; i < this.objects.length; i++) {
@@ -156,11 +177,105 @@
// this.addObject(plane);
//
// const helper = new THREE.PolarGridHelper( 2000, 100 );
- const helper = new THREE.GridHelper( 5000, 300 );
+ const helper = new THREE.GridHelper( 8000, 300 );
helper.position.y = - 0;
helper.material.opacity = 0.25;
helper.material.transparent = true;
this.addObject( helper );
+ }
+ 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);
+ for (var 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);
+ // }
+ // }
+
+ }
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+ //鏄剧ず浠撳簱鍖哄煙
+ // 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 (this.firstTime === 1) {
+ queryTaskCurrent();
+ this.wrkTasks = TaskData;
+ }
+ }
+ 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.initModel = function () {
let that = this;
@@ -195,65 +310,55 @@
new OBJLoader( manager )
.setMaterials( materials )
.setPath( '../static/model/obj/' )
- .load( 'AGV.obj', function ( object ) {
- object.position.y = 0;
+ .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.scale.set(0.025, 0.025, 0.025);
+ object.rotateY(- Math.PI / 2)
+ that.addObject( object );
+ }, null, null );
+ });
}
- this.initStoreObjects = function (object) {
- if (this.firstTime === 1) {
- if (Store3DData !== null) {
- //鏄剧ず浠撳簱鍖哄煙
- 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.modelMove = function () {
+ for (var wrkMast of this.wrkTasks) {
+ console.log(wrkMast)
+ let crnBody = getArrVal(this.objects, "name", wrkMast.crnNo + "-body");
- }
- }
- this.firstTime = 0;
- }
+ console.log(crnBody.position);
}
- }
- 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;
-
}
},
--
Gitblit v1.9.1