public void calcAttraction(EdgeItem e) { NodeItem n1 = e.getSourceItem(); Params n1p = getParams(n1); NodeItem n2 = e.getTargetItem(); Params n2p = getParams(n2); double xDelta = n1p.loc[0] - n2p.loc[0]; double yDelta = n1p.loc[1] - n2p.loc[1]; double deltaLength = Math.max(EPSILON, Math.sqrt(xDelta*xDelta + yDelta*yDelta)); double force = (deltaLength*deltaLength) / forceConstant; if (Double.isNaN(force)) { System.err.println("Mathematical error..."); } double xDisp = (xDelta/deltaLength) * force; double yDisp = (yDelta/deltaLength) * force; n1p.disp[0] -= xDisp; n1p.disp[1] -= yDisp; n2p.disp[0] += xDisp; n2p.disp[1] += yDisp; }
public void calcAttraction(EdgeItem e) { NodeItem n1 = e.getSourceItem(); Params n1p = getParams(n1); NodeItem n2 = e.getTargetItem(); Params n2p = getParams(n2); double xDelta = n1p.loc[0] - n2p.loc[0]; double yDelta = n1p.loc[1] - n2p.loc[1]; double deltaLength = Math.max(EPSILON, Math.sqrt(xDelta*xDelta + yDelta*yDelta)); double force = (deltaLength*deltaLength) / forceConstant; if (Double.isNaN(force)) { System.err.println("Mathematical error..."); } double xDisp = (xDelta/deltaLength) * force; double yDisp = (yDelta/deltaLength) * force; n1p.disp[0] -= xDisp; n1p.disp[1] -= yDisp; n2p.disp[0] += xDisp; n2p.disp[1] += yDisp; }
EdgeItem edge = (EdgeItem)item; VisualItem item1 = edge.getSourceItem(); VisualItem item2 = edge.getTargetItem(); VisualItem dest = forward ? e.getTargetItem() : e.getSourceItem(); int i = GraphicsLib.intersectLineRectangle(start, end, dest.getBounds(), m_isctPoints);
EdgeItem edge = (EdgeItem)item; VisualItem item1 = edge.getSourceItem(); VisualItem item2 = edge.getTargetItem(); VisualItem dest = forward ? e.getTargetItem() : e.getSourceItem(); int i = GraphicsLib.intersectLineRectangle(start, end, dest.getBounds(), m_isctPoints);
EdgeItem edge = (EdgeItem) item; VisualItem item1 = edge.getSourceItem(); VisualItem item2 = edge.getTargetItem(); Point2D end = m_tmpPoints[forward ? 1 : 0]; VisualItem dest = forward ? edge.getTargetItem() : edge.getSourceItem(); Point2D center = new Point2D.Double(dest.getBounds().getCenterX(), dest.getBounds().getCenterY()); List<Point2D> intersections = IntersectionUtil.getCircleLineIntersectionPoint(start, end, center, dest.getBounds().getWidth() / 2);
NodeItem n1 = e.getSourceItem(); ForceItem f1 = (ForceItem)n1.get(FORCEITEM); NodeItem n2 = e.getTargetItem(); ForceItem f2 = (ForceItem)n2.get(FORCEITEM); float coeff = getSpringCoefficient(e);