|
|
@@ -169,7 +169,7 @@ IGL_INLINE void igl::direct_delta_mush_precomputation(
|
|
|
// w'_{ij} = \sum_{k=1}^{n}{C_{ki} w_{kj}} where C = (I + kappa L_bar)^{-p}:
|
|
|
// W' = C^T \times W => c^T W_k = W_{k-1} where c = (I + kappa L_bar)
|
|
|
// C positive semi-definite => ldlt solver
|
|
|
- SimplicialLDLT<SparseMatrix<DerivedW>> ldlt_W_prime;
|
|
|
+ SimplicialLDLT<SparseMatrix<Scalar>> ldlt_W_prime;
|
|
|
SparseMatrix<Scalar> c(I + kappa * L_bar);
|
|
|
// working copy
|
|
|
DerivedW W_prime(W);
|
|
|
@@ -264,23 +264,6 @@ IGL_INLINE void igl::direct_delta_mush_precomputation(
|
|
|
#ifdef IGL_STATIC_LIBRARY
|
|
|
|
|
|
// Explicit template instantiation
|
|
|
-template void
|
|
|
-igl::direct_delta_mush<Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::Matrix<double, -1, -1, 0, -1, -1> >(
|
|
|
- Eigen::MatrixBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const &,
|
|
|
- std::vector<Eigen::Transform<double, 3, 2, 0>, Eigen::aligned_allocator<Eigen::Transform<double, 3, 2, 0> > > const &,
|
|
|
- Eigen::MatrixBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const &,
|
|
|
- Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > &);
|
|
|
-
|
|
|
-template void
|
|
|
-igl::direct_delta_mush_precomputation<Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::Matrix<int, -1, -1, 0, -1, -1>, Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::Matrix<double, -1, -1, 0, -1, -1> >(
|
|
|
- Eigen::MatrixBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const &,
|
|
|
- Eigen::MatrixBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> > const &,
|
|
|
- Eigen::MatrixBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const &,
|
|
|
- Eigen::SparseMatrix<double, 0, int> const &,
|
|
|
- int,
|
|
|
- Eigen::Matrix<double, -1, -1, 0, -1, -1>::Scalar,
|
|
|
- Eigen::Matrix<double, -1, -1, 0, -1, -1>::Scalar,
|
|
|
- Eigen::Matrix<double, -1, -1, 0, -1, -1>::Scalar,
|
|
|
- Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > &);
|
|
|
-
|
|
|
+template void igl::direct_delta_mush<Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::Matrix<double, -1, -1, 0, -1, -1> >(Eigen::MatrixBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const&, std::__1::vector<Eigen::Transform<double, 3, 2, 0>, Eigen::aligned_allocator<Eigen::Transform<double, 3, 2, 0> > > const&, Eigen::MatrixBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const&, Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> >&);
|
|
|
+template void igl::direct_delta_mush_precomputation<Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::Matrix<int, -1, -1, 0, -1, -1>, Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::Matrix<double, -1, -1, 0, -1, -1> >(Eigen::MatrixBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const&, Eigen::MatrixBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> > const&, Eigen::MatrixBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const&, int, Eigen::Matrix<double, -1, -1, 0, -1, -1>::Scalar, Eigen::Matrix<double, -1, -1, 0, -1, -1>::Scalar, Eigen::Matrix<double, -1, -1, 0, -1, -1>::Scalar, Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> >&);
|
|
|
#endif
|