|
@@ -15,9 +15,29 @@ var obj;
|
|
|
var vert;
|
|
var vert;
|
|
|
var face;
|
|
var face;
|
|
|
|
|
|
|
|
|
|
+var dVerts = true;
|
|
|
|
|
+var dEdges = true;
|
|
|
|
|
+var dFaces = true;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
var pX = null;
|
|
var pX = null;
|
|
|
var pY = null;
|
|
var pY = null;
|
|
|
|
|
|
|
|
|
|
+function drawElement(name, value){
|
|
|
|
|
+ switch (name){
|
|
|
|
|
+ case "verts":
|
|
|
|
|
+ dVerts = value;
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "edges":
|
|
|
|
|
+ dEdges = value;
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "faces":
|
|
|
|
|
+ dFaces = value;
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ draw();
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
function loadModel(val){
|
|
function loadModel(val){
|
|
|
//Get file
|
|
//Get file
|
|
|
xmlhttp = new XMLHttpRequest();
|
|
xmlhttp = new XMLHttpRequest();
|
|
@@ -27,9 +47,7 @@ function loadModel(val){
|
|
|
initArrays();
|
|
initArrays();
|
|
|
readVerts(fileContent);
|
|
readVerts(fileContent);
|
|
|
readFaces(fileContent);
|
|
readFaces(fileContent);
|
|
|
- initCanvas();
|
|
|
|
|
- drawFaces();
|
|
|
|
|
- drawVerts();
|
|
|
|
|
|
|
+ draw();
|
|
|
writeCredits();
|
|
writeCredits();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -102,14 +120,24 @@ function drawFaces(){
|
|
|
ctx.moveTo(vert[face[i][0]][0], vert[face[i][0]][1]);
|
|
ctx.moveTo(vert[face[i][0]][0], vert[face[i][0]][1]);
|
|
|
for (var j = 1; j < face[i].length; j++) {
|
|
for (var j = 1; j < face[i].length; j++) {
|
|
|
ctx.lineTo(vert[face[i][j]][0], vert[face[i][j]][1]);
|
|
ctx.lineTo(vert[face[i][j]][0], vert[face[i][j]][1]);
|
|
|
- ctx.stroke();
|
|
|
|
|
|
|
+ if(dEdges)
|
|
|
|
|
+ ctx.stroke();
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
ctx.closePath();
|
|
ctx.closePath();
|
|
|
ctx.fillStyle = faceColor;
|
|
ctx.fillStyle = faceColor;
|
|
|
- ctx.fill();
|
|
|
|
|
|
|
+ if(dFaces)
|
|
|
|
|
+ ctx.fill();
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+function draw(){
|
|
|
|
|
+ initCanvas();
|
|
|
|
|
+ drawFaces();
|
|
|
|
|
+ if (dVerts)
|
|
|
|
|
+ drawVerts();
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
function rotateY(theta) {
|
|
function rotateY(theta) {
|
|
|
var sin_t = Math.sin(theta / 100);
|
|
var sin_t = Math.sin(theta / 100);
|
|
|
var cos_t = Math.cos(theta / 100);
|
|
var cos_t = Math.cos(theta / 100);
|
|
@@ -168,9 +196,7 @@ function initCanvas(){
|
|
|
pX = x;
|
|
pX = x;
|
|
|
pY = y;
|
|
pY = y;
|
|
|
|
|
|
|
|
- initCanvas();
|
|
|
|
|
- drawFaces();
|
|
|
|
|
- drawVerts();
|
|
|
|
|
|
|
+ draw();
|
|
|
return false;
|
|
return false;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|