Browse Source

MASSMATRIX_* --> MASSMATRIX_TYPE_*

Former-commit-id: b0a1e235dfa057f69abb2f4145b71bd01dded660
Alec Jacobson 11 năm trước cách đây
mục cha
commit
b5b080861c

+ 2 - 2
include/igl/bbw/bbw.cpp

@@ -70,10 +70,10 @@ IGL_INLINE bool igl::bbw(
 
   SparseMatrix<typename DerivedW::Scalar> L;
   cotmatrix(V,Ele,L);
-  MassMatrixType mmtype = MASSMATRIX_VORONOI;
+  MassMatrixType mmtype = MASSMATRIX_TYPE_VORONOI;
   if(Ele.cols() == 4)
   {
-    mmtype = MASSMATRIX_BARYCENTRIC;
+    mmtype = MASSMATRIX_TYPE_BARYCENTRIC;
   }
   SparseMatrix<typename DerivedW::Scalar> M;
   SparseMatrix<typename DerivedW::Scalar> Mi;

+ 1 - 1
include/igl/boundary_vertices_sorted.cpp

@@ -56,7 +56,7 @@ IGL_INLINE void igl::boundary_vertices_sorted(
     int lastV;
     lastV = bnd[bnd.size()-1];
 
-    for (int i = 0; i < VF[lastV].size(); i++)
+    for (int i = 0; i < (int)VF[lastV].size(); i++)
     {
       int curr_neighbor = VF[lastV][i];
 

+ 2 - 2
include/igl/harmonic.cpp

@@ -27,11 +27,11 @@ IGL_INLINE bool igl::harmonic(
   switch(F.cols())
   {
     case 3:
-      massmatrix(V,F,MASSMATRIX_VORONOI,M);
+      massmatrix(V,F,MASSMATRIX_TYPE_VORONOI,M);
       break;
     case 4:
     default:
-      massmatrix(V,F,MASSMATRIX_BARYCENTRIC,M);
+      massmatrix(V,F,MASSMATRIX_TYPE_BARYCENTRIC,M);
       break;
   }
   invert_diag(M,Mi);

+ 7 - 7
include/igl/massmatrix.cpp

@@ -28,13 +28,13 @@ IGL_INLINE void igl::massmatrix(
 
   MassMatrixType eff_type = type;
   // Use voronoi of for triangles by default, otherwise barycentric
-  if(type == MASSMATRIX_DEFAULT)
+  if(type == MASSMATRIX_TYPE_DEFAULT)
   {
-    eff_type = (simplex_size == 3?MASSMATRIX_VORONOI:MASSMATRIX_BARYCENTRIC);
+    eff_type = (simplex_size == 3?MASSMATRIX_TYPE_VORONOI:MASSMATRIX_TYPE_BARYCENTRIC);
   }
 
   // Not yet supported
-  assert(type!=MASSMATRIX_FULL);
+  assert(type!=MASSMATRIX_TYPE_FULL);
 
   Matrix<int,Dynamic,1> MI;
   Matrix<int,Dynamic,1> MJ;
@@ -63,7 +63,7 @@ IGL_INLINE void igl::massmatrix(
 
     switch(eff_type)
     {
-      case MASSMATRIX_BARYCENTRIC:
+      case MASSMATRIX_TYPE_BARYCENTRIC:
         // diagonal entries for each face corner
         MI.resize(m*3,1); MJ.resize(m*3,1); MV.resize(m*3,1);
         MI.block(0*m,0,m,1) = F.col(0);
@@ -73,7 +73,7 @@ IGL_INLINE void igl::massmatrix(
         repmat(dblA,3,1,MV);
         MV.array() /= 6.0;
         break;
-      case MASSMATRIX_VORONOI:
+      case MASSMATRIX_TYPE_VORONOI:
         {
           // diagonal entries for each face corner
           // http://www.alecjacobson.com/weblog/?p=874
@@ -120,7 +120,7 @@ IGL_INLINE void igl::massmatrix(
           
           break;
         }
-      case MASSMATRIX_FULL:
+      case MASSMATRIX_TYPE_FULL:
         assert(false && "Implementation incomplete");
         break;
       default:
@@ -130,7 +130,7 @@ IGL_INLINE void igl::massmatrix(
   }else if(simplex_size == 4)
   {
     assert(V.cols() == 3);
-    assert(eff_type == MASSMATRIX_BARYCENTRIC);
+    assert(eff_type == MASSMATRIX_TYPE_BARYCENTRIC);
     MI.resize(m*4,1); MJ.resize(m*4,1); MV.resize(m*4,1);
     MI.block(0*m,0,m,1) = F.col(0);
     MI.block(1*m,0,m,1) = F.col(1);

+ 10 - 10
include/igl/massmatrix.h

@@ -5,8 +5,8 @@
 // This Source Code Form is subject to the terms of the Mozilla Public License 
 // v. 2.0. If a copy of the MPL was not distributed with this file, You can 
 // obtain one at http://mozilla.org/MPL/2.0/.
-#ifndef IGL_MASSMATRIX_H
-#define IGL_MASSMATRIX_H
+#ifndef IGL_MASSMATRIX_TYPE_H
+#define IGL_MASSMATRIX_TYPE_H
 #include "igl_inline.h"
 
 #define EIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET
@@ -18,11 +18,11 @@ namespace igl
 
   enum MassMatrixType
   {
-    MASSMATRIX_BARYCENTRIC = 0,
-    MASSMATRIX_VORONOI = 1,
-    MASSMATRIX_FULL = 2,
-    MASSMATRIX_DEFAULT = 3,
-    NUM_MASSMATRIX = 4
+    MASSMATRIX_TYPE_BARYCENTRIC = 0,
+    MASSMATRIX_TYPE_VORONOI = 1,
+    MASSMATRIX_TYPE_FULL = 2,
+    MASSMATRIX_TYPE_DEFAULT = 3,
+    NUM_MASSMATRIX_TYPE = 4
   };
 
   // Constructs the mass (area) matrix for a given mesh (V,F).
@@ -37,9 +37,9 @@ namespace igl
   //   V  #V by dim list of mesh vertex positions
   //   F  #F by simplex_size list of mesh faces (must be triangles)
   //   type  one of the following ints:
-  //     IGL_MASSMATRIX_BARYCENTRIC  barycentric
-  //     IGL_MASSMATRIX_VORONOI voronoi-hybrid {default}
-  //     IGL_MASSMATRIX_FULL full {not implemented}
+  //     MASSMATRIX_TYPE_BARYCENTRIC  barycentric
+  //     MASSMATRIX_TYPE_VORONOI voronoi-hybrid {default}
+  //     MASSMATRIX_TYPE_FULL full {not implemented}
   // Outputs: 
   //   M  #V by #V mass matrix
   //

+ 1 - 1
include/igl/svd3x3/arap.cpp

@@ -154,7 +154,7 @@ IGL_INLINE bool igl::arap_precomputation(
     const double h = data.h;
     assert(h != 0);
     SparseMatrix<double> M;
-    massmatrix(V,F,MASSMATRIX_DEFAULT,data.M);
+    massmatrix(V,F,MASSMATRIX_TYPE_DEFAULT,data.M);
     SparseMatrix<double> DQ = 0.5/(h*h)*data.M;
     Q += DQ;
     // Dummy external forces

+ 1 - 1
include/igl/svd3x3/arap_dof.cpp

@@ -262,7 +262,7 @@ IGL_INLINE bool igl::arap_dof_precomputation(
     // Build cotangent laplacian
     SparseMatrix<double> Mass;
     //printf("massmatrix()\n");
-    massmatrix(V,F,(F.cols()>3?MASSMATRIX_BARYCENTRIC:MASSMATRIX_VORONOI),Mass);
+    massmatrix(V,F,(F.cols()>3?MASSMATRIX_TYPE_BARYCENTRIC:MASSMATRIX_TYPE_VORONOI),Mass);
     //cout<<"MIJV=["<<endl;print_ijv(Mass,1);cout<<endl<<"];"<<
     //  endl<<"M=sparse(MIJV(:,1),MIJV(:,2),MIJV(:,3),"<<
     //  Mass.rows()<<","<<Mass.cols()<<");"<<endl;

+ 1 - 1
include/igl/viewer/Viewer.cpp

@@ -2022,7 +2022,7 @@ namespace igl
       return;
     //Compute mesh centroid
     Eigen::SparseMatrix<double> M;
-    igl::massmatrix(V,F,igl::MASSMATRIX_VORONOI,M);
+    igl::massmatrix(V,F,igl::MASSMATRIX_TYPE_VORONOI,M);
     const auto & MV = M*V;
     Eigen::RowVector3d centroid  = MV.colwise().sum()/M.diagonal().sum();
     Eigen::RowVector3d min_point = V.colwise().minCoeff();

+ 1 - 1
tutorial/203_CurvatureDirections/main.cpp

@@ -23,7 +23,7 @@ int main(int argc, char *argv[])
   MatrixXd HN;
   SparseMatrix<double> L,M,Minv;
   igl::cotmatrix(V,F,L);
-  igl::massmatrix(V,F,igl::MASSMATRIX_VORONOI,M);
+  igl::massmatrix(V,F,igl::MASSMATRIX_TYPE_VORONOI,M);
   igl::invert_diag(M,Minv);
   // Laplace-Beltrami of position
   HN = -Minv*(L*V);

+ 1 - 1
tutorial/205_Laplacian/main.cpp

@@ -53,7 +53,7 @@ int main(int argc, char *argv[])
       {
         // Recompute just mass matrix on each step
         SparseMatrix<double> M;
-        igl::massmatrix(U,F,igl::MASSMATRIX_VORONOI,M);
+        igl::massmatrix(U,F,igl::MASSMATRIX_TYPE_VORONOI,M);
         // Solve (M-delta*L) U = M*U
         const auto & S = (M - 0.001*L);
         Eigen::SimplicialLLT<Eigen::SparseMatrix<double > > solver(S);

+ 1 - 1
tutorial/304_LinearEqualityConstraints/main.cpp

@@ -26,7 +26,7 @@ int main(int argc, char *argv[])
   // Construct Laplacian and mass matrix
   SparseMatrix<double> L,M,Minv,Q;
   igl::cotmatrix(V,F,L);
-  igl::massmatrix(V,F,igl::MASSMATRIX_VORONOI,M);
+  igl::massmatrix(V,F,igl::MASSMATRIX_TYPE_VORONOI,M);
   igl::invert_diag(M,Minv);
   // Bi-Laplacian
   Q = L * (Minv * L);

+ 1 - 1
tutorial/305_QuadraticProgramming/main.cpp

@@ -71,7 +71,7 @@ int main(int argc, char *argv[])
   // Construct Laplacian and mass matrix
   SparseMatrix<double> L,M,Minv;
   igl::cotmatrix(V,F,L);
-  igl::massmatrix(V,F,igl::MASSMATRIX_VORONOI,M);
+  igl::massmatrix(V,F,igl::MASSMATRIX_TYPE_VORONOI,M);
   //M = (M/M.diagonal().maxCoeff()).eval();
   igl::invert_diag(M,Minv);
   // Bi-Laplacian

+ 1 - 1
tutorial/readme.md

@@ -206,7 +206,7 @@ Laplace-Beltrami operator [][#meyer_2003].
 MatrixXd HN;
 SparseMatrix<double> L,M,Minv;
 igl::cotmatrix(V,F,L);
-igl::massmatrix(V,F,igl::MASSMATRIX_VORONOI,M);
+igl::massmatrix(V,F,igl::MASSMATRIX_TYPE_VORONOI,M);
 igl::invert_diag(M,Minv);
 HN = -Minv*(L*V);
 H = (HN.rowwise().squaredNorm()).array().sqrt();