Bonjour,
Mon souci (j'ai cherché des sources sur le net sans succès) est de déplacer un Poin3D dans une visualisation 2D par Drag and Drop.
Un ZBuffer dessine les objets. Les points de contrôles sont affichés en surimpression.
Deux fonctionalités que je cherche à implémenter:
1) Drag and drop de points. Comment sélectionner le point et faire la transition. Au moment du drop comment mettre les coordonnées du point dans le plan de la caméra (de 2D à 3D)
2) Sélectionner un point sur un objet (courbe, surface) et faire tourner l'objet autour du point.
https://github.com/manuelddahmen/e3gui
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 addMouseMotionListener(new MouseMotionListener() { public Point3D mousePoint3D; Point mousePoint = null; @Override public void mouseDragged(MouseEvent e) { if (main.getUpdateView().getzRunner().isGraphicalEditing()) { if (cellList != null) cellList.forEach(cell -> { Point point = getzRunner().getzBuffer().coordonneesPoint2D((Point3D) cell.o); if (e.getX() - 1 > point.getX() && e.getX()+1 < point.getX() && e.getY() - 1 > point.getY() && e.getY()+1 < point.getY()) { mousePoint = point; mousePoint3D = (Point3D) cell.o; } }); } } @Override public void mouseMoved(MouseEvent e) { if (mousePoint3D != null) { mousePoint3D.changeTo(getzRunner().getzBuffer().invert((int) e.getPoint().getX(), (int) e.getPoint().getY(), mousePoint3D.getZ())); } } });![]()
Partager