public static ArrayList<Vector2D> getTriangleTriangleIntersects(Triangle A, Triangle B) {
        ArrayList<Vector2D> intersects = new ArrayList<Vector2D>();

        for (Vector2D intersect : getTriangleLineIntersects(A, B.getAB())) {
            intersects.add(intersect);
        }
        for (Vector2D intersect : getTriangleLineIntersects(A, B.getAC())) {
            intersects.add(intersect);
        }
        for (Vector2D intersect : getTriangleLineIntersects(A, B.getBC())) {
            intersects.add(intersect);
        }

        return intersects;
    }