mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 13:58:51 +02:00
Fixes to PickRay check
This commit is contained in:
parent
701bc63bd1
commit
624ae4732f
1 changed files with 6 additions and 6 deletions
|
@ -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);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue