double CCopasiSpringLayout::potReactionCompartment(const CLReactionGlyph & r, const CLCompartmentGlyph & c) const { double tmp = 0; double dist = fabs((r.getX() + 0.5 * r.getWidth()) - (c.getX() + 0.5 * c.getWidth())); if (dist > (0.5 * c.getWidth() - 50)) tmp += pow(dist - 0.5 * c.getWidth() + 50, 2); dist = fabs((r.getY() + 0.5 * r.getHeight()) - (c.getY() + 0.5 * c.getHeight())); if (dist > (0.5 * c.getHeight() - 50)) tmp += pow(dist - 0.5 * c.getHeight() + 50, 2); return tmp /**s.charge*/; //TODO reintroduce charge }