mirror of
https://github.com/overte-org/overte.git
synced 2025-04-15 07:27:17 +02:00
Merge pull request #11475 from druiz17/bugs
Fix EntitySelectioTool and improve far rotate
This commit is contained in:
commit
2e92d40c8d
3 changed files with 21 additions and 5 deletions
|
@ -369,11 +369,6 @@ Script.include("/~/system/libraries/controllers.js");
|
||||||
otherFarGrabModule.currentObjectRotation = Quat.multiply(controllerRotationDelta,
|
otherFarGrabModule.currentObjectRotation = Quat.multiply(controllerRotationDelta,
|
||||||
otherFarGrabModule.currentObjectRotation);
|
otherFarGrabModule.currentObjectRotation);
|
||||||
|
|
||||||
// Rotate about the translation controller's target position.
|
|
||||||
this.offsetPosition = Vec3.multiplyQbyV(controllerRotationDelta, this.offsetPosition);
|
|
||||||
otherFarGrabModule.offsetPosition = Vec3.multiplyQbyV(controllerRotationDelta,
|
|
||||||
otherFarGrabModule.offsetPosition);
|
|
||||||
|
|
||||||
this.previousWorldControllerRotation = worldControllerRotation;
|
this.previousWorldControllerRotation = worldControllerRotation;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -495,6 +490,7 @@ Script.include("/~/system/libraries/controllers.js");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (otherFarGrabModule.grabbedThingID === this.grabbedThingID && otherFarGrabModule.distanceHolding) {
|
if (otherFarGrabModule.grabbedThingID === this.grabbedThingID && otherFarGrabModule.distanceHolding) {
|
||||||
|
this.prepareDistanceRotatingData(controllerData);
|
||||||
this.distanceRotate(otherFarGrabModule);
|
this.distanceRotate(otherFarGrabModule);
|
||||||
} else {
|
} else {
|
||||||
this.distanceHolding = true;
|
this.distanceHolding = true;
|
||||||
|
|
|
@ -1245,6 +1245,7 @@ var lastPosition = null;
|
||||||
Script.update.connect(function (deltaTime) {
|
Script.update.connect(function (deltaTime) {
|
||||||
progressDialog.move();
|
progressDialog.move();
|
||||||
selectionDisplay.checkMove();
|
selectionDisplay.checkMove();
|
||||||
|
selectionDisplay.checkControllerMove();
|
||||||
var dOrientation = Math.abs(Quat.dot(Camera.orientation, lastOrientation) - 1);
|
var dOrientation = Math.abs(Quat.dot(Camera.orientation, lastOrientation) - 1);
|
||||||
var dPosition = Vec3.distance(Camera.position, lastPosition);
|
var dPosition = Vec3.distance(Camera.position, lastPosition);
|
||||||
if (dOrientation > 0.001 || dPosition > 0.001) {
|
if (dOrientation > 0.001 || dPosition > 0.001) {
|
||||||
|
|
|
@ -276,6 +276,10 @@ SelectionDisplay = (function() {
|
||||||
var overlayNames = [];
|
var overlayNames = [];
|
||||||
var lastCameraPosition = Camera.getPosition();
|
var lastCameraPosition = Camera.getPosition();
|
||||||
var lastCameraOrientation = Camera.getOrientation();
|
var lastCameraOrientation = Camera.getOrientation();
|
||||||
|
var lastControllerPoses = [
|
||||||
|
getControllerWorldLocation(Controller.Standard.LeftHand, true),
|
||||||
|
getControllerWorldLocation(Controller.Standard.RightHand, true)
|
||||||
|
];
|
||||||
|
|
||||||
var handleHoverColor = {
|
var handleHoverColor = {
|
||||||
red: 224,
|
red: 224,
|
||||||
|
@ -4065,6 +4069,21 @@ SelectionDisplay = (function() {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
that.checkControllerMove = function() {
|
||||||
|
if (SelectionManager.hasSelection()) {
|
||||||
|
var controllerPose = getControllerWorldLocation(activeHand, true);
|
||||||
|
var hand = (activeHand === Controller.Standard.LeftHand) ? 0 : 1;
|
||||||
|
if (controllerPose.valid && lastControllerPoses[hand].valid) {
|
||||||
|
if (!Vec3.equal(controllerPose.position, lastControllerPoses[hand].position) ||
|
||||||
|
!Vec3.equal(controllerPose.rotation, lastControllerPoses[hand].rotation)) {
|
||||||
|
print("setting controller pose");
|
||||||
|
that.mouseMoveEvent({});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
lastControllerPoses[hand] = controllerPose;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// FUNCTION: MOUSE PRESS EVENT
|
// FUNCTION: MOUSE PRESS EVENT
|
||||||
that.mousePressEvent = function(event) {
|
that.mousePressEvent = function(event) {
|
||||||
var wantDebug = false;
|
var wantDebug = false;
|
||||||
|
|
Loading…
Reference in a new issue