#include "cdt.h" #include "../bounding_box.h" #include "../triangle/triangulate.h" #include "../remove_duplicate_vertices.h" #include "../remove_unreferenced.h" template < typename DerivedV, typename DerivedE, typename DerivedWV, typename DerivedWF, typename DerivedWE, typename DerivedJ> IGL_INLINE void igl::triangle::cdt( const Eigen::MatrixBase & V, const Eigen::MatrixBase & E, const std::string & flags, Eigen::PlainObjectBase & WV, Eigen::PlainObjectBase & WF, Eigen::PlainObjectBase & WE, Eigen::PlainObjectBase & J) { assert(V.cols() == 2); assert(E.cols() == 2); //MatrixX2S BV; //Eigen::MatrixXi BE; //igl::bounding_box(V,BV,BE); //WV.resize(V.rows()+BV.rows(),2); //WV< keep = (WE.array().col(0) != WE.array().col(1)); WE = WE(keep,Eigen::all).eval(); // c flag must be present igl::triangle::triangulate(DerivedWV(WV),WE,DerivedWV(),flags,WV,WF); Eigen::VectorXi UJ; igl::remove_unreferenced(DerivedV(WV),Eigen::MatrixXi(WF),WV,WF,UJ); for(int i=0;i, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, std::basic_string, std::allocator > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); // generated by autoexplicit.sh template void igl::triangle::cdt, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, std::basic_string, std::allocator > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); #endif