[Bprocessor-commit] model/src/net/sourceforge/bprocessor/model SurfaceAnalysis.java, 1.3, 1.4
Status: Pre-Alpha
Brought to you by:
henryml
|
From: Michael L. <he...@us...> - 2006-12-21 13:33:11
|
Update of /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv20436/src/net/sourceforge/bprocessor/model Modified Files: SurfaceAnalysis.java Log Message: Fixed bug in surface-analysis Index: SurfaceAnalysis.java =================================================================== RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/SurfaceAnalysis.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** SurfaceAnalysis.java 19 Dec 2006 09:32:53 -0000 1.3 --- SurfaceAnalysis.java 21 Dec 2006 13:33:02 -0000 1.4 *************** *** 524,586 **** if (!edges.isEmpty()) { ! List left = new LinkedList(); ! List right = new LinkedList(); ! Iterator iter = edges.iterator(); ! while (iter.hasNext()) { ! EdgeNode current = (EdgeNode) iter.next(); ! VertexNode other = current.other(this); ! Vertex delta = other.vertex.minus(vertex); ! double dx = system.getI().dot(delta); ! double dy = system.getJ().dot(delta); ! Entry entry = new Entry(current, dx, dy); ! if (dx == 0) { ! if (dy < 0) { ! right.add(entry); ! } ! if (dy > 0) { ! left.add(entry); ! } ! } else { ! if (dx > 0) { ! right.add(entry); ! } ! if (dx < 0) { ! left.add(entry); } } - } ! Object[] rights = right.toArray(); ! Arrays.sort(rights); ! Object[] lefts = left.toArray(); ! Arrays.sort(lefts); ! List result = new LinkedList(); ! for (int i = 0; i < rights.length; i++) { ! result.add(((Entry) rights[i]).node); ! } ! for (int i = 0; i < lefts.length; i++) { ! result.add(((Entry) lefts[i]).node); ! } ! edges = result; ! } ! { ! EdgeNode previous = (EdgeNode) edges.get(edges.size() - 1); ! Iterator iter = edges.iterator(); ! while (iter.hasNext()) { ! EdgeNode current = (EdgeNode) iter.next(); ! if (previous.to == this) { ! previous.toSucc = current; ! } ! if (previous.from == this) { ! previous.fromSucc = current; } ! if (current.to == this) { ! current.toPred = previous; } ! if (current.from == this) { ! current.fromPred = previous; } - previous = current; } } --- 524,588 ---- if (!edges.isEmpty()) { ! { ! List left = new LinkedList(); ! List right = new LinkedList(); ! Iterator iter = edges.iterator(); ! while (iter.hasNext()) { ! EdgeNode current = (EdgeNode) iter.next(); ! VertexNode other = current.other(this); ! Vertex delta = other.vertex.minus(vertex); ! double dx = system.getI().dot(delta); ! double dy = system.getJ().dot(delta); ! Entry entry = new Entry(current, dx, dy); ! if (dx == 0) { ! if (dy < 0) { ! right.add(entry); ! } ! if (dy > 0) { ! left.add(entry); ! } ! } else { ! if (dx > 0) { ! right.add(entry); ! } ! if (dx < 0) { ! left.add(entry); ! } } } ! Object[] rights = right.toArray(); ! Arrays.sort(rights); ! Object[] lefts = left.toArray(); ! Arrays.sort(lefts); ! List result = new LinkedList(); ! for (int i = 0; i < rights.length; i++) { ! result.add(((Entry) rights[i]).node); } ! for (int i = 0; i < lefts.length; i++) { ! result.add(((Entry) lefts[i]).node); } ! edges = result; ! } ! { ! EdgeNode previous = (EdgeNode) edges.get(edges.size() - 1); ! Iterator iter = edges.iterator(); ! while (iter.hasNext()) { ! EdgeNode current = (EdgeNode) iter.next(); ! if (previous.to == this) { ! previous.toSucc = current; ! } ! if (previous.from == this) { ! previous.fromSucc = current; ! } ! if (current.to == this) { ! current.toPred = previous; ! } ! if (current.from == this) { ! current.fromPred = previous; ! } ! previous = current; } } } |