From 6809123d3ed5cce20bfd8bebf150f606ddb5ed35 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期六, 25 十二月 2021 10:05:02 +0800
Subject: [PATCH] #

---
 static/js/object/StoreConvey.js |  158 +++++++++++++++-------------------------------------
 1 files changed, 46 insertions(+), 112 deletions(-)

diff --git a/static/js/object/StoreConvey.js b/static/js/object/StoreConvey.js
index e3c5bf1..4674b0c 100644
--- a/static/js/object/StoreConvey.js
+++ b/static/js/object/StoreConvey.js
@@ -1,123 +1,57 @@
 import {MTLLoader} from "../lib/MTLLoader.js";
 import {OBJLoader} from "../lib/OBJLoader.js";
-import {Color} from "../three.module.js";
+import * as THREE from '../three.module.js';
 
-const xOffset = -1658;
-const yOffset = -553;
-const zOffset = -1800;
+function StoreConvey(object, data) {
+    let that = this;
+    that.data = null;
+    that.object = null;
 
-const xOffset0 = -1407;
-const yOffset0 = 0;
-const zOffset0 = 490;
+    let chainList = [];
+    let rollerList = [];
+    let transportList = [];
 
-function StoreConvey(object) {
+    let init = function () {
+        that.data = data;
+        that.object = object;
+        for (let i=0;i<that.data.length;i++) {
+            let conveyObj = that.data[i];
+            switch (conveyObj.objectType) {
+                case "chain":
+                    chainList.push(conveyObj);
+                    break;
+                case "roller":
+                    rollerList.push(conveyObj);
+                    break;
+                case "transport":
+                    transportList.push(conveyObj);
+                    break;
+                default:
+                    break;
+            }
+        }
+    };
+    init();
 
-    const manager = new THREE.LoadingManager();
-
-    let chain = 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 ( obj ) {
-                    chain = obj;
-                    chain.scale.set(0.03, 0.03, 0.025);
-                    chain.rotateY( -Math.PI / 2);
-                    chain.traverse (function (child) {
-                        if (child instanceof THREE.Mesh) {
-                            child.material = new THREE.MeshLambertMaterial({
-                                color: 0xAAAAAA
-                            });
-                        }
+    this.load = function () {
+        new THREE.ObjectLoader().load( "../static/model/json/閾炬潯杈撻�佹満.json", function (obj) {
+            obj.traverse (function (child) {
+                if (child instanceof THREE.Mesh) {
+                    child.scale.set(1, 1, 1.8);
+                    child.material = new THREE.MeshLambertMaterial({
+                        color: 0xAAAAAA
                     });
-
-                    for (let i = 0; i<24; i++) {
-                        let clone = chain.clone();
-                        // roller.name = option.crnNo + "-body";
-                        let offset = 0;
-                        if (i % 2 === 0) {
-                            offset = 90;
-                        }
-                        clone.position.x = xOffset0 + 56 + offset + Math.floor(i/2)*230;
-                        clone.position.y = yOffset0;
-                        clone.position.z = zOffset0 + 39;
-                        object.addObject( clone );
-                    }
-
-                    for (let i = 0; i<24; i++) {
-                        let clone = chain.clone();
-                        // roller.name = option.crnNo + "-body";
-                        let offset = 0;
-                        if (i % 2 === 0) {
-                            offset = 90;
-                        }
-                        clone.position.x = xOffset0 + 56 + offset + Math.floor(i/2)*230;
-                        clone.position.y = yOffset0;
-                        clone.position.z = zOffset0 + 39 + 82;
-                        object.addObject( clone );
-                    }
-
-                    for (let i = 0; i<24; i++) {
-                        var clone = chain.clone();
-                        // roller.name = option.crnNo + "-body";
-                        let offset = 0;
-                        if (i % 2 === 0) {
-                            offset = 90;
-                        }
-                        clone.position.x = xOffset0 + 56 + offset + Math.floor(i/2)*230;
-                        clone.position.y = yOffset0 + 310;
-                        clone.position.z = zOffset0 + 39;
-                        object.addObject( clone );
-                    }
-
-                    for (let i = 0; i<24; i++) {
-                        let clone = chain.clone();
-                        // roller.name = option.crnNo + "-body";
-                        let offset = 0;
-                        if (i % 2 === 0) {
-                            offset = 90;
-                        }
-                        clone.position.x = xOffset0 + 56 + offset + Math.floor(i/2)*230;
-                        clone.position.y = yOffset0 + 310;
-                        clone.position.z = zOffset0 + 39 + 82;
-                        object.addObject( clone );
-                    }
-
-                }, null, null );
+                }
+            });
+            for (let k=0;k<chainList.length;k++) {
+                let clone = obj.clone();
+                clone.position.x = 0 + chainList[k].position.x;
+                clone.position.y = 0 + chainList[k].position.y;
+                clone.position.z = 0 + chainList[k].position.z;
+                that.object.addObject( clone );
+            }
         });
-
-    let roller = null;
-    new MTLLoader(manager)
-    	.setPath( '../static/model/obj/' )
-    	.load( '123.mtl', function ( materials ) {
-    		materials.preload();
-    		new OBJLoader( manager )
-    			.setMaterials( materials )
-    			.setPath( '../static/model/obj/' )
-    			.load( '123.obj', function ( obj ) {
-                    roller = obj;
-                    roller.traverse (function (child) {
-                        if (child instanceof THREE.Mesh) {
-                            child.material = new THREE.MeshLambertMaterial({
-                                color: 0xCD6839
-                            });
-                        }
-                    });
-
-                    roller.scale.set(1000, 1000, 1000);
-                    roller.rotateY(- Math.PI / 2);
-                    // roller.name = option.crnNo + "-body";
-                    roller.position.x = xOffset;
-                    roller.position.y = yOffset;
-                    roller.position.z = zOffset;
-                    // object.addObject( roller );
-
-    			}, null, null );
-    });
-
+    }
 }
 
 export {StoreConvey}

--
Gitblit v1.9.1