From 2ee71c428b4ad5adbbedb3ba3d7ddee7495b8c02 Mon Sep 17 00:00:00 2001 From: Kityan <irina.lee@etu.upmc.fr> Date: Sat, 8 Sep 2018 16:38:00 +0200 Subject: [PATCH] fix tgconnector problem --- src/main/java/ui/TGConnector.java | 129 ++++++++++-------------------- 1 file changed, 41 insertions(+), 88 deletions(-) diff --git a/src/main/java/ui/TGConnector.java b/src/main/java/ui/TGConnector.java index c8cfd70edf..cb2c5ca63f 100755 --- a/src/main/java/ui/TGConnector.java +++ b/src/main/java/ui/TGConnector.java @@ -113,7 +113,7 @@ public abstract class TGConnector extends TGCScalableWithInternalComponent { if (getTDiagramPanel().getName().equals("ELN Diagram")) { tgcomponent[i] = new ELNMidPortTerminal(p.x, p.y, minX, maxX, minY, maxY, false, this, tdp ); } else { - tgcomponent[i] = new TGCPointOfConnector(p.x, p.y, minX, maxX, minY, maxY, false, this, tdp ); + tgcomponent[i] = new TGCPointOfConnector(p.x, p.y, minX, maxX, minY, maxY, false, this, tdp ); } } } @@ -124,9 +124,7 @@ public abstract class TGConnector extends TGCScalableWithInternalComponent { public int getIndexOfFirstTGCPointOfConnector() { for(int i=0; i<nbInternalTGComponent; i++) { - if (tgcomponent[i] instanceof ELNMidPortTerminal) { - return i; - } else if (tgcomponent[i] instanceof TGCPointOfConnector) { + if (tgcomponent[i] instanceof TGCPointOfConnector) { return i; } } @@ -145,10 +143,7 @@ public abstract class TGConnector extends TGCScalableWithInternalComponent { TGCPointOfConnector []tab = new TGCPointOfConnector[nb]; nb = 0; for(int i=0; i<nbInternalTGComponent; i++) { - if (tgcomponent[i] instanceof ELNMidPortTerminal) { - tab[nb] = (ELNMidPortTerminal)(tgcomponent[i]); - nb++; - } else if (tgcomponent[i] instanceof TGCPointOfConnector) { + if (tgcomponent[i] instanceof TGCPointOfConnector) { tab[nb] = (TGCPointOfConnector)(tgcomponent[i]); nb++; } @@ -161,9 +156,7 @@ public abstract class TGConnector extends TGCScalableWithInternalComponent { Vector<Point> v = new Vector<Point>(); for(int i=0; i<nbInternalTGComponent; i++) { - if (tgcomponent[i] instanceof ELNMidPortTerminal) { - v.add(new Point(tgcomponent[i].getX(), tgcomponent[i].getY())); - } else if (tgcomponent[i] instanceof TGCPointOfConnector) { + if (tgcomponent[i] instanceof TGCPointOfConnector) { v.add(new Point(tgcomponent[i].getX(), tgcomponent[i].getY())); } } @@ -175,9 +168,7 @@ public abstract class TGConnector extends TGCScalableWithInternalComponent { if (nbInternalTGComponent == 0) { return -1;} int index; for(index = 0; index<tgcomponent.length; index++) { - if (!(tgcomponent[index] instanceof ELNMidPortTerminal)) { - break; - } else if (!(tgcomponent[index] instanceof TGCPointOfConnector)) { + if (!(tgcomponent[index] instanceof TGCPointOfConnector)) { break; } } @@ -265,10 +256,7 @@ public abstract class TGConnector extends TGCScalableWithInternalComponent { return new Point((p1.getX()+p2.getX())/2, (p1.getY()+p2.getY())/2); } - if (tgcomponent[0] instanceof ELNMidPortTerminal) { - //TraceManager.addDev("TGCPointOfConnector"); - return new Point((p1.getX()+tgcomponent[0].getX())/2, (p1.getY()+tgcomponent[0].getY())/2); - } else if (tgcomponent[0] instanceof TGCPointOfConnector) { + if (tgcomponent[0] instanceof TGCPointOfConnector) { //TraceManager.addDev("TGCPointOfConnector"); return new Point((p1.getX()+tgcomponent[0].getX())/2, (p1.getY()+tgcomponent[0].getY())/2); } @@ -504,62 +492,34 @@ public abstract class TGConnector extends TGCScalableWithInternalComponent { public CDElement[] getPointedSegment(int x1, int y1) { TGCPointOfConnector p3, p4; - ELNMidPortTerminal p3a, p4a; CDElement [] pt = new CDElement[2]; try { if (hasTGCPointOfConnector()) { - if (tgcomponent[0] instanceof ELNMidPortTerminal) { - p3a = (ELNMidPortTerminal)tgcomponent[0]; - p4a = p3a; + p3 = (TGCPointOfConnector)tgcomponent[0]; + p4 = p3; + if ((int)(Line2D.ptSegDistSq(p1.getX(), p1.getY(), p3.getX(), p3.getY(), x1, y1)) < distanceSelected) { + pt[0] = p1; + pt[1] = p3; + return pt; + } + for(int i=0; i<getIndexOfLastTGCPointOfConnector(); i++) { + p3 = (TGCPointOfConnector)(tgcomponent[i]); + p4 = (TGCPointOfConnector)(tgcomponent[i+1]); - if ((int)(Line2D.ptSegDistSq(p1.getX(), p1.getY(), p3a.getX(), p3a.getY(), x1, y1)) < distanceSelected) { - pt[0] = p1; - pt[1] = p3a; + if ((int)(Line2D.ptSegDistSq(p3.getX(), p3.getY(), p4.getX(), p4.getY(), x1, y1)) < distanceSelected) { + pt[0] = p3; + pt[1] = p4; return pt; } - for(int i=0; i<getIndexOfLastTGCPointOfConnector(); i++) { - p3a = (ELNMidPortTerminal)(tgcomponent[i]); - p4a = (ELNMidPortTerminal)(tgcomponent[i+1]); - - if ((int)(Line2D.ptSegDistSq(p3a.getX(), p3a.getY(), p4a.getX(), p4a.getY(), x1, y1)) < distanceSelected) { - pt[0] = p3a; - pt[1] = p4a; - return pt; - } - } + } + + if ((int)(Line2D.ptSegDistSq(p4.getX(), p4.getY(), p2.getX(), p2.getY(), x1, y1)) < distanceSelected) { + pt[0] = p4; + pt[1] = p2; + return pt; + } - if ((int)(Line2D.ptSegDistSq(p4a.getX(), p4a.getY(), p2.getX(), p2.getY(), x1, y1)) < distanceSelected) { - pt[0] = p4a; - pt[1] = p2; - return pt; - } - } else { - p3 = (TGCPointOfConnector)tgcomponent[0]; - p4 = p3; - - if ((int)(Line2D.ptSegDistSq(p1.getX(), p1.getY(), p3.getX(), p3.getY(), x1, y1)) < distanceSelected) { - pt[0] = p1; - pt[1] = p3; - return pt; - } - for(int i=0; i<getIndexOfLastTGCPointOfConnector(); i++) { - p3 = (TGCPointOfConnector)(tgcomponent[i]); - p4 = (TGCPointOfConnector)(tgcomponent[i+1]); - - if ((int)(Line2D.ptSegDistSq(p3.getX(), p3.getY(), p4.getX(), p4.getY(), x1, y1)) < distanceSelected) { - pt[0] = p3; - pt[1] = p4; - return pt; - } - } - - if ((int)(Line2D.ptSegDistSq(p4.getX(), p4.getY(), p2.getX(), p2.getY(), x1, y1)) < distanceSelected) { - pt[0] = p4; - pt[1] = p2; - return pt; - } - } } else { if (p2 != null) { if ((int)(Line2D.ptSegDistSq(p1.getX(), p1.getY(), p2.getX(), p2.getY(), x1, y1)) < distanceSelected) { @@ -669,21 +629,18 @@ public abstract class TGConnector extends TGCScalableWithInternalComponent { return; } - public void pointHasBeenRemoved(ELNMidPortTerminal tgc) { - return; - } // indexCon indicates from which points the potential connecitng point is the closer public void pointHasBeenAdded(TGCPointOfConnector tgc, int index, int indexCon) { return; } - - public void pointHasBeenAdded(ELNMidPortTerminal tgc, int index, int indexCon) { - return; - } - private boolean addELNMidPortTerminal(int x, int y) { + private boolean addTGCPointOfConnector(int x, int y) { + //TraceManager.addDev("Adding point of connector at "+ x + "," + y); CDElement [] pt = getPointedSegment(x, y); + /*TraceManager.addDev("Two pts"); + TraceManager.addDev("p1 x=" + pt[0].x + " y=" + pt[0].y); + TraceManager.addDev("p2 x=" + pt[1].x + " y=" + pt[1].y);*/ if (pt != null) { Point p = new Point((pt[0].getX() + pt[1].getX()) / 2, (pt[0].getY() + pt[1].getY()) / 2); int distance1 = (int)(new Point(x, y).distance(pt[0].getX(), pt[0].getY())); @@ -696,22 +653,21 @@ public abstract class TGConnector extends TGCScalableWithInternalComponent { } else { indexCon = 1; } + //TraceManager.addDev("tgcpoint of connector added at index " + index + " indexCon=" + indexCon); - ELNMidPortTerminal t = new ELNMidPortTerminal(p.x, p.y, minX, maxX, minY, maxY, false, this, tdp); + TGCPointOfConnector t = new TGCPointOfConnector(p.x, p.y, minX, maxX, minY, maxY, false, this, tdp); if (addInternalComponent(t, index) ) { pointHasBeenAdded(t, index, indexCon); + //TraceManager.addDev("Return true"); return true; } } + //TraceManager.addDev("Return false"); return false; } - - private boolean addTGCPointOfConnector(int x, int y) { - //TraceManager.addDev("Adding point of connector at "+ x + "," + y); + + private boolean addELNMidPortTerminal(int x, int y) { CDElement [] pt = getPointedSegment(x, y); - /*TraceManager.addDev("Two pts"); - TraceManager.addDev("p1 x=" + pt[0].x + " y=" + pt[0].y); - TraceManager.addDev("p2 x=" + pt[1].x + " y=" + pt[1].y);*/ if (pt != null) { Point p = new Point((pt[0].getX() + pt[1].getX()) / 2, (pt[0].getY() + pt[1].getY()) / 2); int distance1 = (int)(new Point(x, y).distance(pt[0].getX(), pt[0].getY())); @@ -724,16 +680,13 @@ public abstract class TGConnector extends TGCScalableWithInternalComponent { } else { indexCon = 1; } - //TraceManager.addDev("tgcpoint of connector added at index " + index + " indexCon=" + indexCon); - TGCPointOfConnector t = new TGCPointOfConnector(p.x, p.y, minX, maxX, minY, maxY, false, this, tdp); + ELNMidPortTerminal t = new ELNMidPortTerminal(p.x, p.y, minX, maxX, minY, maxY, false, this, tdp); if (addInternalComponent(t, index) ) { pointHasBeenAdded(t, index, indexCon); - //TraceManager.addDev("Return true"); return true; } } - //TraceManager.addDev("Return false"); return false; } @@ -812,9 +765,9 @@ public abstract class TGConnector extends TGCScalableWithInternalComponent { public StringBuffer translatePoints() { StringBuffer sb = new StringBuffer(); for(int i=0; i<getIndexOfLastTGCPointOfConnector()+1; i++) { - if (tgcomponent[i] instanceof TGCPointOfConnector || tgcomponent[i] instanceof ELNMidPortTerminal) { - sb.append("<Point x=\"" + tgcomponent[i].getX() + "\" y=\"" + tgcomponent[i].getY() + "\" type=\"" + tgcomponent[i].getType() + "\" />\n"); - } + if (tgcomponent[i] instanceof TGCPointOfConnector) { + sb.append("<Point x=\"" + tgcomponent[i].getX() + "\" y=\"" + tgcomponent[i].getY() + "\" />\n"); + } } return sb; } -- GitLab