/**
*
*创建机柜门 接上一篇
*/
let rearGeometryDoor = new THREE.BoxGeometry(basicParameters.thickness, this.cabinetObj.h,this.cabinetObj.w+basicParameters.thickness*2);
let materialsbgDoor = [];
for (let i = 0; i < rearGeometryDoor.faces.length / 2; i += 1) {
let material
if(i===1){
material = this.cabinetbgMaterial.doorBan[0];
}else if(i===0){
material = this.cabinetbgMaterial.doorBan[1];
}else{
material = this.cabinetbgMaterial.doorBan[2];
}
materialsbgDoor[i] = material
}
// rearGeometryDoor.translate(this.cabinetObj.w/2,0,0)
let door = new THREE.Mesh(rearGeometryDoor,materialsbgDoor);
let doorZ = this.position.z<0?this.position.z – this.cabinetObj.w/2 – this.cabinetObj.z/2: this.position.z + this.cabinetObj.w/2 + this.cabinetObj.z/2
let doorOption = {x:riserR.position.x-basicParameters.thickness/2,y:this.position.y,z:doorZ}
door.name=’door’;
door.closeTag= this.options.closeTag;
if(door.closeTag === ‘open’){
door.position.set(doorOption.x+basicParameters.thickness/2,doorOption.y,doorOption.z)
}else{
door.rotateY(-1.57)
door.position.set(doorOption.x – this.options.cabinetObj.w/2,doorOption.y,doorOption.z – this.options.cabinetObj.w/2+basicParameters.thickness/2)
}
cabGroup.add(door);
// 整个机柜的位置及旋转
cabGroup.name = ‘cabGroup’;
cabGroup.cabId = this.cabId;
cabGroup.position.set(this.cabPosition.x,this.cabPosition.y,this.cabPosition.z)
cabGroup.rotateX(this.cabPosition.rotatex)
cabGroup.rotateY(this.cabPosition.rotatey)
cabGroup.rotateZ(this.cabPosition.rotatez)
for (let i = 0; i < cabGroup.children.length; i++) {
cabGroup.children[i].cabId = this.cabId;
cabGroup.children[i].cabName = ‘cab’;
cabGroup.children[i].cabSlot = this.cabSlot;
cabGroup.children[i].status = this.status;
}
this.scene.add(cabGroup)
}
}
export default cabinet;
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/209931.html原文链接:https://javaforall.cn
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有