Skip to content
Snippets Groups Projects
Commit 31dd66fa authored by Lucio Zambon's avatar Lucio Zambon
Browse files

Add new file

parent ffd8535b
No related branches found
No related tags found
No related merge requests found
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);
const redbuttonmesh = new THREE.Mesh(redbutton, redmaterial);
redbuttonmesh.rotateX(Math.PI * 0.5);
redbuttonmesh.rotateY(Math.PI * 1);
redbuttonmesh.rotateZ(Math.PI * 0.5);
redbuttonmesh.position.set(-400, 550 , 70);
don_rackObject.add(redbuttonmesh);
//YelloyLed
const yellowled = new THREE.CylinderGeometry(40, 40, 40, 15);
const yellowledmesh = new THREE.Mesh(yellowled, yellowmaterial);
yellowledmesh.rotateX(Math.PI * 0.5);
yellowledmesh.rotateY(Math.PI * 1);
yellowledmesh.rotateZ(Math.PI * 0.5);
yellowledmesh.position.set(-400, 550 , 200);
don_rackObject.add(yellowledmesh);
//EmergenctButton
const emergencybutton = new THREE.CylinderGeometry(80, 80, 40, 15);
const emergencybuttonmesh = new THREE.Mesh(emergencybutton, emergencymaterial);
emergencybuttonmesh.rotateX(Math.PI * 0.5);
emergencybuttonmesh.rotateY(Math.PI * 1);
emergencybuttonmesh.rotateZ(Math.PI * 0.5);
emergencybuttonmesh.position.set(-400, 330 , 150);
don_rackObject.add(emergencybuttonmesh);
//display up
const displayupgeometry = new THREE.BoxGeometry(50, 50, 150);
const displayupgeometrymesh = new THREE.Mesh(displayupgeometry, materialVeryGreyDark);
displayupgeometrymesh.position.set( -400, 700 , -150);
don_rackObject.add(displayupgeometrymesh);
//display2 down
const displayupgeometry2 = new THREE.BoxGeometry(50, 50, 150);
const displayupgeometrymesh2 = new THREE.Mesh(displayupgeometry2, materialVeryGreyDark);
displayupgeometrymesh2.position.set( -400, 600 , -150);
don_rackObject.add(displayupgeometrymesh2);
//fan1
const fan1geometry = new THREE.BoxGeometry(10, 200, 200);
const fan1geometrymesh = new THREE.Mesh(fan1geometry, materialVeryGreyDark);
fan1geometrymesh.position.set( -400, 50 , 150);
don_rackObject.add(fan1geometrymesh);
//fan2
const fan2geometry = new THREE.BoxGeometry(10, 200, 200);
const fan2geometrymesh = new THREE.Mesh(fan2geometry, materialVeryGreyDark);
fan2geometrymesh.position.set( -400, -170 , 150);
don_rackObject.add(fan2geometrymesh);
//Lgrid2 down
const grid2geometry = new THREE.BoxGeometry(10, 200, 520);
const textureLoader2 = new THREE.TextureLoader();
const texture2 = textureLoader2.load('./components/grid_texture.png');
texture2.wrapS = texture2.wrapT = THREE.RepeatWrapping;
texture2.repeat.set(50, 1);
const material2 = new THREE.MeshBasicMaterial({ map: texture2 });
const grid2geometrymesh = new THREE.Mesh(grid2geometry, material2);
grid2geometrymesh.rotateX(Math.PI * 1);
grid2geometrymesh.rotateY(Math.PI * 1);
grid2geometrymesh.rotateZ(Math.PI * 1);
grid2geometrymesh.position.set( -400, -650 , -10);
don_rackObject.add(grid2geometrymesh);
return don_rackObject;
}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment