mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-17 10:50:13 +02:00
Improve handle scaling of entity with near-zero dimension
This commit is contained in:
parent
0f5adb488c
commit
76889d1b67
1 changed files with 3 additions and 0 deletions
|
@ -391,6 +391,7 @@
|
|||
initialHandleDistance,
|
||||
laserOffset,
|
||||
MIN_SCALE = 0.001,
|
||||
MIN_SCALE_HANDLE_DISTANCE = 0.0001,
|
||||
|
||||
getIntersection, // Function.
|
||||
intersection,
|
||||
|
@ -548,6 +549,7 @@
|
|||
+ Vec3.dot(Vec3.subtract(otherTargetPosition, Overlays.getProperty(overlayID, "position")), scaleAxis);
|
||||
initialHandleDistance = Math.abs(Vec3.dot(Vec3.subtract(otherTargetPosition, initialTargetPosition), scaleAxis));
|
||||
initialHandleDistance -= handleTargetOffset;
|
||||
initialHandleDistance = Math.max(initialHandleDistance, MIN_SCALE_HANDLE_DISTANCE);
|
||||
|
||||
selection.startHandleScaling(initialTargetPosition);
|
||||
handles.startScaling();
|
||||
|
@ -629,6 +631,7 @@
|
|||
scaleAxis = Vec3.multiplyQbyV(selection.getPositionAndOrientation().orientation, handleUnitScaleAxis);
|
||||
handleDistance = Vec3.dot(Vec3.subtract(otherTargetPosition, targetPosition), scaleAxis);
|
||||
handleDistance -= handleTargetOffset;
|
||||
handleDistance = Math.max(handleDistance, MIN_SCALE_HANDLE_DISTANCE);
|
||||
|
||||
// Scale selection relative to initial dimensions.
|
||||
scale = handleDistance / initialHandleDistance;
|
||||
|
|
Loading…
Reference in a new issue