// jshint esversion: 6 import * as THREE from 'three'; // 3hc export function cavity_3hcfast(length=1500) { const threeHCSR = new THREE.Object3D(); const dmaterial = new THREE.MeshLambertMaterial({color: 0xf0f0f0}); const dmaterial2 = new THREE.MeshLambertMaterial({color: 0xffffff}); const d1geometry = new THREE.CylinderGeometry(700, 700, length, 35); const d1mesh = new THREE.Mesh(d1geometry, dmaterial); threeHCSR.add(d1mesh); threeHCSR.rotateX(Math.PI * 0.5); threeHCSR.rotatedX = true; // left const lrgeometry = new THREE.CylinderGeometry(750, 750, 100, 65); const d2mesh = new THREE.Mesh(lrgeometry, dmaterial); d2mesh.position.set(0, -length/2-50, 0); threeHCSR.add(d2mesh); // right const d3mesh = new THREE.Mesh(lrgeometry, dmaterial); d3mesh.position.set(0, length/2+50, 0); threeHCSR.add(d3mesh); // up1 const udgeometry = new THREE.CylinderGeometry(250, 250, 700, 25); const d4mesh = new THREE.Mesh(udgeometry, dmaterial); d4mesh.rotateX(Math.PI * 0.5); d4mesh.rotateY(Math.PI * 1); d4mesh.rotateZ(Math.PI * 1); d4mesh.position.set(0, -400 , -730); threeHCSR.add(d4mesh); // up2 const udgeometry2 = new THREE.CylinderGeometry(150, 150, 700, 25); const d5mesh = new THREE.Mesh(udgeometry2, dmaterial); d5mesh.rotateX(Math.PI * 0.5); d5mesh.rotateY(Math.PI * 1); d5mesh.rotateZ(Math.PI * 1); d5mesh.position.set(0, 400 , -730); threeHCSR.add(d5mesh); //tubo1 const tubegeometry1 = new THREE.CylinderGeometry(30, 30, 1100, 25); const d12mesh = new THREE.Mesh(tubegeometry1, dmaterial); d12mesh.rotateX(Math.PI * 0.5); d12mesh.rotateY(Math.PI * 0.5); d12mesh.rotateZ(Math.PI * 0.5); d12mesh.position.set(-430, -150 , -930); threeHCSR.add(d12mesh); //tubo2 const tubegeometry2 = new THREE.CylinderGeometry(30, 30, 450, 25); const d13mesh = new THREE.Mesh(tubegeometry2, dmaterial); d13mesh.rotateX(Math.PI * 0.5); d13mesh.rotateY(Math.PI * 1); d13mesh.rotateZ(Math.PI * 0.5); d13mesh.position.set(-200, 400 , -930); threeHCSR.add(d13mesh); //sferacopritubo const sphereGeometry = new THREE.SphereGeometry(30, 30, 30); const d14mesh = new THREE.Mesh(sphereGeometry, dmaterial); d14mesh.position.set(-430, 400 , -930); threeHCSR.add(d14mesh); //up3a const udgeometry2h = new THREE.CylinderGeometry(30, 30, 400, 25); const d16mesh = new THREE.Mesh(udgeometry2h, dmaterial); d16mesh.rotateX(Math.PI * 0.5); d16mesh.rotateY(Math.PI * 1); d16mesh.rotateZ(Math.PI * 1); d16mesh.position.set(0, 650 , -900); threeHCSR.add(d16mesh); //up3c const udgeometry2m = new THREE.CylinderGeometry(30, 30, 400, 25); const d18mesh = new THREE.Mesh(udgeometry2m, dmaterial); d18mesh.rotateX(Math.PI * 0.5); d18mesh.rotateY(Math.PI * 0.75); d18mesh.rotateZ(Math.PI * 1.5); d18mesh.position.set(-140, 790 , -1100); threeHCSR.add(d18mesh); //sferacopritubo laterale const sphereGeometry2 = new THREE.SphereGeometry(30, 30, 30); const d19mesh = new THREE.Mesh(sphereGeometry2, dmaterial); d19mesh.position.set(0, 650 , -800); threeHCSR.add(d19mesh); //cubo1 const cube1 = new THREE.BoxGeometry(440, 240, 240); const d22mesh = new THREE.Mesh(cube1, dmaterial); d22mesh.position.set(-800, -400 , 0); threeHCSR.add(d22mesh); //tubilaterali2a const lateraltube2a = new THREE.CylinderGeometry(140, 140, 200, 25); const d24mesh = new THREE.Mesh(lateraltube2a, dmaterial); d24mesh.rotateX(Math.PI * 0.5); d24mesh.rotateY(Math.PI * 1); d24mesh.rotateZ(Math.PI * 0.5); d24mesh.position.set(-650, 0 , 0); threeHCSR.add(d24mesh); //tubilaterali3a const lateraltube3a = new THREE.CylinderGeometry(180, 180, 110, 25); const d26mesh = new THREE.Mesh(lateraltube3a, dmaterial); d26mesh.rotateX(Math.PI * 0.5); d26mesh.rotateY(Math.PI * 1); d26mesh.rotateZ(Math.PI * 0.5); d26mesh.position.set(-680, 520 , -200); threeHCSR.add(d26mesh); return threeHCSR; }