Update app.py
Browse files
app.py
CHANGED
|
@@ -670,9 +670,17 @@ async(c, o, p, d, n, m)=>{
|
|
| 670 |
window.a_old = 0;
|
| 671 |
window.b_old = Math.PI / 2;
|
| 672 |
window.compass = document.getElementById("compass");
|
| 673 |
-
|
| 674 |
-
|
| 675 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 676 |
if (Math.abs(BABYLON.Engine.LastCreatedScene.activeCamera.radius - r_old) > 1/16) {
|
| 677 |
BABYLON.Engine.LastCreatedScene.activeCamera.radius = r_old;
|
| 678 |
} else {
|
|
@@ -687,11 +695,14 @@ async(c, o, p, d, n, m)=>{
|
|
| 687 |
}
|
| 688 |
document.getElementById('zoom').value = BABYLON.Engine.LastCreatedScene.activeCamera.fov;
|
| 689 |
document.getElementById('zoom').parentNode.childNodes[2].innerText = document.getElementById('zoom').value;
|
| 690 |
-
|
| 691 |
-
|
| 692 |
-
|
| 693 |
-
} catch(e) {alert(e);}
|
| 694 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
| 695 |
});
|
| 696 |
document.getElementById("model3D").getElementsByTagName("canvas")[0].addEventListener('pointerdown', function() {
|
| 697 |
md = true;
|
|
@@ -699,9 +710,15 @@ async(c, o, p, d, n, m)=>{
|
|
| 699 |
document.getElementById("model3D").getElementsByTagName("canvas")[0].addEventListener('pointerup', function() {
|
| 700 |
md = false;
|
| 701 |
});
|
|
|
|
|
|
|
|
|
|
| 702 |
document.getElementById("model3D").getElementsByTagName("canvas")[0].addEventListener('pointerleave', function() {
|
| 703 |
md = false;
|
| 704 |
});
|
|
|
|
|
|
|
|
|
|
| 705 |
|
| 706 |
if (document.getElementById("model")) {
|
| 707 |
document.getElementById("model").appendChild(document.getElementById("model3D"));
|
|
@@ -978,7 +995,7 @@ with gr.Blocks(css=css, js=js, head=head) as demo:
|
|
| 978 |
#compass_box {
|
| 979 |
top:1.5em;
|
| 980 |
right:3px;
|
| 981 |
-
position:
|
| 982 |
border:1px dashed gray;
|
| 983 |
border-radius: 50%;
|
| 984 |
width:1.5em;
|
|
|
|
| 670 |
window.a_old = 0;
|
| 671 |
window.b_old = Math.PI / 2;
|
| 672 |
window.compass = document.getElementById("compass");
|
| 673 |
+
window.x = 0;
|
| 674 |
+
window.y = 0;
|
| 675 |
+
window.xold = 0;
|
| 676 |
+
window.yold = 0;
|
| 677 |
+
|
| 678 |
+
document.getElementById("model3D").getElementsByTagName("canvas")[0].addEventListener('pointermove', function(evt) {
|
| 679 |
+
if (md === true) {
|
| 680 |
+
x = parseInt(evt.clientX - evt.target.getBoundingClientRect().x);
|
| 681 |
+
y = parseInt(evt.clientY - evt.target.getBoundingClientRect().y);
|
| 682 |
+
|
| 683 |
+
if (Math.abs(x-xold)>16 || Math.abs(y-yold)>16) {
|
| 684 |
if (Math.abs(BABYLON.Engine.LastCreatedScene.activeCamera.radius - r_old) > 1/16) {
|
| 685 |
BABYLON.Engine.LastCreatedScene.activeCamera.radius = r_old;
|
| 686 |
} else {
|
|
|
|
| 695 |
}
|
| 696 |
document.getElementById('zoom').value = BABYLON.Engine.LastCreatedScene.activeCamera.fov;
|
| 697 |
document.getElementById('zoom').parentNode.childNodes[2].innerText = document.getElementById('zoom').value;
|
| 698 |
+
|
| 699 |
+
xold=x;
|
| 700 |
+
yold=y;
|
|
|
|
| 701 |
}
|
| 702 |
+
try {
|
| 703 |
+
compass.style.transform = "rotateX(" + (BABYLON.Engine.LastCreatedScene.activeCamera.beta-Math.PI/2) + "rad) rotateZ(" + BABYLON.Engine.LastCreatedScene.activeCamera.alpha + "rad)";
|
| 704 |
+
} catch(e) {alert(e);}
|
| 705 |
+
}
|
| 706 |
});
|
| 707 |
document.getElementById("model3D").getElementsByTagName("canvas")[0].addEventListener('pointerdown', function() {
|
| 708 |
md = true;
|
|
|
|
| 710 |
document.getElementById("model3D").getElementsByTagName("canvas")[0].addEventListener('pointerup', function() {
|
| 711 |
md = false;
|
| 712 |
});
|
| 713 |
+
document.getElementById("model3D").getElementsByTagName("canvas")[0].addEventListener('pointercancel', function() {
|
| 714 |
+
md = false;
|
| 715 |
+
});
|
| 716 |
document.getElementById("model3D").getElementsByTagName("canvas")[0].addEventListener('pointerleave', function() {
|
| 717 |
md = false;
|
| 718 |
});
|
| 719 |
+
document.getElementById("model3D").getElementsByTagName("canvas")[0].addEventListener('pointerout', function() {
|
| 720 |
+
md = false;
|
| 721 |
+
});
|
| 722 |
|
| 723 |
if (document.getElementById("model")) {
|
| 724 |
document.getElementById("model").appendChild(document.getElementById("model3D"));
|
|
|
|
| 995 |
#compass_box {
|
| 996 |
top:1.5em;
|
| 997 |
right:3px;
|
| 998 |
+
position:absolute;
|
| 999 |
border:1px dashed gray;
|
| 1000 |
border-radius: 50%;
|
| 1001 |
width:1.5em;
|