[Bprocessor-commit] gl/src/net/sourceforge/bprocessor/gl/tool AbstractTool.java,1.42,1.43 PencilTool
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2005-12-21 14:37:27
|
Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11918/src/net/sourceforge/bprocessor/gl/tool Modified Files: AbstractTool.java PencilTool.java Log Message: Constructionline-issues Index: PencilTool.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/PencilTool.java,v retrieving revision 1.51 retrieving revision 1.52 diff -C2 -d -r1.51 -r1.52 *** PencilTool.java 20 Dec 2005 22:01:36 -0000 1.51 --- PencilTool.java 21 Dec 2005 14:37:17 -0000 1.52 *************** *** 120,133 **** if (selection.size() > 1) { Edge e1 = (Edge) selection.get(0); ! for (int i = 1; (i < selection.size()) && intersection == null; i++) { Edge e2 = (Edge) selection.get(i); ! Edge intersect = e1.intersection(e2); ! ! if (intersect != null) { ! if (intersect.getLength() < 0.0000001) { ! intersection = intersect.getFrom(); ! splitE1 = e1; ! splitE2 = e2; } } --- 120,136 ---- if (selection.size() > 1) { Edge e1 = (Edge) selection.get(0); ! Vertex v1 = e1.getTo().minus(e1.getFrom()); for (int i = 1; (i < selection.size()) && intersection == null; i++) { Edge e2 = (Edge) selection.get(i); ! Vertex v2 = e2.getTo().minus(e2.getFrom()); ! Vertex cross = v1.cross(v2); ! if (!cross.isZero()) { ! Edge intersect = e1.intersection(e2); ! if (intersect != null) { ! if (intersect.getLength() < 0.0000001) { ! intersection = intersect.getFrom(); ! splitE1 = e1; ! splitE2 = e2; ! } } } *************** *** 391,396 **** if (from == to) { Surface surface = new Surface(edges); - holeAnalysis(surface); intern(surface); } else { Geometry.insert(edges); --- 394,399 ---- if (from == to) { Surface surface = new Surface(edges); intern(surface); + holeAnalysis(surface); } else { Geometry.insert(edges); Index: AbstractTool.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/AbstractTool.java,v retrieving revision 1.42 retrieving revision 1.43 diff -C2 -d -r1.42 -r1.43 *** AbstractTool.java 20 Dec 2005 15:43:36 -0000 1.42 --- AbstractTool.java 21 Dec 2005 14:37:17 -0000 1.43 *************** *** 501,531 **** */ protected void deleteSurface(Surface surface) { ! List edges = surface.getEdges(); ! Iterator it = edges.iterator(); ! Edge edge = null; ! //checking if this is a hole in some surface an thus must removed before deleted ! //consider method that does not have to get all surfaces. ! Set surfaces = Project.getInstance().getSurfaces(); ! Iterator surfIt = surfaces.iterator(); ! while (surfIt.hasNext()) { ! Surface surf = (Surface)surfIt.next(); ! Set inners = surf.getHoles(); ! if (inners != null) { ! Iterator innerIt = inners.iterator(); ! while (innerIt.hasNext()) { ! Surface innerSurf = (Surface)innerIt.next(); ! if (innerSurf == surface) { ! surf.removeHole(surface); ! Project.getInstance().update(surf); ! } ! } ! } } removeSurface(surface); ! glv.repaint(); while (it.hasNext()) { ! edge = (Edge)it.next(); deleteEdge(edge); } } --- 501,516 ---- */ protected void deleteSurface(Surface surface) { ! if (surface.getExterior() != null) { ! Surface exterior = surface.getExterior(); ! exterior.removeHole(surface); } removeSurface(surface); ! List edges = surface.getEdges(); ! Iterator it = edges.iterator(); while (it.hasNext()) { ! Edge edge = (Edge)it.next(); deleteEdge(edge); } + glv.repaint(); } |