import * as THREE from 'three'; // wiggler export function wiggler(length=1300){ const wigglerMaster = new THREE.Object3D(); const chamberMaterial = new THREE.MeshLambertMaterial({color: 0xf3a1eb}); const loader = new THREE.TextureLoader(); const texture = loader.load('./components/wiggler.png'); const textureTop = texture.clone(); const textureSide = texture.clone(); textureTop.wrapS = textureTop.wrapT = THREE.RepeatWrapping; textureTop.repeat.set(30, 1); textureSide.offset.set(0.95, 0.95); const face = new THREE.MeshBasicMaterial({map: texture}); const faceTop = new THREE.MeshBasicMaterial({map: textureTop}); const faceSide = new THREE.MeshBasicMaterial({map: textureSide}); const materials = [faceTop,faceTop,chamberMaterial,chamberMaterial,chamberMaterial,chamberMaterial]; const ugeometry = new THREE.BoxGeometry(400, 400, length); const umesh = new THREE.Mesh(ugeometry, materials); wigglerMaster.add(umesh); const qedges = new THREE.EdgesGeometry(ugeometry); const lineMaterial = new THREE.LineBasicMaterial({color: 0x000000}); lineMaterial.linewidth = 4; const qline = new THREE.LineSegments(qedges, lineMaterial); wigglerMaster.add(qline); return wigglerMaster; }