-
Lucio Zambon authored31dd66fa
donatello.js 5.38 KiB
import * as THREE from 'three';
// rack donatello
export function donatello(param) {
const don_rackObject = new THREE.Object3D();
const materialGreyDark= new THREE.MeshLambertMaterial({color: 0x9d9d9d});
const materialGreyMedium= new THREE.MeshLambertMaterial({color: 0x636363});
const materialVeryGreyDark= new THREE.MeshLambertMaterial({color: 0x242424});
const silvermaterial = new THREE.MeshLambertMaterial({color: 0xf0f0f0});
const greenmaterial = new THREE.MeshLambertMaterial({color: 0x17fc03});
const greenmaterial2 = new THREE.MeshLambertMaterial({color: 0x0f993b});
const emergencymaterial = new THREE.MeshLambertMaterial({color: 0xff0000});
const redmaterial = new THREE.MeshLambertMaterial({color: 0xff0000});
const yellowmaterial = new THREE.MeshLambertMaterial({color: 0xcc9d02});
const materialBrown= new THREE.MeshLambertMaterial({color: 0x654321});
// rack
const lrgeometry = new THREE.BoxGeometry(800, 2000, 800);
const lrmesh = new THREE.Mesh(lrgeometry, silvermaterial);
lrmesh.position.set(0 , 0 , 0);
don_rackObject.add(lrmesh);
//edge le
const rlegeometry = new THREE.BoxGeometry(50, 2000, 50);
const rlemesh = new THREE.Mesh(rlegeometry, materialBrown);
rlemesh.position.set( -425, 0 , -370);
don_rackObject.add(rlemesh);
//edge re
const rregeometry = new THREE.BoxGeometry(50, 2000, 50);
const rremesh = new THREE.Mesh(rregeometry, materialBrown);
rremesh.position.set( -425, 0 , 375);
don_rackObject.add(rremesh);
//edge ue
const ruegeometry = new THREE.BoxGeometry(50, -50, 750);
const ruemesh = new THREE.Mesh(ruegeometry, materialBrown);
ruemesh.position.set( -426, 975 , 0);
don_rackObject.add(ruemesh);
//edge de
const rdegeometry = new THREE.BoxGeometry(50, -50, 750);
const rdemesh = new THREE.Mesh(rdegeometry, materialBrown);
rdemesh.position.set( -426, -975 , 0);
don_rackObject.add(rdemesh);
//GreenButton
const greenbutton = new THREE.CylinderGeometry(55, 55, 40, 15);
const greenbuttonmesh = new THREE.Mesh(greenbutton, greenmaterial);
greenbuttonmesh.rotateX(Math.PI * 0.5);
greenbuttonmesh.rotateY(Math.PI * 1);
greenbuttonmesh.rotateZ(Math.PI * 0.5);
greenbuttonmesh.position.set(-400, 700 , 70);
don_rackObject.add(greenbuttonmesh);
//GreenLed
const greenled = new THREE.CylinderGeometry(40, 40, 40, 15);
const greenledmesh = new THREE.Mesh(greenled, greenmaterial2);
greenledmesh.rotateX(Math.PI * 0.5);
greenledmesh.rotateY(Math.PI * 1);
greenledmesh.rotateZ(Math.PI * 0.5);
greenledmesh.position.set(-400, 700 , 200);
don_rackObject.add(greenledmesh);
//RedButton
const redbutton = new THREE.CylinderGeometry(55, 55, 40, 15);