From 99f2b35d3bb091cb7b0fcc6316c1c579e6866bd0 Mon Sep 17 00:00:00 2001 From: Lucio Zambon <lucio.zambon@elettra.eu> Date: Wed, 24 Apr 2024 13:46:57 +0000 Subject: [PATCH] Add new file --- components/src/rcpremium.js | 68 +++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 components/src/rcpremium.js diff --git a/components/src/rcpremium.js b/components/src/rcpremium.js new file mode 100644 index 0000000..aa826ef --- /dev/null +++ b/components/src/rcpremium.js @@ -0,0 +1,68 @@ + import * as THREE from 'three'; + + + // Control rack + export function rcpremium(width=800, height=2500, depth=600) { + const rc_rackObject = new THREE.Object3D(); + + const bluematerial = new THREE.MeshLambertMaterial({color: 0x0053d9}); + const softbluematerial = new THREE.MeshLambertMaterial({color: 0x2b7cff}); + const target = new THREE.MeshLambertMaterial({color: 0xfbe928}); + //rack + const rrgeometry = new THREE.BoxGeometry(width, height, depth); + const rrmesh = new THREE.Mesh(rrgeometry, softbluematerial); + rrmesh.position.set( 0, 0 , -10); + rc_rackObject.add(rrmesh); + + //front yellow target + const Ftarget = new THREE.BoxGeometry(2, 90, 500); + const Ftargetmesh = new THREE.Mesh(Ftarget, target); + Ftargetmesh.position.set( -451, 1200 , -15); + rc_rackObject.add(Ftargetmesh); + //Rear yellow target + const Rtarget = new THREE.BoxGeometry(2, 90, 500); + const Rtargetmesh = new THREE.Mesh(Rtarget, target); + Rtargetmesh.position.set( 401, 1200 , -15); + rc_rackObject.add(Rtargetmesh); + + //edge le + const llegeometry = new THREE.BoxGeometry(width-750, height, depth-550); + const llemesh = new THREE.Mesh(llegeometry, bluematerial); + llemesh.position.set( -425, 0 , -285); + rc_rackObject.add(llemesh); + + //edge re + const lregeometry = new THREE.BoxGeometry(width-750, height, depth-550); + const lremesh = new THREE.Mesh(lregeometry, bluematerial); + lremesh.position.set( -425, 0 , 265); + rc_rackObject.add(lremesh); + + //edge ue + const luegeometry = new THREE.BoxGeometry(width-750, height-2450, depth-50); + const luemesh = new THREE.Mesh(luegeometry, bluematerial); + luemesh.position.set( -425, 1225 , -7); + rc_rackObject.add(luemesh); + + //edge de + const ldegeometry = new THREE.BoxGeometry(width-750, height-2450, depth-50); + const ldemesh = new THREE.Mesh(ldegeometry, bluematerial); + ldemesh.position.set( -425, -1230 , -7); + rc_rackObject.add(ldemesh); + + + //base and build texture + const drawer1geometry = new THREE.BoxGeometry(10, 2450, 550); + const textureLoader = new THREE.TextureLoader(); + const texture = textureLoader.load('./components/rcscreenfoto.jpg'); + texture.wrapS = texture.wrapT = THREE.RepeatWrapping; + texture.repeat.set(1, 1); + const material = new THREE.MeshBasicMaterial({ map: texture }); + const gridgeometrymesh = new THREE.Mesh(drawer1geometry, material); + gridgeometrymesh.rotateX(Math.PI * 1); + gridgeometrymesh.rotateY(Math.PI * 1); + gridgeometrymesh.rotateZ(Math.PI * 1); + gridgeometrymesh.position.set( -400, 0 , -10); + rc_rackObject.add(gridgeometrymesh); + + return rc_rackObject; + } -- GitLab