window.addEventListener("load", function () {
"use strict"; var w = 800, h = 800; var renderer = new THREE.WebGLRenderer(); renderer.setSize(w, h); var view = document.getElementById("view"); view.appendChild(renderer.domElement); var camera = new THREE.PerspectiveCamera(45, w / h, 1, 1000); camera.position.set(0, 0, 50); var controls = new THREE.TrackballControls(camera, view); var scene = new THREE.Scene(); scene.add(new THREE.AmbientLight(0xffffff)); var light1 = new THREE.DirectionalLight(0xffffff); light1.position.set(0, 100, 100); scene.add(light1); var light2 = new THREE.DirectionalLight(0xffffff); light2.position.set(0, -100, -100); scene.add(light2); var mat = new THREE.MeshPhongMaterial({ color: 0xd14949, ambient: 0x7fcd46, specular: 0x4946cd, }); var obj = new THREE.Mesh(new THREE.Geometry(), mat); scene.add(obj); var loop = function loop() { requestAnimationFrame(loop); //obj.rotation.z += 0.05; controls.update(); renderer.clear(); renderer.render(scene, camera); }; loop(); // file load var openFile = function (file) { var reader = new FileReader(); reader.addEventListener("load", function (ev) { var buffer = ev.target.result; var geom = loadStl(buffer); scene.remove(obj); obj = new THREE.Mesh(geom, mat); scene.add(obj); }, false); reader.readAsArrayBuffer(file); }; // file input button var input = document.getElementById("file"); input.addEventListener("change", function (ev) { var file = ev.target.files[0]; console.log(file); openFile('https://cldup.com/JkSFNrP1T7.stl'); }, false); // dnd view.addEventListener("dragover", function (ev) { ev.stopPropagation(); ev.preventDefault(); ev.dataTransfer.dropEffect = "copy"; }, false); view.addEventListener("drop", function (ev) { ev.stopPropagation(); ev.preventDefault(); var file = ev.dataTransfer.files[0]; openFile(file); }, false);
}, false);