[Bprocessor-commit] gui/src/net/sourceforge/bprocessor/gui PopupMenu.java, 1.18, 1.19
Status: Pre-Alpha
Brought to you by:
henryml
|
From: Nordholt <nor...@us...> - 2006-12-29 13:32:58
|
Update of /cvsroot/bprocessor/gui/src/net/sourceforge/bprocessor/gui In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv28626/src/net/sourceforge/bprocessor/gui Modified Files: PopupMenu.java Log Message: refactored code to the camera Index: PopupMenu.java =================================================================== RCS file: /cvsroot/bprocessor/gui/src/net/sourceforge/bprocessor/gui/PopupMenu.java,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** PopupMenu.java 15 Nov 2006 10:28:18 -0000 1.18 --- PopupMenu.java 29 Dec 2006 13:32:57 -0000 1.19 *************** *** 65,69 **** public static JPopupMenu getSurfaceMenu(Collection c) { JPopupMenu jm = getEntiesMenu(c); - if (c.size() == 1) { Surface s = (Surface)c.iterator().next(); --- 65,68 ---- *************** *** 71,103 **** public void actionPerformed(ActionEvent arg0) { Surface s = (Surface)entity; ! Vertex n = (s.normal()); ! Camera current = Project.getInstance().getCurrentCamera(); ! Vertex cen = s.center(); ! double[] center = current.getCenter(); ! double[] cam = current.getCamera(); ! double[] dir = new double[]{cam[0] - center[0], cam[1] - center[1], cam[2] - center[2]}; ! Vertex r = new Vertex(dir); ! n = r.projectOnto(n); ! Iterator iter = s.getEdges().iterator(); ! Vertex roll = new Vertex(current.getRoll()); ! Vertex newroll = null; ! double angle = 2 * 3.14; ! while (iter.hasNext()) { ! Edge e = (Edge)iter.next(); ! Vertex d = e.getDirection(); ! double tmp = d.angle(roll); ! if (tmp < angle) { ! angle = tmp; ! newroll = d; ! } ! } ! newroll.normalize(); ! current.setRoll(new double[]{newroll.getX(), newroll.getY(), newroll.getZ()}); ! current.setCenter(new double[]{cen.getX(), cen.getY(), cen.getZ()}); ! current.setCamera(new double[]{cen.getX() + n.getX(), ! cen.getY() + n.getY(), cen.getZ() + n.getZ()}); ! Collection c = new LinkedList(); ! c.add(s); ! Project.getInstance().getCurrentCamera().zoomOn(c, 1.0); } }; --- 70,74 ---- public void actionPerformed(ActionEvent arg0) { Surface s = (Surface)entity; ! Camera.focusOn(Project.getInstance().getCurrentCamera(), s); } }; |