Fixes to PickRay check

This commit is contained in:
Atlante45 2014-05-13 14:58:34 -07:00
parent 701bc63bd1
commit 624ae4732f

View file

@ -406,7 +406,7 @@ var selectedModelID;
var selectedModelProperties; var selectedModelProperties;
function mousePressEvent(event) { function mousePressEvent(event) {
var modelSelected = false; modelSelected = false;
var clickedOverlay = Overlays.getOverlayAtPoint({x: event.x, y: event.y}); var clickedOverlay = Overlays.getOverlayAtPoint({x: event.x, y: event.y});
if (newModel == toolBar.clicked(clickedOverlay)) { if (newModel == toolBar.clicked(clickedOverlay)) {
@ -424,8 +424,7 @@ function mousePressEvent(event) {
} else { } else {
var pickRay = Camera.computePickRay(event.x, event.y); var pickRay = Camera.computePickRay(event.x, event.y);
Vec3.print("[Mouse] Looking at: ", pickRay.origin); Vec3.print("[Mouse] Looking at: ", pickRay.origin);
var foundModels = Models.findModels(pickray.origin, LASER_LENGTH_FACTOR); var foundModels = Models.findModels(pickRay.origin, LASER_LENGTH_FACTOR);
print("Num: " + foundModels.length.toString());
for (var i = 0; i < foundModels.length; i++) { for (var i = 0; i < foundModels.length; i++) {
if (!foundModels[i].isKnownID) { if (!foundModels[i].isKnownID) {
var identify = Models.identifyModel(foundModels[i]); var identify = Models.identifyModel(foundModels[i]);
@ -451,7 +450,7 @@ function mousePressEvent(event) {
// d = |P-X| // d = |P-X|
var A = pickRay.origin; var A = pickRay.origin;
var B = Vec3.sum(pickRay.origin, Vec3.multiply(pickRay.direction, LASER_LENGTH_FACTOR)); var B = Vec3.normalize(pickRay.direction);
var P = properties.position; var P = properties.position;
var x = Vec3.dot(Vec3.subtract(P, A), B); var x = Vec3.dot(Vec3.subtract(P, A), B);
@ -462,6 +461,7 @@ function mousePressEvent(event) {
modelSelected = true; modelSelected = true;
selectedModelID = foundModels[i]; selectedModelID = foundModels[i];
selectedModelProperties = properties; selectedModelProperties = properties;
print("Clicked on " + selectedModelID.id + " " + modelSelected);
return; return;
} }
} }
@ -475,7 +475,7 @@ function mouseMoveEvent(event) {
print("Dragging"); print("Dragging");
Model.editModel(selectedModelID, selectedModelProperties); //Model.editModel(selectedModelID, selectedModelProperties);
} }
function scriptEnding() { function scriptEnding() {
@ -488,7 +488,7 @@ Script.scriptEnding.connect(scriptEnding);
// register the call back so it fires before each data send // register the call back so it fires before each data send
Script.update.connect(checkController); Script.update.connect(checkController);
Controller.mousePressEvent.connect(mousePressEvent); Controller.mousePressEvent.connect(mousePressEvent);
Controller.mousePressEvent.connect(mouseMoveEvent); Controller.mouseMoveEvent.connect(mouseMoveEvent);