|
|
@@ -154,13 +154,19 @@ IGL_INLINE bool igl::min_quad_with_fixed_precompute(
|
|
|
case Eigen::Success:
|
|
|
break;
|
|
|
case Eigen::NumericalIssue:
|
|
|
+#ifdef IGL_MIN_QUAD_WITH_FIXED_CPP_DEBUG
|
|
|
cerr<<"Error: Numerical issue."<<endl;
|
|
|
+#endif
|
|
|
return false;
|
|
|
case Eigen::InvalidInput:
|
|
|
+#ifdef IGL_MIN_QUAD_WITH_FIXED_CPP_DEBUG
|
|
|
cerr<<"Error: Invalid input."<<endl;
|
|
|
+#endif
|
|
|
return false;
|
|
|
default:
|
|
|
+#ifdef IGL_MIN_QUAD_WITH_FIXED_CPP_DEBUG
|
|
|
cerr<<"Error: Other."<<endl;
|
|
|
+#endif
|
|
|
return false;
|
|
|
}
|
|
|
nc = data.AeqTQR.rank();
|
|
|
@@ -225,10 +231,14 @@ IGL_INLINE bool igl::min_quad_with_fixed_precompute(
|
|
|
case Eigen::Success:
|
|
|
break;
|
|
|
case Eigen::NumericalIssue:
|
|
|
+#ifdef IGL_MIN_QUAD_WITH_FIXED_CPP_DEBUG
|
|
|
cerr<<"Error: Numerical issue."<<endl;
|
|
|
+#endif
|
|
|
return false;
|
|
|
default:
|
|
|
+#ifdef IGL_MIN_QUAD_WITH_FIXED_CPP_DEBUG
|
|
|
cerr<<"Error: Other."<<endl;
|
|
|
+#endif
|
|
|
return false;
|
|
|
}
|
|
|
data.solver_type = min_quad_with_fixed_data<T>::LLT;
|
|
|
@@ -252,10 +262,14 @@ IGL_INLINE bool igl::min_quad_with_fixed_precompute(
|
|
|
case Eigen::Success:
|
|
|
break;
|
|
|
case Eigen::NumericalIssue:
|
|
|
+#ifdef MIN_QUAD_WITH_FIXED_CPP_DEBUG
|
|
|
cerr<<"Error: Numerical issue."<<endl;
|
|
|
+#endif
|
|
|
return false;
|
|
|
default:
|
|
|
+#ifdef MIN_QUAD_WITH_FIXED_CPP_DEBUG
|
|
|
cerr<<"Error: Other."<<endl;
|
|
|
+#endif
|
|
|
return false;
|
|
|
}
|
|
|
data.solver_type = min_quad_with_fixed_data<T>::LDLT;
|
|
|
@@ -273,13 +287,19 @@ IGL_INLINE bool igl::min_quad_with_fixed_precompute(
|
|
|
case Eigen::Success:
|
|
|
break;
|
|
|
case Eigen::NumericalIssue:
|
|
|
+#ifdef MIN_QUAD_WITH_FIXED_CPP_DEBUG
|
|
|
cerr<<"Error: Numerical issue."<<endl;
|
|
|
return false;
|
|
|
+#endif
|
|
|
case Eigen::InvalidInput:
|
|
|
+#ifdef MIN_QUAD_WITH_FIXED_CPP_DEBUG
|
|
|
cerr<<"Error: Invalid Input."<<endl;
|
|
|
+#endif
|
|
|
return false;
|
|
|
default:
|
|
|
+#ifdef MIN_QUAD_WITH_FIXED_CPP_DEBUG
|
|
|
cerr<<"Error: Other."<<endl;
|
|
|
+#endif
|
|
|
return false;
|
|
|
}
|
|
|
data.solver_type = min_quad_with_fixed_data<T>::LU;
|
|
|
@@ -356,10 +376,14 @@ IGL_INLINE bool igl::min_quad_with_fixed_precompute(
|
|
|
case Eigen::Success:
|
|
|
break;
|
|
|
case Eigen::NumericalIssue:
|
|
|
+#ifdef MIN_QUAD_WITH_FIXED_CPP_DEBUG
|
|
|
cerr<<"Error: Numerical issue."<<endl;
|
|
|
+#endif
|
|
|
return false;
|
|
|
default:
|
|
|
+#ifdef MIN_QUAD_WITH_FIXED_CPP_DEBUG
|
|
|
cerr<<"Error: Other."<<endl;
|
|
|
+#endif
|
|
|
return false;
|
|
|
}
|
|
|
data.solver_type = min_quad_with_fixed_data<T>::QR_LLT;
|
|
|
@@ -465,7 +489,9 @@ IGL_INLINE bool igl::min_quad_with_fixed_solve(
|
|
|
sol = data.lu.solve(NB);
|
|
|
break;
|
|
|
default:
|
|
|
+#ifdef MIN_QUAD_WITH_FIXED_CPP_DEBUG
|
|
|
cerr<<"Error: invalid solver type"<<endl;
|
|
|
+#endif
|
|
|
return false;
|
|
|
}
|
|
|
//std::cout<<"sol=["<<std::endl<<sol<<std::endl<<"];"<<std::endl;
|