public static double getSquaredDistanceToLine(
            final double pFromX, final double pFromY,
            final double pAX, final double pAY, final double pBX, final double pBY
    ) {
        return getSquaredDistanceToProjection(pFromX, pFromY, pAX, pAY, pBX, pBY,
                getProjectionFactorToLine(pFromX, pFromY, pAX, pAY, pBX, pBY));
    }
@Test
    public void test_getSquareDistanceToLine() {
        final int xA = 100;
        final int yA = 200;
        final int deltaX = 10;
        final int deltaY = 20;
        Assert.assertEquals(0,
                Distance.getSquaredDistanceToLine(xA, yA, xA, yA, xA, yA), mDelta);
        Assert.assertEquals(deltaX * deltaX,
                Distance.getSquaredDistanceToLine(xA, yA, xA + deltaX, yA, xA + deltaX, yA), mDelta);
        Assert.assertEquals(deltaY * deltaY,
                Distance.getSquaredDistanceToLine(xA, yA, xA, yA + deltaY, xA, yA + deltaY), mDelta);
        Assert.assertEquals(20 * 20,
                Distance.getSquaredDistanceToLine(xA, yA + 20, xA, yA, xA + 100, yA), mDelta);
        Assert.assertEquals(30 * 30,
                Distance.getSquaredDistanceToLine(xA - 10, yA - 30, xA, yA, xA + 100, yA), mDelta);
        Assert.assertEquals(70 * 70,
                Distance.getSquaredDistanceToLine(xA + 200, yA - 70, xA, yA, xA + 100, yA), mDelta);
        Assert.assertEquals(7000 * 7000,
                Distance.getSquaredDistanceToLine(xA + 200, yA - 7000, xA, yA, xA + 200, yA), mDelta);
        Assert.assertEquals(7000 * 7000,
                Distance.getSquaredDistanceToLine(xA + 200, yA - 7000, xA, yA, xA + 1000, yA), mDelta);
    }