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;
|