[Bprocessor-commit] model/src/net/sourceforge/bprocessor/model Surface.java,1.38,1.39 DatabaseFacade
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2005-10-11 12:05:08
|
Update of /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32410/src/net/sourceforge/bprocessor/model Modified Files: Surface.java DatabaseFacade.java CoordinateSystem.java Log Message: Implementation of Surface.direction() Index: Surface.java =================================================================== RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Surface.java,v retrieving revision 1.38 retrieving revision 1.39 diff -C2 -d -r1.38 -r1.39 *** Surface.java 10 Oct 2005 12:13:42 -0000 1.38 --- Surface.java 11 Oct 2005 12:04:51 -0000 1.39 *************** *** 16,19 **** --- 16,20 ---- import org.apache.log4j.Logger; + /** * The surface *************** *** 266,276 **** */ public int direction() { ! /* ! * TODO To Calculate direction ! */ return 0; } /** * Get the inner surfaces * @return The inner surfaces --- 267,310 ---- */ public int direction() { ! return 0; } /** + * Compute the traversed angle of this Surface + * @return The angle + */ + public double angle() { + List vertexlist = getVertices(); + + CoordinateSystem coordinateSystem = coordinateSystem(); + vertexlist = coordinateSystem.translate(vertexlist); + + vertexlist.remove(vertexlist.size() - 1); + Vertex first = (Vertex) vertexlist.get(0); + Vertex last = (Vertex) vertexlist.get(vertexlist.size() - 1); + vertexlist.add(first); + vertexlist.add(0, last); + Vertex[] vertices = new Vertex[vertexlist.size()]; + vertexlist.toArray(vertices); + + double tetra = 0.0; + System.out.println("--- start ---"); + System.out.print("size: "); + System.out.println(vertices.length); + for (int i = 1; i <= (vertices.length - 2); i++) { + double dxi = vertices[i + 1].getX() - vertices[i].getX(); + double dxi1 = vertices[i].getX() - vertices[i - 1].getX(); + double dyi = vertices[i + 1].getY() - vertices[i].getY(); + double dyi1 = vertices[i].getY() - vertices[i - 1].getY(); + double tetrai = Math.atan2((dxi * dyi1 - dxi1 * dyi), (dxi * dxi1 + dyi * dyi1)); + System.out.println(tetrai); + tetra += tetrai; + } + System.out.println("--- end ---"); + return tetra; + } + + /** * Get the inner surfaces * @return The inner surfaces *************** *** 671,680 **** if (edges.size() > 1) { Vertex i, j, n, origin; Edge e0 = (Edge) edges.get(0); Edge e1 = (Edge) edges.get(1); ! origin = e0.getFrom(); ! i = e0.getTo().minus(origin);; i.scale(1 / i.length()); ! Vertex v = e1.getTo().minus(e1.getFrom()); n = i.cross(v); n.scale(1 / n.length()); --- 705,720 ---- if (edges.size() > 1) { Vertex i, j, n, origin; + Edge e0 = (Edge) edges.get(0); Edge e1 = (Edge) edges.get(1); ! Vertex v0, v1, v2; ! v0 = getFirtVertex(); ! v1 = e0.otherVertex(v0); ! v2 = e1.otherVertex(v1); ! ! origin = v0; ! i = v1.minus(v0); i.scale(1 / i.length()); ! Vertex v = v2.minus(v1); n = i.cross(v); n.scale(1 / n.length()); Index: CoordinateSystem.java =================================================================== RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/CoordinateSystem.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** CoordinateSystem.java 22 Sep 2005 14:10:47 -0000 1.2 --- CoordinateSystem.java 11 Oct 2005 12:04:51 -0000 1.3 *************** *** 8,11 **** --- 8,15 ---- package net.sourceforge.bprocessor.model; + import java.util.ArrayList; + import java.util.Iterator; + import java.util.List; + /** * The CoordinateSystem is represented by *************** *** 111,113 **** --- 115,132 ---- return v; } + + /** + * Translate all vertices in the list + * @param vertices The list of vertices + * @return The translated list + */ + public List translate(List vertices) { + List result = new ArrayList(); + Iterator iter = vertices.iterator(); + while (iter.hasNext()) { + Vertex current = (Vertex) iter.next(); + result.add(translate(current)); + } + return result; + } } Index: DatabaseFacade.java =================================================================== RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/DatabaseFacade.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** DatabaseFacade.java 6 Oct 2005 08:20:32 -0000 1.2 --- DatabaseFacade.java 11 Oct 2005 12:04:51 -0000 1.3 *************** *** 27,31 **** public static synchronized DatabaseFacade getInstance() { if (instance == null) { ! instance = new SQLFacade(); } return instance; --- 27,31 ---- public static synchronized DatabaseFacade getInstance() { if (instance == null) { ! instance = new MemoryFacade(); } return instance; |