[Bprocessor-commit] model/src/net/sourceforge/bprocessor/model Surface.java,1.69,1.70 Geometry.java,
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2006-02-02 12:15:21
|
Update of /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12310/src/net/sourceforge/bprocessor/model Modified Files: Surface.java Geometry.java Log Message: Surface.getVertices() no longer returns the first vertex twice Index: Surface.java =================================================================== RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Surface.java,v retrieving revision 1.69 retrieving revision 1.70 diff -C2 -d -r1.69 -r1.70 *** Surface.java 2 Feb 2006 10:53:44 -0000 1.69 --- Surface.java 2 Feb 2006 12:15:09 -0000 1.70 *************** *** 137,145 **** vertices.add(e0.getTo()); } else if (edges.size() > 1) { ! Vertex current = getFirstVertex(); ! if (current != null) { ! vertices.add(current); Iterator iter = edges.iterator(); while (iter.hasNext()) { Edge edge = (Edge) iter.next(); current = edge.otherVertex(current); --- 137,146 ---- vertices.add(e0.getTo()); } else if (edges.size() > 1) { ! Vertex first = getFirstVertex(); ! if (first != null) { ! Vertex current = first; Iterator iter = edges.iterator(); while (iter.hasNext()) { + vertices.add(current); Edge edge = (Edge) iter.next(); current = edge.otherVertex(current); *************** *** 147,152 **** throw new Error("other vertex null"); } - vertices.add(current); } } } --- 148,154 ---- throw new Error("other vertex null"); } } + } else { + throw new Error("first vertex null"); } } *************** *** 182,196 **** /** - * Return true if this surface is connected. - * @return True if this surface is connected. - */ - public boolean connected() { - List vertices = getVertices(); - if (vertices.size() > 1) { - return (vertices.get(0) == vertices.get(vertices.size() - 1)); - } - return false; - } - /** * Calculate center of gravity * @return The center of gravity --- 184,187 ---- *************** *** 199,223 **** List vertices = this.getVertices(); if (vertices.size() > 0) { ! if (vertices.get(0) == vertices.get(vertices.size() - 1)) { ! vertices.remove(vertices.size() - 1); ! } ! if (vertices.size() > 0) { ! double x = 0; ! double y = 0; ! double z = 0; ! Iterator iter = vertices.iterator(); ! while (iter.hasNext()) { ! Vertex current = (Vertex) iter.next(); ! x += current.getX(); ! y += current.getY(); ! z += current.getZ(); ! } ! x = x / (double) vertices.size(); ! y = y / (double) vertices.size(); ! z = z / (double) vertices.size(); ! return new Vertex(x, y, z); ! } else { ! return null; } } else { return null; --- 190,207 ---- List vertices = this.getVertices(); if (vertices.size() > 0) { ! double x = 0; ! double y = 0; ! double z = 0; ! Iterator iter = vertices.iterator(); ! while (iter.hasNext()) { ! Vertex current = (Vertex) iter.next(); ! x += current.getX(); ! y += current.getY(); ! z += current.getZ(); } + x = x / (double) vertices.size(); + y = y / (double) vertices.size(); + z = z / (double) vertices.size(); + return new Vertex(x, y, z); } else { return null; *************** *** 376,389 **** List vertices = getVertices(); - Vertex first = (Vertex) vertices.get(0); - Vertex last = (Vertex) vertices.get(vertices.size() - 1); - if (first != last) { - throw new Error("extruding open surface"); - } - - // FIXME getVertices() should not return duplicates - // why is a surface not allways closed? It should be! - vertices.remove(vertices.size() - 1); List edges = getEdges(); --- 360,364 ---- *************** *** 543,554 **** { List vertices = getVertices(); - Vertex v0 = (Vertex) vertices.get(0); - v0.move(dx, dy, dz); Iterator iter = vertices.iterator(); while (iter.hasNext()) { Vertex vertex = (Vertex) iter.next(); ! if (vertex != v0) { ! vertex.move(dx, dy, dz); ! } } } --- 518,525 ---- { List vertices = getVertices(); Iterator iter = vertices.iterator(); while (iter.hasNext()) { Vertex vertex = (Vertex) iter.next(); ! vertex.move(dx, dy, dz); } } *************** *** 563,567 **** } - // FIXME: Reimplement this without looking at all surfaces in the mesh if (exterior != null) { if (!exterior.surrounds(this)) { --- 534,537 ---- *************** *** 570,581 **** { List vertices = getVertices(); - Vertex v0 = (Vertex) vertices.get(0); - v0.move(-dx, -dy, -dz); Iterator iter = vertices.iterator(); while (iter.hasNext()) { Vertex vertex = (Vertex) iter.next(); ! if (vertex != v0) { ! vertex.move(-dx, -dy, -dz); ! } } } --- 540,547 ---- { List vertices = getVertices(); Iterator iter = vertices.iterator(); while (iter.hasNext()) { Vertex vertex = (Vertex) iter.next(); ! vertex.move(-dx, -dy, -dz); } } Index: Geometry.java =================================================================== RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Geometry.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** Geometry.java 1 Feb 2006 11:45:25 -0000 1.12 --- Geometry.java 2 Feb 2006 12:15:09 -0000 1.13 *************** *** 151,155 **** */ public static double angle(List vertices) { - vertices.remove(vertices.size() - 1); Vertex first = (Vertex) vertices.get(0); Vertex last = (Vertex) vertices.get(vertices.size() - 1); --- 151,154 ---- |