public static ArrayList<Vector2D> getTriangleLineIntersects(Triangle A, Line2D B) {

        ArrayList<Vector2D> intersects = new ArrayList<Vector2D>();
        ArrayList<Line2D> lines = new ArrayList<Line2D>();
        lines.add(A.getAB());
        lines.add(A.getAC());
        lines.add(A.getBC());

        for (Line2D line : lines) {

            if (!line.isValidIntersect(B)) {
                continue;
            }

            Vector2D point = getLineIntersect(line, B);
            if (line.isWithinBounds(point.getX()) && B.isWithinBounds(point.getX())) {
                intersects.add(point);
            }
        }

        return intersects;

    }