Skip to content
Snippets Groups Projects
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);