Эх сурвалжийг харах

handle fix number of columns

Former-commit-id: 8782e7e5a8999cdec1fc744c26d239584ab9cbaa
Alec Jacobson 8 жил өмнө
parent
commit
3ae9360eeb

+ 4 - 3
include/igl/massmatrix.cpp

@@ -135,9 +135,10 @@ IGL_INLINE void igl::massmatrix(
     for(int i = 0;i<m;i++)
     {
       // http://en.wikipedia.org/wiki/Tetrahedron#Volume
-      Matrix<Scalar,3,1> v0m3 = V.row(F(i,0)) - V.row(F(i,3));
-      Matrix<Scalar,3,1> v1m3 = V.row(F(i,1)) - V.row(F(i,3));
-      Matrix<Scalar,3,1> v2m3 = V.row(F(i,2)) - V.row(F(i,3));
+      Matrix<Scalar,3,1> v0m3,v1m3,v2m3;
+      v0m3.head(V.cols()) = V.row(F(i,0)) - V.row(F(i,3));
+      v1m3.head(V.cols()) = V.row(F(i,1)) - V.row(F(i,3));
+      v2m3.head(V.cols()) = V.row(F(i,2)) - V.row(F(i,3));
       Scalar v = fabs(v0m3.dot(v1m3.cross(v2m3)))/6.0;
       MV(i+0*m) = v/4.0;
       MV(i+1*m) = v/4.0;