Skip to content

Commit

Permalink
added mouse up, down
Browse files Browse the repository at this point in the history
  • Loading branch information
Andor committed Jul 6, 2010
1 parent 6d87881 commit 415c1cb
Show file tree
Hide file tree
Showing 3 changed files with 65 additions and 14 deletions.
3 changes: 1 addition & 2 deletions demos/acorn/acorn.html
@@ -1,15 +1,14 @@
<html>

<head>
<link rel="stylesheet" type="text/css" href="../style.css" />
<!--<link rel="stylesheet" type="text/css" href="../style.css" />-->
<script src="../../mjs.js"></script>
<script src="../../pointstream.js"></script>
<script src="acorn.js"></script>
</head>

<body onLoad="start();">
<canvas id="canvas" width="500" height="500"></canvas>
<span id="debug"></span>
</body>

</html>
35 changes: 31 additions & 4 deletions demos/acorn/acorn.js
@@ -1,31 +1,56 @@
var ps;

var rot = 0;
var buttonDown = false;
var zoomed = 0;

var rot =[0,0];
var curCoords = [0,0];

var size = 500;

function zoom(amt){
zoomed += amt * 2;
size += amt * 10;

if(ps.mouseX < 25 && ps.mouseY < 25){
if(ps.mouseX < 25 && ps.mouseY < 25){
ps.resize(size, size);
ps.background([0,0,0,1]);
}
}

function mousePressed(){
curCoords[0] = ps.mouseX;
curCoords[1] = ps.mouseY;
buttonDown = true;
}

function mouseReleased(){
buttonDown = false;
}

function render() {

var deltaX = ps.mouseX - curCoords[0];
var deltaY = ps.mouseY - curCoords[1];

if(buttonDown){
rot[0] += deltaX / 250;
rot[1] += deltaY / 250;
curCoords[0] = ps.mouseX;
curCoords[1] = ps.mouseY;
}

// transform point cloud
ps.translate(0,0,zoomed);
ps.rotateY(rot+=0.01);

ps.rotateY(rot[0]);
ps.rotateX(rot[1]);

// redraw
ps.clear();
ps.render();

window.status = Math.floor(ps.frameRate);
// window.status = Math.floor(ps.frameRate);
}

function start(){
Expand All @@ -35,6 +60,8 @@ function start(){
ps.background([0,0,0,1]);

ps.onMouseScroll = zoom;
ps.onMousePressed = mousePressed;
ps.onMouseReleased = mouseReleased;

ps.loadFile({path:"acorn.asc", autoCenter: true});
}
41 changes: 33 additions & 8 deletions pointstream.js
Expand Up @@ -384,11 +384,6 @@ function PointStream(){

// clear state
model = M4x4.$(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1);

var error = ctx.getError();
if(error !== 0){
//alert("WebGL error: " + error);
}
},

/**
Expand Down Expand Up @@ -431,6 +426,18 @@ function PointStream(){
}
},

_mousePressed: function(evt){
if(xb.onMousePressed){
xb.onMousePressed();
}
},

_mouseReleased: function(){
if(xb.onMouseReleased){
xb.onMouseReleased();
}
},

/**
*/
setup: function(cvs, renderCB){
Expand All @@ -444,7 +451,9 @@ function PointStream(){

xb.renderCallback = renderCB;
setInterval(xb.renderCallback, 10);


xb.attach(cvs, "mouseup", xb._mouseReleased);
xb.attach(cvs, "mousedown", xb._mousePressed);
xb.attach(cvs, "mousemove", xb.mouseMove);
xb.attach(cvs, "DOMMouseScroll", xb._mouseScroll);
xb.attach(cvs, "mousewheel", xb._mouseScroll);
Expand Down Expand Up @@ -521,8 +530,12 @@ function PointStream(){
if(AJAX.status === 200){
file.status = 1;
}

if(AJAX.readyState === XHR_DONE){
//document.getElementById('debug')."g;
//debug = "sdf";
//var blah = "";

var values = AJAX.responseText.split(/\s+/);
const numVerts = values.length/9;

Expand All @@ -533,7 +546,7 @@ function PointStream(){
var currX = parseFloat(values[i]);
var currY = parseFloat(values[i+1]);
var currZ = parseFloat(values[i+2]);

verts.push(currX);
verts.push(currY);
verts.push(currZ);
Expand All @@ -552,7 +565,19 @@ function PointStream(){
norms.push(parseFloat(values[i+6]));
norms.push(parseFloat(values[i+7]));
norms.push(parseFloat(values[i+8]));

//debug += "dfg";
//document.getElementById('debug').innerHTML +=
blah
+=
currX + " " + currY + " " + currZ + " " +
parseFloat(values[i+3]) + " " +
parseFloat(values[i+4]) + " " +
parseFloat(values[i+5]) + "\n";

}
//alert(blah);
//debug +="asdfasdf";

// if the user wants to center the point cloud
if(autoCenter){
Expand Down

0 comments on commit 415c1cb

Please sign in to comment.