import * as THREE from 'three'; // PDU export function pdu(width=500, height=100, depth=600) { const pduObject = new THREE.Object3D(); const slotObject = new THREE.Object3D(); const greenmaterial = new THREE.MeshLambertMaterial({color: 0x00ff11}); const greenDarkmaterial = new THREE.MeshLambertMaterial({color: 0x0b5e11}); const graymaterial = new THREE.MeshLambertMaterial({color: 0x2e2e2e}); const graymaterial2 = new THREE.MeshLambertMaterial({color: 0x7d7d7d}); const silvermaterial = new THREE.MeshLambertMaterial({color: 0xf0f0f0}); const blackmaterial = new THREE.MeshLambertMaterial({color: 0x000000}); const bluematerial = new THREE.MeshLambertMaterial({color: 0x0000ff}); const redmaterial = new THREE.MeshLambertMaterial({color: 0xff0000}); // base const basegeometry = new THREE.BoxGeometry(width, height, depth); const basegeometrymesh = new THREE.Mesh(basegeometry, graymaterial); basegeometrymesh.position.set( 0, 0 ,0); pduObject.add(basegeometrymesh); // card const cardgeometry = new THREE.BoxGeometry(5, 50, depth); const cardgeometrymesh = new THREE.Mesh(cardgeometry, blackmaterial); cardgeometrymesh.position.set( -250, 25 , 0); pduObject.add(cardgeometrymesh); //slot const led1green = new THREE.BoxGeometry(3, 20, 20); const led1greenmesh = new THREE.Mesh(led1green, graymaterial2); led1greenmesh.position.set( -254, 25 , -280); slotObject.add(led1greenmesh); //CLONE Cards connector const card2 = slotObject.clone(); card2.position.set( 0, 0 , 25); pduObject.add(card2); const card3 = slotObject.clone(); card3.position.set( 0, 0 , 50); pduObject.add(card3); const card4 = slotObject.clone(); card4.position.set( 0, 0 , 75); pduObject.add(card4); const card5 = slotObject.clone(); card5.position.set( 0, 0 , 100); pduObject.add(card5); const card6 = slotObject.clone(); card6.position.set( 0, 0 , 125); pduObject.add(card6); const card7 = slotObject.clone(); card7.position.set( 0, 0 , 150); pduObject.add(card7); const card8 = slotObject.clone(); card8.position.set( 0, 0 , 175); pduObject.add(card8); const card9 = slotObject.clone(); card9.position.set( 0, 0 , 200); pduObject.add(card9); const card10 = slotObject.clone(); card10.position.set( 0, 0 , 225); pduObject.add(card10); const card11 = slotObject.clone(); card11.position.set( 0, 0 , 225); pduObject.add(card11); const card12 = slotObject.clone(); card12.position.set( 0, 0 , 250); pduObject.add(card12); const card13 = slotObject.clone(); card13.position.set( 0, 0 , 275); pduObject.add(card13); const card14 = slotObject.clone(); card14.position.set( 0, 0 , 300); pduObject.add(card14); const card15 = slotObject.clone(); card15.position.set( 0, 0 , 325); pduObject.add(card15); // bluebase const livel2geometry = new THREE.BoxGeometry(5, 35, 130); const livel2geometrymesh = new THREE.Mesh(livel2geometry, bluematerial); livel2geometrymesh.position.set( -252, 25 , -233); pduObject.add(livel2geometrymesh); // redbase const livel1geometry = new THREE.BoxGeometry(5, 35, 125); const livel1geometrymesh = new THREE.Mesh(livel1geometry, redmaterial); livel1geometrymesh.position.set(-252, 25 , -106); pduObject.add(livel1geometrymesh); pduObject.add(slotObject); return pduObject; }