Skip to content

Commit 7ec79df

Browse files
authored
Merge pull request #3 from LIHPC-Computational-Geometry/feature/move-control-point-with-mouse
Feature/move control point with mouse
2 parents abf898d + d0e19eb commit 7ec79df

14 files changed

Lines changed: 1165 additions & 155 deletions

File tree

bot/__init__.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,12 @@
1616
"""
1717

1818
from . import core, view
19-
from .core.cad import Model as CADModel
2019
from .viewer import Viewer
2120

21+
try:
22+
from .core.cad import Model as CADModel
23+
except ModuleNotFoundError:
24+
CADModel = None
25+
Model = CADModel
26+
2227
__all__ = ['core', 'control', 'view', 'viewer', 'Model', 'Viewer']

bot/control/camera.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,8 @@ def refresh_scene(self):
8888
# 6. Ajuster la profondeur de rendu (Near/Far)
8989
# Très important pour ne pas que l'objet soit "tronçonné"
9090
limit = max(100000, self.model_radius * 1000)
91-
self.lens.setNear(-limit)
92-
self.lens.setFar(limit)
91+
self.lens.setNear(0.1)
92+
self.lens.setFar(limit * 2)
9393

9494
def create_marker(self):
9595
"""

bot/control/keyboard.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,21 @@ def __init__(self, base):
3030
self.base.accept('escape', sys.exit)
3131
self.base.accept('f5', lambda: base.messenger.send("cmd_hot_reload"))
3232
self.base.accept('c', lambda: base.messenger.send("cmd_center"))
33-
self.base.accept('x', lambda: base.messenger.send("cmd_align_plane", ["x"]))
34-
self.base.accept('y', lambda: base.messenger.send("cmd_align_plane", ["y"]))
35-
self.base.accept('z', lambda: base.messenger.send("cmd_align_plane", ["z"]))
33+
self.base.accept('alt-x', lambda: base.messenger.send("cmd_align_plane", ["x"]))
34+
self.base.accept('alt-y', lambda: base.messenger.send("cmd_align_plane", ["y"]))
35+
self.base.accept('alt-z', lambda: base.messenger.send("cmd_align_plane", ["z"]))
36+
37+
self.base.accept('x', lambda: base.messenger.send("cmd_axis_constraint", [1]))
38+
self.base.accept('y', lambda: base.messenger.send("cmd_axis_constraint", [2]))
39+
self.base.accept('z', lambda: base.messenger.send("cmd_axis_constraint", [4]))
40+
self.base.accept('shift-x', lambda: base.messenger.send("cmd_axis_constraint", [6]))
41+
self.base.accept('shift-y', lambda: base.messenger.send("cmd_axis_constraint", [5]))
42+
self.base.accept('shift-z', lambda: base.messenger.send("cmd_axis_constraint", [3]))
43+
44+
# Axis-constraint shortcuts (0..7 mask).
45+
# x=1, y=2, z=4
46+
for mask in range(8):
47+
self.base.accept(str(mask), lambda m=mask: base.messenger.send("cmd_axis_constraint", [m]))
3648
# Flèches directionnelles
3749
#self.base.accept('arrow_left', lambda: base.messenger.send("cmd_pan", [-1, 0]))
3850
#self.base.accept('arrow_right', lambda: base.messenger.send("cmd_pan", [1, 0]))

0 commit comments

Comments
 (0)