mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 00:36:47 +02:00
few more updates
This commit is contained in:
parent
db56246cd6
commit
55f55cd78b
1 changed files with 28 additions and 15 deletions
|
@ -248,6 +248,7 @@ SelectionDisplay = (function() {
|
||||||
var TRANSLATE_ARROW_CYLINDER_CAMERA_DISTANCE_MULTIPLE = 0.005;
|
var TRANSLATE_ARROW_CYLINDER_CAMERA_DISTANCE_MULTIPLE = 0.005;
|
||||||
var TRANSLATE_ARROW_CYLINDER_Y_MULTIPLE = 7.5;
|
var TRANSLATE_ARROW_CYLINDER_Y_MULTIPLE = 7.5;
|
||||||
var TRANSLATE_ARROW_CONE_CAMERA_DISTANCE_MULTIPLE = 0.025;
|
var TRANSLATE_ARROW_CONE_CAMERA_DISTANCE_MULTIPLE = 0.025;
|
||||||
|
var TRANSLATE_ARROW_CONE_OFFSET_CYLINDER_DIMENSION_MULTIPLE = 0.83;
|
||||||
|
|
||||||
var ROTATE_RING_CAMERA_DISTANCE_MULTIPLE = 0.15;
|
var ROTATE_RING_CAMERA_DISTANCE_MULTIPLE = 0.15;
|
||||||
var ROTATE_CTRL_SNAP_ANGLE = 22.5;
|
var ROTATE_CTRL_SNAP_ANGLE = 22.5;
|
||||||
|
@ -257,7 +258,7 @@ SelectionDisplay = (function() {
|
||||||
var ROTATE_RING_SELECTED_INNER_RADIUS = 0.9;
|
var ROTATE_RING_SELECTED_INNER_RADIUS = 0.9;
|
||||||
|
|
||||||
// These are multipliers for sizing the rotation degrees display while rotating an entity
|
// These are multipliers for sizing the rotation degrees display while rotating an entity
|
||||||
var ROTATE_DISPLAY_DISTANCE_MULTIPLIER = 1.0;
|
var ROTATE_DISPLAY_DISTANCE_MULTIPLIER = 1.75;
|
||||||
var ROTATE_DISPLAY_SIZE_X_MULTIPLIER = 0.3;
|
var ROTATE_DISPLAY_SIZE_X_MULTIPLIER = 0.3;
|
||||||
var ROTATE_DISPLAY_SIZE_Y_MULTIPLIER = 0.09;
|
var ROTATE_DISPLAY_SIZE_Y_MULTIPLIER = 0.09;
|
||||||
var ROTATE_DISPLAY_LINE_HEIGHT_MULTIPLIER = 0.07;
|
var ROTATE_DISPLAY_LINE_HEIGHT_MULTIPLIER = 0.07;
|
||||||
|
@ -674,7 +675,8 @@ SelectionDisplay = (function() {
|
||||||
var results = testRayIntersect(pickRay, interactiveOverlays);
|
var results = testRayIntersect(pickRay, interactiveOverlays);
|
||||||
if (results.intersects) {
|
if (results.intersects) {
|
||||||
var hitOverlayID = results.overlayID;
|
var hitOverlayID = results.overlayID;
|
||||||
if ((hitOverlayID === HMD.tabletID) || (hitOverlayID === HMD.tabletScreenID) || (hitOverlayID === HMD.homeButtonID)) {
|
if ((hitOverlayID === HMD.tabletID) || (hitOverlayID === HMD.tabletScreenID) ||
|
||||||
|
(hitOverlayID === HMD.homeButtonID)) {
|
||||||
// EARLY EXIT-(mouse clicks on the tablet should override the edit affordances)
|
// EARLY EXIT-(mouse clicks on the tablet should override the edit affordances)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -1036,6 +1038,7 @@ SelectionDisplay = (function() {
|
||||||
};
|
};
|
||||||
var arrowConeDimension = toCameraDistance * TRANSLATE_ARROW_CONE_CAMERA_DISTANCE_MULTIPLE;
|
var arrowConeDimension = toCameraDistance * TRANSLATE_ARROW_CONE_CAMERA_DISTANCE_MULTIPLE;
|
||||||
var arrowConeDimensions = { x:arrowConeDimension, y:arrowConeDimension, z:arrowConeDimension };
|
var arrowConeDimensions = { x:arrowConeDimension, y:arrowConeDimension, z:arrowConeDimension };
|
||||||
|
var arrowConeOffset = arrowCylinderDimensions.y * TRANSLATE_ARROW_CONE_OFFSET_CYLINDER_DIMENSION_MULTIPLE;
|
||||||
var cylinderXPosition = { x:TRANSLATE_ARROW_CYLINDER_OFFSET * toCameraDistance, y:0, z:0 };
|
var cylinderXPosition = { x:TRANSLATE_ARROW_CYLINDER_OFFSET * toCameraDistance, y:0, z:0 };
|
||||||
cylinderXPosition = Vec3.sum(position, Vec3.multiplyQbyV(rotation, cylinderXPosition));
|
cylinderXPosition = Vec3.sum(position, Vec3.multiplyQbyV(rotation, cylinderXPosition));
|
||||||
Overlays.editOverlay(handleTranslateXCylinder, {
|
Overlays.editOverlay(handleTranslateXCylinder, {
|
||||||
|
@ -1044,7 +1047,7 @@ SelectionDisplay = (function() {
|
||||||
dimensions: arrowCylinderDimensions
|
dimensions: arrowCylinderDimensions
|
||||||
});
|
});
|
||||||
var cylinderXDiff = Vec3.subtract(cylinderXPosition, position);
|
var cylinderXDiff = Vec3.subtract(cylinderXPosition, position);
|
||||||
var coneXPosition = Vec3.sum(cylinderXPosition, Vec3.multiply(Vec3.normalize(cylinderXDiff), arrowCylinderDimensions.y * 0.83));
|
var coneXPosition = Vec3.sum(cylinderXPosition, Vec3.multiply(Vec3.normalize(cylinderXDiff), arrowConeOffset));
|
||||||
Overlays.editOverlay(handleTranslateXCone, {
|
Overlays.editOverlay(handleTranslateXCone, {
|
||||||
position: coneXPosition,
|
position: coneXPosition,
|
||||||
rotation: rotationX,
|
rotation: rotationX,
|
||||||
|
@ -1058,7 +1061,7 @@ SelectionDisplay = (function() {
|
||||||
dimensions: arrowCylinderDimensions
|
dimensions: arrowCylinderDimensions
|
||||||
});
|
});
|
||||||
var cylinderYDiff = Vec3.subtract(cylinderYPosition, position);
|
var cylinderYDiff = Vec3.subtract(cylinderYPosition, position);
|
||||||
var coneYPosition = Vec3.sum(cylinderYPosition, Vec3.multiply(Vec3.normalize(cylinderYDiff), arrowCylinderDimensions.y * 0.83));
|
var coneYPosition = Vec3.sum(cylinderYPosition, Vec3.multiply(Vec3.normalize(cylinderYDiff), arrowConeOffset));
|
||||||
Overlays.editOverlay(handleTranslateYCone, {
|
Overlays.editOverlay(handleTranslateYCone, {
|
||||||
position: coneYPosition,
|
position: coneYPosition,
|
||||||
rotation: rotationY,
|
rotation: rotationY,
|
||||||
|
@ -1072,7 +1075,7 @@ SelectionDisplay = (function() {
|
||||||
dimensions: arrowCylinderDimensions
|
dimensions: arrowCylinderDimensions
|
||||||
});
|
});
|
||||||
var cylinderZDiff = Vec3.subtract(cylinderZPosition, position);
|
var cylinderZDiff = Vec3.subtract(cylinderZPosition, position);
|
||||||
var coneZPosition = Vec3.sum(cylinderZPosition, Vec3.multiply(Vec3.normalize(cylinderZDiff), arrowCylinderDimensions.y * 0.83));
|
var coneZPosition = Vec3.sum(cylinderZPosition, Vec3.multiply(Vec3.normalize(cylinderZDiff), arrowConeOffset));
|
||||||
Overlays.editOverlay(handleTranslateZCone, {
|
Overlays.editOverlay(handleTranslateZCone, {
|
||||||
position: coneZPosition,
|
position: coneZPosition,
|
||||||
rotation: rotationZ,
|
rotation: rotationZ,
|
||||||
|
@ -1275,9 +1278,12 @@ SelectionDisplay = (function() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
that.setHandleTranslateXVisible(!activeTool || isActiveTool(handleTranslateXCone) || isActiveTool(handleTranslateXCylinder));
|
that.setHandleTranslateXVisible(!activeTool || isActiveTool(handleTranslateXCone) ||
|
||||||
that.setHandleTranslateYVisible(!activeTool || isActiveTool(handleTranslateYCone) || isActiveTool(handleTranslateYCylinder));
|
isActiveTool(handleTranslateXCylinder));
|
||||||
that.setHandleTranslateZVisible(!activeTool || isActiveTool(handleTranslateZCone) || isActiveTool(handleTranslateZCylinder));
|
that.setHandleTranslateYVisible(!activeTool || isActiveTool(handleTranslateYCone) ||
|
||||||
|
isActiveTool(handleTranslateYCylinder));
|
||||||
|
that.setHandleTranslateZVisible(!activeTool || isActiveTool(handleTranslateZCone) ||
|
||||||
|
isActiveTool(handleTranslateZCylinder));
|
||||||
that.setHandleRotatePitchVisible(!activeTool || isActiveTool(handleRotatePitchRing));
|
that.setHandleRotatePitchVisible(!activeTool || isActiveTool(handleRotatePitchRing));
|
||||||
that.setHandleRotateYawVisible(!activeTool || isActiveTool(handleRotateYawRing));
|
that.setHandleRotateYawVisible(!activeTool || isActiveTool(handleRotateYawRing));
|
||||||
that.setHandleRotateRollVisible(!activeTool || isActiveTool(handleRotateRollRing));
|
that.setHandleRotateRollVisible(!activeTool || isActiveTool(handleRotateRollRing));
|
||||||
|
@ -1286,10 +1292,14 @@ SelectionDisplay = (function() {
|
||||||
that.setHandleStretchXVisible(showScaleStretch || isActiveTool(handleStretchXSphere));
|
that.setHandleStretchXVisible(showScaleStretch || isActiveTool(handleStretchXSphere));
|
||||||
that.setHandleStretchYVisible(showScaleStretch || isActiveTool(handleStretchYSphere));
|
that.setHandleStretchYVisible(showScaleStretch || isActiveTool(handleStretchYSphere));
|
||||||
that.setHandleStretchZVisible(showScaleStretch || isActiveTool(handleStretchZSphere));
|
that.setHandleStretchZVisible(showScaleStretch || isActiveTool(handleStretchZSphere));
|
||||||
that.setHandleScaleCubeVisible(showScaleStretch || isActiveTool(handleScaleLBNCube) || isActiveTool(handleScaleRBNCube) || isActiveTool(handleScaleLBFCube) || isActiveTool(handleScaleRBFCube)
|
that.setHandleScaleCubeVisible(showScaleStretch || isActiveTool(handleScaleLBNCube) ||
|
||||||
|| isActiveTool(handleScaleLTNCube) || isActiveTool(handleScaleRTNCube) || isActiveTool(handleScaleLTFCube) || isActiveTool(handleScaleRTFCube)
|
isActiveTool(handleScaleRBNCube) || isActiveTool(handleScaleLBFCube) ||
|
||||||
|| isActiveTool(handleStretchXSphere) || isActiveTool(handleStretchYSphere) || isActiveTool(handleStretchZSphere));
|
isActiveTool(handleScaleRBFCube) || isActiveTool(handleScaleLTNCube) ||
|
||||||
that.setHandleScaleEdgeVisible(!isActiveTool(handleRotatePitchRing) && !isActiveTool(handleRotateYawRing) && !isActiveTool(handleRotateRollRing));
|
isActiveTool(handleScaleRTNCube) || isActiveTool(handleScaleLTFCube) ||
|
||||||
|
isActiveTool(handleScaleRTFCube) || isActiveTool(handleStretchXSphere) ||
|
||||||
|
isActiveTool(handleStretchYSphere) || isActiveTool(handleStretchZSphere));
|
||||||
|
that.setHandleScaleEdgeVisible(!isActiveTool(handleRotatePitchRing) && !isActiveTool(handleRotateYawRing) &&
|
||||||
|
!isActiveTool(handleRotateRollRing));
|
||||||
|
|
||||||
//keep cloner always hidden for now since you can hold Alt to clone while dragging to translate - we may bring cloner back for HMD only later
|
//keep cloner always hidden for now since you can hold Alt to clone while dragging to translate - we may bring cloner back for HMD only later
|
||||||
//that.setHandleClonerVisible(!activeTool || isActiveTool(handleCloner));
|
//that.setHandleClonerVisible(!activeTool || isActiveTool(handleCloner));
|
||||||
|
@ -1453,7 +1463,9 @@ SelectionDisplay = (function() {
|
||||||
startPosition = SelectionManager.worldPosition;
|
startPosition = SelectionManager.worldPosition;
|
||||||
|
|
||||||
translateXZTool.pickPlanePosition = pickResult.intersection;
|
translateXZTool.pickPlanePosition = pickResult.intersection;
|
||||||
translateXZTool.greatestDimension = Math.max(Math.max(SelectionManager.worldDimensions.x, SelectionManager.worldDimensions.y), SelectionManager.worldDimensions.z);
|
translateXZTool.greatestDimension = Math.max(Math.max(SelectionManager.worldDimensions.x,
|
||||||
|
SelectionManager.worldDimensions.y),
|
||||||
|
SelectionManager.worldDimensions.z);
|
||||||
translateXZTool.startingDistance = Vec3.distance(pickRay.origin, SelectionManager.position);
|
translateXZTool.startingDistance = Vec3.distance(pickRay.origin, SelectionManager.position);
|
||||||
translateXZTool.startingElevation = translateXZTool.elevation(pickRay.origin, translateXZTool.pickPlanePosition);
|
translateXZTool.startingElevation = translateXZTool.elevation(pickRay.origin, translateXZTool.pickPlanePosition);
|
||||||
if (wantDebug) {
|
if (wantDebug) {
|
||||||
|
@ -2215,7 +2227,8 @@ SelectionDisplay = (function() {
|
||||||
|
|
||||||
var rotationCenterToZero = Vec3.subtract(rotationZero, rotationCenter);
|
var rotationCenterToZero = Vec3.subtract(rotationZero, rotationCenter);
|
||||||
var rotationCenterToZeroLength = Vec3.length(rotationCenterToZero);
|
var rotationCenterToZeroLength = Vec3.length(rotationCenterToZero);
|
||||||
rotationDegreesPosition = Vec3.sum(rotationCenter, Vec3.multiply(Vec3.normalize(rotationCenterToZero), rotationCenterToZeroLength * 1.75));
|
rotationDegreesPosition = Vec3.sum(rotationCenter, Vec3.multiply(Vec3.normalize(rotationCenterToZero),
|
||||||
|
rotationCenterToZeroLength * ROTATE_DISPLAY_DISTANCE_MULTIPLIER));
|
||||||
updateRotationDegreesOverlay(0, rotationDegreesPosition);
|
updateRotationDegreesOverlay(0, rotationDegreesPosition);
|
||||||
|
|
||||||
if (wantDebug) {
|
if (wantDebug) {
|
||||||
|
@ -2350,4 +2363,4 @@ SelectionDisplay = (function() {
|
||||||
addHandleScaleTool(handleScaleRTFCube, "SCALE_RTF", SCALE_DIRECTION.RTF);
|
addHandleScaleTool(handleScaleRTFCube, "SCALE_RTF", SCALE_DIRECTION.RTF);
|
||||||
|
|
||||||
return that;
|
return that;
|
||||||
}());
|
}());
|
||||||
|
|
Loading…
Reference in a new issue