private static Intersection getIntersection(TriangleObject obj, Vector3D p, Vector3D pc) {
   DecompositionSolver solver = obj.getSolverXY();
   try {
     double[] params = {pc.getX(), pc.getY()};
     return getIntersection(obj, solver, p, pc, params);
   } catch (Exception ex) {
     solver = obj.getSolverYZ();
     try {
       double[] params = {pc.getY(), pc.getZ()};
       return getIntersection(obj, solver, p, pc, params);
     } catch (Exception e) {
       solver = obj.getSolverXZ();
       double[] params = {pc.getX(), pc.getZ()};
       return getIntersection(obj, solver, p, pc, params);
     }
   }
 }