update using distance along line with direction