import {MTLLoader} from "../lib/MTLLoader.js"; import {OBJLoader} from "../lib/OBJLoader.js"; import * as THREE from '../three.module.js'; const palletX = -18; const palletY = 2; const palletZ = -46; const goodsX = -17; const goodsY = 5; const goodsZ = -6; function StoreGoods(object, data, shelf) { let that = this; that.data = data; that.object = object; that.shelf = shelf; let palletList = []; let goodsList = []; for (let i=0;i { let clone = obj.clone(); let positionX = that.shelf.positionX || 0; let positionY = that.shelf.bottomHight + (item.lev1-1)*that.shelf.binHeight || 0; let positionZ = (item.bay1-1)*-that.shelf.binHeight || 0; clone.name = item.loc_no + "-" + "Pallet"; clone.position.x = palletX + positionX; clone.position.y = palletY + positionY; clone.position.z = palletZ + positionZ; that.object.addObject(clone); }) }); const goodsWrapImg = new THREE.TextureLoader( manager ).load( '../static/img/goodsWrap.jpg' ); const goodsImg = new THREE.TextureLoader( manager ).load( '../static/img/goods.jpg' ); new OBJLoader( manager ).load( '../static/model/obj/goods.obj', function ( obj ) { obj.traverse (function (child) { child.castShadow = true; if (child instanceof THREE.Mesh) { if (child.name === 'goods') { child.material.map = goodsImg; } else if (child.name === "goods_wrap") { child.material.map = goodsWrapImg; } } }); obj.scale.set(1, 1.2, 1.2); goodsList.map(item => { let clone = obj.clone(); let positionX = that.shelf.positionX || 0; let positionY = that.shelf.bottomHight + (item.lev1-1)*that.shelf.binHeight || 0; let positionZ = (item.bay1-1)*-that.shelf.binHeight || 0; clone.name = item.loc_no + "-" + "Goods"; clone.position.x = goodsX + positionX; clone.position.y = goodsY + positionY; clone.position.z = goodsZ + positionZ; that.object.addObject(clone); }) }); } export {StoreGoods}