//============================== Raycaster ==============================

mouse = new THREE.Vector2(0, 0);
raycaster = new THREE.Raycaster();


document.addEventListener(
	    "mousemove",
	    (ev) => {
	     // three.js expects 'normalized device coordinates' (i.e. between -1 and 1 on both axes)
	      mouse.x = (ev.clientX / window.innerWidth) * 2 - 1;
	      mouse.y = -(ev.clientY / window.innerHeight) * 2 + 1;

// update the picking ray with the camera and pointer position
raycaster.setFromCamera( mouse, camera );

// calculate objects intersecting the picking ray

let cloudMeshArray = CloudObjectArray.map((cloud)=>cloud.cloudMesh)
const intersects = raycaster.intersectObjects( cloudMeshArray );

if ( intersects.length > 0 && controls.isLocked == true) { // hit
	let found = CloudObjectArray.find( (cloud) => { return cloud.cloudMesh === intersects[0].object});
	
	info.style.color = 'black';
	info.innerHTML =  found.name; 
	info.style.display="block";

} else {
 
	info.style.display="none";

	
}},false);