ソースを参照

fix debug compile bug

Alec Jacobson 2 年 前
コミット
5c17f85621
2 ファイル変更17 行追加4 行削除
  1. 12 3
      include/igl/is_vertex_manifold.cpp
  2. 5 1
      include/igl/is_vertex_manifold.h

+ 12 - 3
include/igl/is_vertex_manifold.cpp

@@ -17,7 +17,7 @@
 
 template <typename DerivedF,typename DerivedB>
 IGL_INLINE bool igl::is_vertex_manifold(
-  const Eigen::PlainObjectBase<DerivedF>& F,
+  const Eigen::MatrixBase<DerivedF>& F,
   Eigen::PlainObjectBase<DerivedB>& B)
 {
   using namespace std;
@@ -95,7 +95,16 @@ IGL_INLINE bool igl::is_vertex_manifold(
   return all;
 }
 
+template <typename DerivedF>
+IGL_INLINE bool igl::is_vertex_manifold(
+  const Eigen::MatrixBase<DerivedF>& F)
+{
+  Eigen::Array<bool,Eigen::Dynamic,1> B;
+  return is_vertex_manifold(F,B);
+}
+
 #ifdef IGL_STATIC_LIBRARY
-template bool igl::is_vertex_manifold<Eigen::Matrix<int, -1, -1, 0, -1, -1>, Eigen::Matrix<int, -1, 1, 0, -1, 1> >(Eigen::PlainObjectBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> > const&, Eigen::PlainObjectBase<Eigen::Matrix<int, -1, 1, 0, -1, 1> >&);
-template bool igl::is_vertex_manifold<Eigen::Matrix<int, -1, -1, 0, -1, -1>, Eigen::Matrix<int, -1, -1, 0, -1, -1> >(Eigen::PlainObjectBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> > const&, Eigen::PlainObjectBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> >&);
+template bool igl::is_vertex_manifold<Eigen::Matrix<int, -1, -1, 0, -1, -1>, Eigen::Matrix<int, -1, 1, 0, -1, 1> >(  Eigen::MatrixBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> > const&, Eigen::PlainObjectBase<Eigen::Matrix<int, -1, 1, 0, -1, 1> >&);
+template bool igl::is_vertex_manifold<Eigen::Matrix<int, -1, -1, 0, -1, -1>, Eigen::Matrix<int, -1, -1, 0, -1, -1> >(Eigen::MatrixBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> > const&, Eigen::PlainObjectBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> >&);
+template bool igl::is_vertex_manifold<Eigen::Matrix<int, -1, -1, 0, -1, -1>>(Eigen::MatrixBase<Eigen::Matrix<int, -1, -1, 0, -1, -1>> const&);
 #endif

+ 5 - 1
include/igl/is_vertex_manifold.h

@@ -26,8 +26,12 @@ namespace igl
   /// \see is_edge_manifold
   template <typename DerivedF,typename DerivedB>
   IGL_INLINE bool is_vertex_manifold(
-    const Eigen::PlainObjectBase<DerivedF>& F,
+    const Eigen::MatrixBase<DerivedF>& F,
     Eigen::PlainObjectBase<DerivedB>& B);
+  /// \overload
+  template <typename DerivedF>
+  IGL_INLINE bool is_vertex_manifold(
+    const Eigen::MatrixBase<DerivedF>& F);
 }
 
 #ifndef IGL_STATIC_LIBRARY