import {MTLLoader} from "../lib/MTLLoader.js"; import {OBJLoader} from "../lib/OBJLoader.js"; import * as THREE from '../three.module.js'; 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.position.x = -18 + positionX; clone.position.y = 2 + positionY; clone.position.z = -46 + positionZ; that.object.addObject(clone); }) }, null, null ); }); 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.position.x = -17 + positionX; clone.position.y = 5 + positionY; clone.position.z = -7 + positionZ; that.object.addObject(clone); }) }); } export {StoreGoods}