moveVF.cpp 646 B

12345678910111213141516171819202122
  1. #include "moveVF.h"
  2. template <typename T, typename I>
  3. IGL_INLINE void igl::moveVF(const Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> &V,
  4. const Eigen::Matrix<I, Eigen::Dynamic, Eigen::Dynamic> &F,
  5. const Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> &S,
  6. Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> &SF)
  7. {
  8. SF = Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic>::Zero(F.rows(),S.cols());
  9. for (int i = 0; i <F.rows(); ++i)
  10. for (int j = 0; j<F.cols(); ++j)
  11. SF.row(i) += S.row(F(i,j));
  12. SF.array() /= F.cols();
  13. };
  14. #ifndef IGL_HEADER_ONLY
  15. // Explicit template specialization
  16. #endif