Browse Source

Changed the way the script is called

Iñigo Valentin 12 năm trước cách đây
mục cha
commit
39bd496a10
2 tập tin đã thay đổi với 21 bổ sung13 xóa
  1. 7 7
      index.html
  2. 14 6
      script/ObJS.js

+ 7 - 7
index.html

@@ -7,7 +7,7 @@
 		<script type="text/javascript" src="script/ObJS.js"></script>
 		<!-- CSS files -->
 	</head>
-	<body onload="loadModel(document.getElementById('objSelector'));">
+	<body onload="loadModel(document.getElementById('objSelector').value);">
 		<table>
 			<tr>
 				<td>
@@ -17,12 +17,12 @@
 				</td>
 				<td>
 					Choose a model:
-					<select id="objSelector" name="objSelector" onChange="loadModel(this)">
-						<option value="cube" selected="selected">Cube</option>
-						<option value="sphere">Sphere</option>
-						<option value="monkey">Monkey</option>
-						<option value="bolt">Bolt</option>
-						<option value="multiple">Multiple Objects</option>
+					<select id="objSelector" name="objSelector" onChange="loadModel(this.value)">
+						<option value="obj/cube.obj" selected="selected">Cube</option>
+						<option value="obj/sphere.obj">Sphere</option>
+						<option value="obj/monkey.obj">Monkey</option>
+						<option value="obj/bolt.obj">Bolt</option>
+						<option value="obj/multiple.obj">Multiple Objects</option>
 					</select>
 					<br/><br/><br/>
 					<pre><input type="checkbox" name="drawElement" value="backg" checked onChange="drawElement('backg', this.checked);"/>Background	<input type="color" id="colorBackg" value="#C8C8C8" onChange="colorElement('backg', this.value);"/></pre>

+ 14 - 6
script/ObJS.js

@@ -138,20 +138,25 @@ function setAlpha(percent){
 }
 
 /********************************************************************
- * Main function, called every time a file is to be loaded.         *
+ * Main functions, called every time a file is to be loaded.        *
  * #parameters:                                                     *
  *   val (string): name of the file, without path or extension.     *
+ *   canv (canvas): canvas to use (Optional)
  * #return: nothing                                                 *
- ********************************************************************/ 
+ ********************************************************************/
 function loadModel(val){
+	loadModel(val, null);
+}
+
+function loadModel(file, canv){
 	//Get file
 	xmlhttp = new XMLHttpRequest();
-	xmlhttp.open("GET","/obj/" + val.value + ".obj", false);
+	xmlhttp.open("GET",file, false);
 	xmlhttp.send();
 	var fileContent = xmlhttp.responseText;
 	initArrays();
 	if (canvas == null)
-		initCanvas();
+		initCanvas(canv);
 	readVerts(fileContent);
 	readFaces(fileContent);
 	draw();
@@ -367,8 +372,11 @@ function rotateX(des) {
  * #parameters: none                                                *
  * #return: nothing                                                 *
  ********************************************************************/
-function initCanvas(){
-	canvas = document.getElementById("ObJSCanvas");
+function initCanvas(canv){
+	if (canv!= null)
+		canvas = canv;
+	else
+		canvas = document.getElementById("ObJSCanvas");
 	ctx = canvas.getContext("2d");
 	ctx.translate(canvas.width / 2, canvas.height / 2);