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();
}
|