-
Lucio Zambon authored47ecb151
pdu.js 3.35 KiB
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;
}