| | |
| | | import {OBJLoader} from "../lib/OBJLoader.js"; |
| | | import * as THREE from '../three.module.js'; |
| | | |
| | | |
| | | function StoreConvey(object) { |
| | | function StoreConvey(object, data) { |
| | | let that = this; |
| | | that.no = 0; |
| | | that.objectType = null; |
| | | that.position = null; |
| | | that.data = null; |
| | | that.object = null; |
| | | |
| | | let chainList = []; |
| | | let rollerList = []; |
| | | let transportList = []; |
| | | |
| | | let init = function () { |
| | | that.no = object.no; |
| | | that.objectType = object.objectType; |
| | | that.position = object.position; |
| | | 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(); |
| | | |
| | | that.create = function (scene) { |
| | | switch (that.objectType) { |
| | | case "chain": |
| | | 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 |
| | | }); |
| | | } |
| | | 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 |
| | | }); |
| | | obj.position.x = 0 + that.position.x; |
| | | obj.position.y = 0 + that.position.y; |
| | | obj.position.z = 0 + that.position.z; |
| | | scene.addObject( obj ); |
| | | scene.conveyTypes.push({type: that.objectType, object: obj}); |
| | | } ); |
| | | break; |
| | | case "roller": |
| | | break; |
| | | case "transport": |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | }); |
| | | 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 ); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | this.clone = function (param) { |
| | | let goods=param.clone(); |
| | | goods.position.set(this.positionX,this.positionY,this.positionZ); |
| | | goods.uuid=this.no; |
| | | goods.name=this.name; |
| | | goods.type="StoreGoods"; |
| | | return goods; |
| | | } |
| | | |
| | | } |
| | | |
| | | export {StoreConvey} |