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;
	}