Browse Source

missing includes/templates

Alec Jacobson 5 years ago
parent
commit
39c7d33b4c

+ 1 - 1
include/igl/always_try_never_care.h

@@ -1,7 +1,7 @@
 #ifndef IGL_ALWAYS_TRY_NEVER_CARE_H
 #ifndef IGL_ALWAYS_TRY_NEVER_CARE_H
 #define IGL_ALWAYS_TRY_NEVER_CARE_H
 #define IGL_ALWAYS_TRY_NEVER_CARE_H
 #include "igl_inline.h"
 #include "igl_inline.h"
-#include "decimate.h" // for decimate_*_func types
+#include "decimate_func_types.h"
 namespace igl
 namespace igl
 {
 {
   // Outputs:
   // Outputs:

+ 1 - 1
include/igl/collapse_edge.h

@@ -9,7 +9,7 @@
 #define IGL_COLLAPSE_EDGE_H
 #define IGL_COLLAPSE_EDGE_H
 #include "igl_inline.h"
 #include "igl_inline.h"
 #include "min_heap.h"
 #include "min_heap.h"
-#include "decimate.h" // for decimate_*_func types
+#include "decimate_func_types.h"
 #include <Eigen/Core>
 #include <Eigen/Core>
 #include <vector>
 #include <vector>
 #include <set>
 #include <set>

+ 1 - 64
include/igl/decimate.h

@@ -8,73 +8,10 @@
 #ifndef IGL_DECIMATE_H
 #ifndef IGL_DECIMATE_H
 #define IGL_DECIMATE_H
 #define IGL_DECIMATE_H
 #include "igl_inline.h"
 #include "igl_inline.h"
-#include "min_heap.h"
+#include "decimate_func_types.h"
 #include <Eigen/Core>
 #include <Eigen/Core>
-#include <vector>
-#include <set>
 namespace igl
 namespace igl
 {
 {
-  // Function handles used to customize the `igl::decimate` command.
-  using decimate_cost_and_placement_func = 
-    std::function<void(
-      const int                                           ,/*e*/
-      const Eigen::MatrixXd &                             ,/*V*/
-      const Eigen::MatrixXi &                             ,/*F*/
-      const Eigen::MatrixXi &                             ,/*E*/
-      const Eigen::VectorXi &                             ,/*EMAP*/
-      const Eigen::MatrixXi &                             ,/*EF*/
-      const Eigen::MatrixXi &                             ,/*EI*/
-      double &                                            ,/*cost*/
-      Eigen::RowVectorXd &                                 /*p*/
-      )>;
-  using decimate_stopping_condition_func = 
-    std::function<bool(
-      const Eigen::MatrixXd &                             ,/*V*/
-      const Eigen::MatrixXi &                             ,/*F*/
-      const Eigen::MatrixXi &                             ,/*E*/
-      const Eigen::VectorXi &                             ,/*EMAP*/
-      const Eigen::MatrixXi &                             ,/*EF*/
-      const Eigen::MatrixXi &                             ,/*EI*/
-      const igl::min_heap< std::tuple<double,int,int> > & ,/*Q*/
-      const Eigen::VectorXi &                             ,/*EQ*/
-      const Eigen::MatrixXd &                             ,/*C*/
-      const int                                           ,/*e*/
-      const int                                           ,/*e1*/
-      const int                                           ,/*e2*/
-      const int                                           ,/*f1*/
-      const int                                            /*f2*/
-      )>;
-  using decimate_pre_collapse_func = 
-    std::function<bool(
-      const Eigen::MatrixXd &                             ,/*V*/
-      const Eigen::MatrixXi &                             ,/*F*/
-      const Eigen::MatrixXi &                             ,/*E*/
-      const Eigen::VectorXi &                             ,/*EMAP*/
-      const Eigen::MatrixXi &                             ,/*EF*/
-      const Eigen::MatrixXi &                             ,/*EI*/
-      const igl::min_heap< std::tuple<double,int,int> > & ,/*Q*/
-      const Eigen::VectorXi &                             ,/*EQ*/
-      const Eigen::MatrixXd &                             ,/*C*/
-      const int                                            /*e*/
-      )>;
-  using decimate_post_collapse_func = 
-    std::function<void(
-      const Eigen::MatrixXd &                             ,/*V*/
-      const Eigen::MatrixXi &                             ,/*F*/
-      const Eigen::MatrixXi &                             ,/*E*/
-      const Eigen::VectorXi &                             ,/*EMAP*/
-      const Eigen::MatrixXi &                             ,/*EF*/
-      const Eigen::MatrixXi &                             ,/*EI*/
-      const igl::min_heap< std::tuple<double,int,int> > & ,/*Q*/
-      const Eigen::VectorXi &                             ,/*EQ*/
-      const Eigen::MatrixXd &                             ,/*C*/
-      const int                                           ,/*e*/
-      const int                                           ,/*e1*/
-      const int                                           ,/*e2*/
-      const int                                           ,/*f1*/
-      const int                                           ,/*f2*/
-      const bool                                           /*collapsed*/
-      )>;
   // Assumes (V,F) is a manifold mesh (possibly with boundary) Collapses edges
   // Assumes (V,F) is a manifold mesh (possibly with boundary) Collapses edges
   // until desired number of faces is achieved. This uses default edge cost and
   // until desired number of faces is achieved. This uses default edge cost and
   // merged vertex placement functions {edge length, edge midpoint}.
   // merged vertex placement functions {edge length, edge midpoint}.

+ 1 - 0
include/igl/decimate_func_types.h

@@ -7,6 +7,7 @@
 // obtain one at http://mozilla.org/MPL/2.0/.
 // obtain one at http://mozilla.org/MPL/2.0/.
 #ifndef IGL_DECIMATE_FUNC_TYPES_H
 #ifndef IGL_DECIMATE_FUNC_TYPES_H
 #define IGL_DECIMATE_FUNC_TYPES_H
 #define IGL_DECIMATE_FUNC_TYPES_H
+#include <Eigen/Core>
 #include "min_heap.h"
 #include "min_heap.h"
 namespace igl
 namespace igl
 {
 {

+ 1 - 1
include/igl/infinite_cost_stopping_condition.h

@@ -8,7 +8,7 @@
 #ifndef IGL_INFINITE_COST_STOPPING_CONDITION_H
 #ifndef IGL_INFINITE_COST_STOPPING_CONDITION_H
 #define IGL_INFINITE_COST_STOPPING_CONDITION_H
 #define IGL_INFINITE_COST_STOPPING_CONDITION_H
 #include "igl_inline.h"
 #include "igl_inline.h"
-#include "decimate.h" // decimate_*_func type definitions
+#include "decimate_func_types.h"
 #include <Eigen/Core>
 #include <Eigen/Core>
 #include <vector>
 #include <vector>
 #include <set>
 #include <set>

+ 1 - 0
include/igl/is_edge_manifold.cpp

@@ -80,4 +80,5 @@ IGL_INLINE bool igl::is_edge_manifold(
 template bool igl::is_edge_manifold<Eigen::Matrix<unsigned int, -1, -1, 1, -1, -1> >(Eigen::MatrixBase<Eigen::Matrix<unsigned int, -1, -1, 1, -1, -1> > const&);
 template bool igl::is_edge_manifold<Eigen::Matrix<unsigned int, -1, -1, 1, -1, -1> >(Eigen::MatrixBase<Eigen::Matrix<unsigned int, -1, -1, 1, -1, -1> > const&);
 template bool igl::is_edge_manifold<Eigen::Matrix<int, -1, -1, 0, -1, -1> >(Eigen::MatrixBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> > const&);
 template bool igl::is_edge_manifold<Eigen::Matrix<int, -1, -1, 0, -1, -1> >(Eigen::MatrixBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> > const&);
 template bool igl::is_edge_manifold<Eigen::Matrix<int, -1, 3, 0, -1, 3> >(Eigen::MatrixBase<Eigen::Matrix<int, -1, 3, 0, -1, 3> > const&);
 template bool igl::is_edge_manifold<Eigen::Matrix<int, -1, 3, 0, -1, 3> >(Eigen::MatrixBase<Eigen::Matrix<int, -1, 3, 0, -1, 3> > const&);
+template bool igl::is_edge_manifold<Eigen::Matrix<int, -1, -1, 0, -1, -1>, Eigen::Matrix<int, -1, 1, 0, -1, 1>, Eigen::Array<bool, -1, -1, 0, -1, -1>, Eigen::Array<bool, -1, 1, 0, -1, 1> >(Eigen::MatrixBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> > const&, Eigen::Matrix<int, -1, -1, 0, -1, -1>::Index, Eigen::MatrixBase<Eigen::Matrix<int, -1, 1, 0, -1, 1> > const&, Eigen::PlainObjectBase<Eigen::Array<bool, -1, -1, 0, -1, -1> >&, Eigen::PlainObjectBase<Eigen::Array<bool, -1, 1, 0, -1, 1> >&);
 #endif
 #endif

+ 1 - 1
include/igl/max_faces_stopping_condition.h

@@ -8,7 +8,7 @@
 #ifndef IGL_MAX_FACES_STOPPING_CONDITION_H
 #ifndef IGL_MAX_FACES_STOPPING_CONDITION_H
 #define IGL_MAX_FACES_STOPPING_CONDITION_H
 #define IGL_MAX_FACES_STOPPING_CONDITION_H
 #include "igl_inline.h"
 #include "igl_inline.h"
-#include "decimate.h" // for decimate_*_func types
+#include "decimate_func_types.h"
 #include <Eigen/Core>
 #include <Eigen/Core>
 #include <vector>
 #include <vector>
 #include <set>
 #include <set>

+ 1 - 1
include/igl/qslim_optimal_collapse_edge_callbacks.h

@@ -8,7 +8,7 @@
 #ifndef IGL_QSLIM_OPTIMAL_COLLAPSE_EDGE_CALLBACKS_H
 #ifndef IGL_QSLIM_OPTIMAL_COLLAPSE_EDGE_CALLBACKS_H
 #define IGL_QSLIM_OPTIMAL_COLLAPSE_EDGE_CALLBACKS_H
 #define IGL_QSLIM_OPTIMAL_COLLAPSE_EDGE_CALLBACKS_H
 #include "igl_inline.h"
 #include "igl_inline.h"
-#include "decimate.h" // decimate_*_func type definitions
+#include "decimate_func_types.h"
 #include <Eigen/Core>
 #include <Eigen/Core>
 #include <functional>
 #include <functional>
 #include <vector>
 #include <vector>