IGL_INLINE bool igl::copyleft::progressive_hulls( const Eigen::MatrixXd & V, const Eigen::MatrixXi & F, const size_t max_m, Eigen::MatrixXd & U, Eigen::MatrixXi & G, Eigen::VectorXi & J) { int m = F.rows(); Eigen::VectorXi I; return decimate( V, F, progressive_hulls_cost_and_placement, max_faces_stopping_condition(m,max_m), U, G, J, I); }
IGL_INLINE std::function<bool( const Eigen::MatrixXd &, const Eigen::MatrixXi &, const Eigen::MatrixXi &, const Eigen::VectorXi &, const Eigen::MatrixXi &, const Eigen::MatrixXi &, const std::set<std::pair<double,int> > &, const std::vector<std::set<std::pair<double,int> >::iterator > &, const Eigen::MatrixXd &, const int, const int, const int, const int, const int)> igl::max_faces_stopping_condition( int & m, const int max_m) { std::function<bool( const Eigen::MatrixXd &, const Eigen::MatrixXi &, const Eigen::MatrixXi &, const Eigen::VectorXi &, const Eigen::MatrixXi &, const Eigen::MatrixXi &, const std::set<std::pair<double,int> > &, const std::vector<std::set<std::pair<double,int> >::iterator > &, const Eigen::MatrixXd &, const int, const int, const int, const int, const int)> stopping_condition; max_faces_stopping_condition( m,max_m,stopping_condition); return stopping_condition; }