stlviewer.html

changeset 11
098335a1d510
parent 8
63b6f80e09ef
child 12
b3cf0176512e
--- a/stlviewer.html	Mon Apr 03 20:04:15 2017 +0200
+++ b/stlviewer.html	Tue Apr 04 00:47:22 2017 +0200
@@ -4,50 +4,43 @@
 		<title>ScubaTools Object Viewer</title>
 		<meta charset="utf-8">
 		<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
-		<style>
-			body {
-				font-family: Monospace;
-				background-color: #000000;
-				margin: 0px;
-				overflow: hidden;
-			}
 
-			#info {
-				color: #fff;
-				position: absolute;
-				top: 10px;
-				width: 100%;
-				text-align: center;
-				z-index: 100;
-				display:block;
-
-			}
+		<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" />
+		<link rel="stylesheet" href="stlviewer.css" />
+  		<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
+  		<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
 
-			a { color: skyblue }
-			.button { background:#999; color:#eee; padding:0.2em 0.5em; cursor:pointer }
-			.highlight { background:orange; color:#fff; }
+		<script src="https://threejs.org/build/three.js"></script>
+		<script src="https://threejs.org/examples/js/loaders/STLLoader.js"></script>
+        <script src="https://threejs.org/examples/js/controls/OrbitControls.js"></script>
 
-			span {
-				display: inline-block;
-				width: 60px;
-				float: left;
-				text-align: center;
-			}
-
-		</style>
     </head>
 	<body>
 		<div id="info">
+			<div class="listcontainer">
+				<h2>Available:</h2>
+				<ul id="sortable1">
+					<!-- PLACEHOLDER CYLINDERS -->
+				</ul>
+			</div>
+			<div class="listcontainer">
+				<h2>Selected:</h2>
+				<ul id="sortable2">
+					
+				</ul>
+			</div>
+
             <a href="https://neo-soft.org" target="_blank">NeoSoft</a> ScubaTools -  
 			<a href="https://threejs.org/" target="_blank">three.js</a> -
 			STL loader by <a href="https://github.com/aleeper" target="_blank">aleeper</a>.
             <br/>
             Left mouse: rotate camera, right mouse: move camera, middle mouse or wheel: zoom
+
+
 		</div>
 
-		<script src="https://threejs.org/build/three.js"></script>
-		<script src="https://threejs.org/examples/js/loaders/STLLoader.js"></script>
-        <script src="https://threejs.org/examples/js/controls/OrbitControls.js"></script>
+		<script src="stlviewer.js"></script>
+
 		<script>
 			var container;
 			var camera, cameraTarget, scene, renderer;
@@ -55,127 +48,6 @@
 			init();
 			animate();
 
-			function init() {
-				container = document.createElement( 'div' );
-				document.body.appendChild( container );
-
-				camera = new THREE.PerspectiveCamera( 35, window.innerWidth / window.innerHeight, 1, 15 );
-				camera.position.set( 3, 0.35, 3 );
-
-				cameraTarget = new THREE.Vector3( 0, -0.25, 0 );
-
-				scene = new THREE.Scene();
-				scene.fog = new THREE.Fog( 0x72645b, 2, 15 );
-
-                var controls = new THREE.OrbitControls(camera);
-
-				// Ground
-
-				var plane = new THREE.Mesh(
-					new THREE.PlaneBufferGeometry( 40, 40 ),
-					new THREE.MeshPhongMaterial( { color: 0x999999, specular: 0x101010 } )
-				);
-				plane.rotation.x = -Math.PI/2;
-				plane.position.y = -0.5;
-				scene.add( plane );
-
-				plane.receiveShadow = true;
-
-				// ASCII file
-
-				var loader = new THREE.STLLoader();
-				loader.load( './test.stl', function ( geometry ) {
-
-					var material = new THREE.MeshPhongMaterial( { color: 0xff5533, specular: 0x111111, shininess: 200 } );
-					var mesh = new THREE.Mesh( geometry, material );
-
-					mesh.position.set( 0, -0.25, 0 );
-					mesh.rotation.set( 0, Math.PI / 2, 0 );
-					mesh.scale.set( 0.01, 0.01, 0.01 );
-
-					mesh.castShadow = true;
-					//mesh.receiveShadow = true;
-
-					scene.add( mesh );
-
-				} );
-
-				// Lights
-
-				scene.add( new THREE.HemisphereLight( 0x443333, 0x111122 ) );
-
-				addShadowedLight( 1, 1, 1, 0xffffff, 1.35 );
-				//addShadowedLight( 0.5, 1, -1, 0xffaa00, 1 );
-				// renderer
-
-				renderer = new THREE.WebGLRenderer( { antialias: true } );
-				renderer.setClearColor( scene.fog.color );
-				renderer.setPixelRatio( window.devicePixelRatio );
-				renderer.setSize( window.innerWidth, window.innerHeight );
-
-				renderer.gammaInput = true;
-				renderer.gammaOutput = true;
-
-				renderer.shadowMap.enabled = true;
-				renderer.shadowMap.renderReverseSided = false;
-
-				container.appendChild( renderer.domElement );
-
-				window.addEventListener( 'resize', onWindowResize, false );
-
-			}
-
-			function addShadowedLight( x, y, z, color, intensity ) {
-
-				var directionalLight = new THREE.DirectionalLight( color, intensity );
-				directionalLight.position.set( x, y, z );
-				scene.add( directionalLight );
-
-				directionalLight.castShadow = true;
-
-				var d = 1;
-				directionalLight.shadow.camera.left = -d;
-				directionalLight.shadow.camera.right = d;
-				directionalLight.shadow.camera.top = d;
-				directionalLight.shadow.camera.bottom = -d;
-
-				directionalLight.shadow.camera.near = 1;
-				directionalLight.shadow.camera.far = 4;
-
-				directionalLight.shadow.mapSize.width = 1024;
-				directionalLight.shadow.mapSize.height = 1024;
-
-				directionalLight.shadow.bias = -0.005;
-
-			}
-
-			function onWindowResize() {
-
-				camera.aspect = window.innerWidth / window.innerHeight;
-				camera.updateProjectionMatrix();
-
-				renderer.setSize( window.innerWidth, window.innerHeight );
-
-			}
-
-			function animate() {
-
-				requestAnimationFrame( animate );
-
-				//render();
-                renderer.render( scene, camera );
-				//stats.update();
-
-			}
-
-			function render() {
-				var timer = Date.now() * 0.0005;
-				camera.position.x = Math.cos( timer ) * 3;
-				camera.position.z = Math.sin( timer ) * 3;
-				camera.lookAt( cameraTarget );
-				renderer.render( scene, camera );
-			}
-
 		</script><div><canvas style="width: 1589px; height: 711px;" height="711" width="1589"></canvas><div style="position: fixed; top: 0px; left: 0px; cursor: pointer; opacity: 0.9; z-index: 10000;"><canvas style="width: 80px; height: 48px; display: block;" height="48" width="80"></canvas><canvas style="width: 80px; height: 48px; display: none;" height="48" width="80"></canvas></div></div>
 	
 

mercurial