Browse Source

Clarify, fix bug in epsilon parameter in remove_duplicate_vertices

Alec Jacobson 5 years ago
parent
commit
f7067c69e9

+ 1 - 1
include/igl/remove_duplicate_vertices.cpp

@@ -27,7 +27,7 @@ IGL_INLINE void igl::remove_duplicate_vertices(
   if(epsilon > 0)
   {
     DerivedV rV,rSV;
-    round((V/(10.0*epsilon)).eval(),rV);
+    round((V/(epsilon)).eval(),rV);
     unique_rows(rV,rSV,SVI,SVJ);
     slice(V,SVI,colon<typename DerivedSVI::Scalar>(0,V.cols()-1),SV);
   }else

+ 2 - 2
include/igl/remove_duplicate_vertices.h

@@ -16,8 +16,8 @@ namespace igl
   //
   // Inputs:
   //   V  #V by dim list of vertex positions
-  //   epsilon  uniqueness tolerance (significant digit), can probably think of
-  //     this as a tolerance on L1 distance
+  //   epsilon  uniqueness tolerance used coordinate-wise: 1e0 --> integer
+  //     match, 1e-1 --> match up to first decimal, ... , 0 --> exact match.
   // Outputs:
   //   SV  #SV by dim new list of vertex positions
   //   SVI #SV by 1 list of indices so SV = V(SVI,:)