[Bprocessor-commit] gl/src/net/sourceforge/bprocessor/gl/tool RectTool.java,1.6,1.7
Status: Pre-Alpha
Brought to you by:
henryml
From: rimestad <rim...@us...> - 2006-04-21 14:56:17
|
Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6100/src/net/sourceforge/bprocessor/gl/tool Modified Files: RectTool.java Log Message: Repaired the tool so that it is leagal to make infinite narrow boxes and so that it uses AbstractPencil.cleanUp() instead of RectTool.cleanUp() Index: RectTool.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/RectTool.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** RectTool.java 10 Apr 2006 07:11:19 -0000 1.6 --- RectTool.java 21 Apr 2006 14:56:06 -0000 1.7 *************** *** 13,17 **** --- 13,20 ---- import java.util.List; + import org.apache.log4j.Logger; + import net.sourceforge.bprocessor.gl.GLView; + import net.sourceforge.bprocessor.gl.model.Intersection; import net.sourceforge.bprocessor.model.Edge; import net.sourceforge.bprocessor.model.Vertex; *************** *** 24,27 **** --- 27,33 ---- private Edge e1, e2, e3, e4; + /** The logger */ + private static Logger log = Logger.getLogger(RectTool.class); + /** * Constructor *************** *** 38,42 **** * @param start Start point * @param end End point ! * @return List of edges forming a rectangle */ List createRect(Vertex start, Vertex end) { --- 44,48 ---- * @param start Start point * @param end End point ! * @return List of edges forming a rectangle, null if the edges only form a line */ List createRect(Vertex start, Vertex end) { *************** *** 65,68 **** --- 71,80 ---- v4 = new Vertex(v3.getX(), v3.getY(), v1.getZ()); } + if ((Math.abs(d.getX()) < 0.00001 && Math.abs(d.getY()) < 0.00001) || + (Math.abs(d.getX()) < 0.00001 && Math.abs(d.getZ()) < 0.00001) || + (Math.abs(d.getZ()) < 0.00001 && Math.abs(d.getY()) < 0.00001)) { + // The box is only in one direction and therefor just an edge + return null; + } if (v1 != null) { e1 = new Edge(v1, v2); *************** *** 88,92 **** edge.setConstructor(true); edges.add(edge); ! edges.addAll(createRect(start.vertex(), current.vertex())); feedback(edges); } else { --- 100,109 ---- edge.setConstructor(true); edges.add(edge); ! List l = createRect(start.vertex(), current.vertex()); ! if (l != null) { ! edges.addAll(l); ! } else { ! edge.setConstructor(false); ! } feedback(edges); } else { *************** *** 124,132 **** if (start == null) { start = current; ! cleanUp(); } else { ! insertEdges(createRect(start.vertex(), current.vertex())); ! start = null; ! incident = null; } updateFeedback(); --- 141,158 ---- if (start == null) { start = current; ! e1 = null; ! e2 = null; ! e3 = null; ! e4 = null; } else { ! List edges = createRect(start.vertex(), current.vertex()); ! if (edges != null) { ! insertEdges(edges); ! } else { ! boolean split = (start.type() == Intersection.EDGE_INTERSECTION || ! current.type() == Intersection.EDGE_INTERSECTION); ! insertEdge(new Edge(start.vertex(), current.vertex()), split); ! } ! cleanUp(); } updateFeedback(); *************** *** 155,158 **** --- 181,185 ---- e3 = null; e4 = null; + super.cleanUp(); } } |