[Bprocessor-commit] gl/src/net/sourceforge/bprocessor/gl/tool RectTool.java, 1.12, 1.13 AbstractPen
Status: Pre-Alpha
Brought to you by:
henryml
From: rimestad <rim...@us...> - 2006-08-09 16:14:22
|
Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv16073/src/net/sourceforge/bprocessor/gl/tool Modified Files: RectTool.java AbstractPencil.java Log Message: Made abstracttool insertEdge force that the inserted edges are at least longer than 0.0 and required in RectTool that the start and current point are different before creating a rect... removes the dragging error Index: RectTool.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/RectTool.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** RectTool.java 9 Aug 2006 09:46:10 -0000 1.12 --- RectTool.java 9 Aug 2006 16:14:20 -0000 1.13 *************** *** 150,156 **** lastCurrent = start.vertex(); } else if (baseEdge == null) { ! setUpRectangle(); } else { ! insertEdges(rectangle); cleanUp(); feedback(rectangle); --- 150,160 ---- lastCurrent = start.vertex(); } else if (baseEdge == null) { ! if (start.vertex().distance(current.vertex()) > 0.0) { ! setUpRectangle(); ! } } else { ! if (baseEdge.getLength() > 0.0 && movingEdge.getLength() > 0.0) { ! insertEdges(rectangle); ! } cleanUp(); feedback(rectangle); Index: AbstractPencil.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/AbstractPencil.java,v retrieving revision 1.53 retrieving revision 1.54 diff -C2 -d -r1.53 -r1.54 *** AbstractPencil.java 4 Aug 2006 11:48:11 -0000 1.53 --- AbstractPencil.java 9 Aug 2006 16:14:20 -0000 1.54 *************** *** 251,262 **** * @param edge Edge * @param split Split ! * @return Edge from model */ public Edge insertEdge(Edge edge, boolean split) { Edge actual = edge; Vertex from = insertVertex(edge.getFrom(), split); Vertex to = insertVertex(edge.getTo(), split); edge.setFrom(from); edge.setTo(to); { Collection edges = mesh().getEdges(); --- 251,268 ---- * @param edge Edge * @param split Split ! * @return Edge from model null if to and from were the same */ public Edge insertEdge(Edge edge, boolean split) { Edge actual = edge; + if (edge.getLength() == 0) { + return null; + } Vertex from = insertVertex(edge.getFrom(), split); Vertex to = insertVertex(edge.getTo(), split); edge.setFrom(from); edge.setTo(to); + if (edge.getLength() == 0.0) { + return null; + } { Collection edges = mesh().getEdges(); *************** *** 297,306 **** Edge current = (Edge) iter.next(); Edge edge = insertEdge(current, false); ! actual.add(edge); } - Surface surface = new Surface(actual); - mesh().insert(surface); - holeAnalysis(surface); - closed = true; } else { List actual = new LinkedList(); --- 303,316 ---- Edge current = (Edge) iter.next(); Edge edge = insertEdge(current, false); ! if (edge != null) { ! actual.add(edge); ! } ! } ! if (actual.size() > 3) { ! Surface surface = new Surface(actual); ! mesh().insert(surface); ! holeAnalysis(surface); ! closed = true; } } else { List actual = new LinkedList(); *************** *** 309,313 **** Edge current = (Edge) iter.next(); Edge edge = insertEdge(current, true); ! actual.add(edge); } closed = Geometry.insert(actual); --- 319,325 ---- Edge current = (Edge) iter.next(); Edge edge = insertEdge(current, true); ! if (edge != null) { ! actual.add(edge); ! } } closed = Geometry.insert(actual); |