diff --git a/components/src/rrf.js b/components/src/rrf.js new file mode 100644 index 0000000000000000000000000000000000000000..7e02d77f659e34b826e67b57d35596200eefd1f6 --- /dev/null +++ b/components/src/rrf.js @@ -0,0 +1,90 @@ + import * as THREE from 'three'; + + + // rrf rack + export function rrf(width=800, height=2500, depth=600) { + const rrf_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}); + const materialGreyDark= new THREE.MeshLambertMaterial({color: 0x9d9d9d}); + const materialGreyMedium= new THREE.MeshLambertMaterial({color: 0x636363}); + const silvermaterial = new THREE.MeshLambertMaterial({color: 0xf0f0f0}); + const materialVeryGreyDark= new THREE.MeshLambertMaterial({color: 0x242424}); + + //rack + const rrgeometry = new THREE.BoxGeometry(width, height, depth); + const rrmesh = new THREE.Mesh(rrgeometry, silvermaterial); + rrmesh.position.set( 0, 0 , -10); + rrf_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); + rrf_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); + rrf_rackObject.add(Rtargetmesh); + + //edge le + const llegeometry = new THREE.BoxGeometry(width-750, height, depth-550); + const llemesh = new THREE.Mesh(llegeometry, materialGreyDark); + llemesh.position.set( -425, 0 , -285); + rrf_rackObject.add(llemesh); + + //edge re + const lregeometry = new THREE.BoxGeometry(width-750, height, depth-550); + const lremesh = new THREE.Mesh(lregeometry, materialGreyDark); + lremesh.position.set( -425, 0 , 265); + rrf_rackObject.add(lremesh); + + //edge ue + const luegeometry = new THREE.BoxGeometry(width-750, height-2450, depth-50); + const luemesh = new THREE.Mesh(luegeometry, materialGreyDark); + luemesh.position.set( -425, 1225 , -7); + rrf_rackObject.add(luemesh); + + //edge de + const ldegeometry = new THREE.BoxGeometry(width-750, height-2450, depth-50); + const ldemesh = new THREE.Mesh(ldegeometry, materialGreyDark); + ldemesh.position.set( -425, -1230 , -7); + rrf_rackObject.add(ldemesh); + + + //drawer 1 + const libera1geometry = new THREE.BoxGeometry(10, 200, 600); + const libera1geometrymesh = new THREE.Mesh(libera1geometry, materialGreyMedium); + libera1geometrymesh.position.set( -400, 900 , -10); + rrf_rackObject.add(libera1geometrymesh); + + //drawer 2 + const libera2geometrymesh = new THREE.Mesh(libera1geometry, materialGreyMedium); + libera2geometrymesh.position.set( -400, 600 , -10); + rrf_rackObject.add(libera2geometrymesh); + + //drawer 3 + const libera3geometrymesh = new THREE.Mesh(libera1geometry, materialGreyMedium); + libera3geometrymesh.position.set( -400, 300 , -10); + rrf_rackObject.add(libera3geometrymesh); + + //drawer 4 + const libera4geometrymesh = new THREE.Mesh(libera1geometry, materialGreyMedium); + libera4geometrymesh.position.set( -400, 0 , -10); + rrf_rackObject.add(libera4geometrymesh); + + //drawer 5 + const libera5geometrymesh = new THREE.Mesh(libera1geometry, materialGreyMedium); + libera5geometrymesh.position.set( -400, -300 , -10); + rrf_rackObject.add(libera5geometrymesh); + + //drawer 6 + const libera6geometrymesh = new THREE.Mesh(libera1geometry, materialGreyMedium); + libera6geometrymesh.position.set( -400, -600 , -10); + rrf_rackObject.add(libera6geometrymesh); + + return rrf_rackObject; + }