Thread: [Bprocessor-commit] gl/src/net/sourceforge/bprocessor/gl/tool CameraMoveTimer.java,NONE,1.1 CameraZo
Status: Pre-Alpha
Brought to you by:
henryml
From: rimestad <rim...@us...> - 2005-08-05 10:48:39
|
Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29082 Added Files: CameraMoveTimer.java CameraZoomTimer.java Util.java Log Message: initial import --- NEW FILE: Util.java --- //--------------------------------------------------------------------------------- // $Id: Util.java,v 1.1 2005/08/05 10:48:30 rimestad Exp $ // // Copyright (c) 2005 The BProcessor Team (http://bprocessor.sourceforge.net) // Released under the Lesser GNU Public License v2.1 //--------------------------------------------------------------------------------- package net.sourceforge.bprocessor.gl.tool; import net.sourceforge.bprocessor.model.Edge; import net.sourceforge.bprocessor.model.EdgeFacade; import net.sourceforge.bprocessor.model.Vertex; import net.sourceforge.bprocessor.model.Surface; import java.util.Iterator; import java.util.Set; import java.util.ArrayList; import java.util.List; import org.apache.log4j.Logger; /** A utility class */ public class Util { /** The logger */ private static Logger log = Logger.getLogger(Util.class); /** The constructor */ private Util () { } /** * returns a list of vertexes in the given surface ordered * @param s The surface * @return The list of vertexes null if the surface is not connected */ public static List traverse(Surface s) { List edges = s.getEdges(); List result = new ArrayList(edges.size()); Iterator it = edges.iterator(); if (it.hasNext()) { Edge previous = (Edge)it.next(); Vertex first = previous.getFrom(); result.add(first); Vertex current = previous.getTo(); for (int i = 1; i < edges.size(); i++) { result.add(current); Set temp = EdgeFacade.getInstance().findByVertex(current); Iterator ite = temp.iterator(); while (ite.hasNext()) { Edge e = (Edge)ite.next(); if (edges.contains(e) && !e.equals(previous)) { current = oppositeVertex(e, current); previous = e; break; } } if (first.equals(current)) { return result; } } } return null; } /** * checks if the given surface is connected * If it is it returns true otherwise false * @param s The surface * @return If the given surface is connected */ public static boolean connected(Surface s) { List edges = s.getEdges(); Iterator it = edges.iterator(); if (it.hasNext()) { Edge previous = (Edge)it.next(); Vertex first = previous.getFrom(); Vertex current = previous.getTo(); for (int i = 1; i < edges.size(); i++) { Set temp = EdgeFacade.getInstance().findByVertex(current); Iterator ite = temp.iterator(); while (ite.hasNext()) { Edge e = (Edge)ite.next(); if (edges.contains(e) && !e.equals(previous)) { current = oppositeVertex(e, current); previous = e; break; } } if (first.equals(current)) { return true; } } } return false; } /** * Return the opposite vertex in the edge give as the vertex given * @param e The edge * @param v The Vertex * @return the opposite vertex or null if v was not to or from */ public static Vertex oppositeVertex(Edge e, Vertex v) { if (e.getTo().equals(v)) { return e.getFrom(); } else if (e.getFrom().equals(v)) { return e.getTo(); } return null; } } --- NEW FILE: CameraZoomTimer.java --- //--------------------------------------------------------------------------------- // $Id: CameraZoomTimer.java,v 1.1 2005/08/05 10:48:30 rimestad Exp $ // // Copyright (c) 2005 The BProcessor Team (http://bprocessor.sourceforge.net) // Released under the Lesser GNU Public License v2.1 //--------------------------------------------------------------------------------- package net.sourceforge.bprocessor.gl.tool; import net.sourceforge.bprocessor.gl.GLView; import net.sourceforge.bprocessor.gl.view.View; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; /** * Camara zoom timer */ class CameraZoomTimer implements ActionListener { /** The calling mouselistener */ private AbstractTool at; /** The current GLView */ private GLView glv; /** * The Constructor * @param at the abstract tool * @param glv the GLView */ public CameraZoomTimer(AbstractTool at, GLView glv) { this.at = at; this.glv = glv; } /** * executed every time camaraMove is sceduled * @param e The ActionEvent */ public void actionPerformed(ActionEvent e) { View v = glv.getView(); if (at.getdy() > 0) { v.zoom(0.9); } else { v.zoom(1.0); } glv.repaint(); } } --- NEW FILE: CameraMoveTimer.java --- //--------------------------------------------------------------------------------- // $Id: CameraMoveTimer.java,v 1.1 2005/08/05 10:48:30 rimestad Exp $ // // Copyright (c) 2005 The BProcessor Team (http://bprocessor.sourceforge.net) // Released under the Lesser GNU Public License v2.1 //--------------------------------------------------------------------------------- package net.sourceforge.bprocessor.gl.tool; import net.sourceforge.bprocessor.gl.GLView; import net.sourceforge.bprocessor.gl.view.View; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; /** * Carama move timer class */ class CameraMoveTimer implements ActionListener { /** The calling mouselistener */ private AbstractTool at; /** The current GLView */ private GLView glv; /** * The Constructor * @param at the abstract tool * @param glv the GLView */ public CameraMoveTimer(AbstractTool at, GLView glv) { this.at = at; this.glv = glv; } /** * executed every time camaraMove is sceduled * @param e The ActionEvent */ public void actionPerformed(ActionEvent e) { View v = glv.getView(); v.translateRotationX(10 * at.getdy()); v.translateRotationY(10 * at.getdx()); glv.repaint(); } } |