code: public Point3d rescaleBondLength(IAtom atom1, IAtom atom2, Point3d point2) {
          Point3d point1 = atom1.getPoint3d();
          Double d1 = atom1.getCovalentRadius();
          Double d2 = atom2.getCovalentRadius();
          // in case we have no covalent radii, set to 1.0
          double distance = (d1 == null || d2 == null) ? 1.0 : d1 + d2;
          if (pSet != null) {
              distance = getDistanceValue(atom1.getAtomTypeName(), atom2.getAtomTypeName());
          }
          Vector3d vect = new Vector3d(point2);
          vect.sub(point1);
          vect.normalize();
          vect.scale(distance);
          Point3d newPoint = new Point3d(point1);
          newPoint.add(vect);
          return newPoint;
      }
docs: Rescales Point2 so that length 1-2 is sum of covalent radii.
  If covalent radii cannot be found, use bond length of 1.0
  
  @param  atom1          stationary atom
  @param  atom2          movable atom
  @param  point2         coordinates for atom 2
  @return                new coordinates for atom 2