[Bprocessor-commit] model/src/net/sourceforge/bprocessor/model Vertex.java, 1.76, 1.77 Command.java
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2008-01-14 14:00:34
|
Update of /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv6448/src/net/sourceforge/bprocessor/model Modified Files: Vertex.java Command.java Log Message: Selection buffer extends Vertex can be corner Index: Command.java =================================================================== RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Command.java,v retrieving revision 1.62 retrieving revision 1.63 diff -C2 -d -r1.62 -r1.63 *** Command.java 10 Jan 2008 09:54:05 -0000 1.62 --- Command.java 14 Jan 2008 14:00:27 -0000 1.63 *************** *** 563,598 **** Vertex vertexpoint = vertexmap.get(current); ! ! if (crease.size() < 2) { ! List<Vertex> vs = new LinkedList(); ! for (Edge edge : es) { ! vs.add(edge.otherVertex(current)); ! } ! List<Vertex> fs = new LinkedList(); ! for (Surface surface : ss) { ! fs.add(facemap.get(surface)); ! } ! Vertex a1 = Vertex.center(vs); ! Vertex a2 = Vertex.center(fs); ! double x = ((n - 2) * current.x) / n + a1.x / n + a2.x / n; ! double y = ((n - 2) * current.y) / n + a1.y / n + a2.y / n; ! double z = ((n - 2) * current.z) / n + a1.z / n + a2.z / n; ! vertexpoint.setX(x); ! vertexpoint.setY(y); ! vertexpoint.setZ(z); ! } else if (crease.size() == 2) { ! double x = 6 * current.x; ! double y = 6 * current.y; ! double z = 6 * current.z; ! for (Edge edge : crease) { ! Vertex v = edge.otherVertex(current); ! x += v.x; ! y += v.y; ! z += v.z; } - vertexpoint.setX(x / 8); - vertexpoint.setY(y / 8); - vertexpoint.setZ(z / 8); } } --- 563,599 ---- Vertex vertexpoint = vertexmap.get(current); ! if (!current.isCorner()) { ! if (crease.size() < 2) { ! List<Vertex> vs = new LinkedList(); ! for (Edge edge : es) { ! vs.add(edge.otherVertex(current)); ! } ! List<Vertex> fs = new LinkedList(); ! for (Surface surface : ss) { ! fs.add(facemap.get(surface)); ! } ! Vertex a1 = Vertex.center(vs); ! Vertex a2 = Vertex.center(fs); ! double x = ((n - 2) * current.x) / n + a1.x / n + a2.x / n; ! double y = ((n - 2) * current.y) / n + a1.y / n + a2.y / n; ! double z = ((n - 2) * current.z) / n + a1.z / n + a2.z / n; ! vertexpoint.setX(x); ! vertexpoint.setY(y); ! vertexpoint.setZ(z); ! } else if (crease.size() == 2) { ! double x = 6 * current.x; ! double y = 6 * current.y; ! double z = 6 * current.z; ! for (Edge edge : crease) { ! Vertex v = edge.otherVertex(current); ! x += v.x; ! y += v.y; ! z += v.z; ! } ! vertexpoint.setX(x / 8); ! vertexpoint.setY(y / 8); ! vertexpoint.setZ(z / 8); } } } Index: Vertex.java =================================================================== RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Vertex.java,v retrieving revision 1.76 retrieving revision 1.77 diff -C2 -d -r1.76 -r1.77 *** Vertex.java 17 Dec 2007 13:09:17 -0000 1.76 --- Vertex.java 14 Jan 2008 14:00:25 -0000 1.77 *************** *** 43,46 **** --- 43,48 ---- protected double z; + protected boolean corner; + /** * Find vertex that coincides with the vertex *************** *** 172,175 **** --- 174,193 ---- /** + * Sets the corner value + * @param value new value + */ + public void setCorner(boolean value) { + corner = value; + } + + /** + * Returns the corner + * @return true if this vertex is a corner + */ + public boolean isCorner() { + return corner; + } + + /** * Return x, y, z in a double array * @return Values *************** *** 241,244 **** --- 259,263 ---- public Vertex copy() { Vertex vertex = new Vertex(x, y, z); + vertex.setCorner(isCorner()); return vertex; } *************** *** 436,439 **** --- 455,460 ---- } else if (a.getName().equals("Z")) { setZ(((Double)a.getValue()).doubleValue()); + } else if (a.getName().equals("corner")) { + setCorner(((Boolean) a.getValue()).booleanValue()); } } *************** *** 451,454 **** --- 472,476 ---- res.add(new Attribute("Y", new Double(getY()))); res.add(new Attribute("Z", new Double(getZ()))); + res.add(new Attribute("corner", Boolean.valueOf(isCorner()))); return res; } |