#include #include #include #include #include int main(int argc, char * argv[]) { IGL_TICTOC_LAMBDA; Eigen::MatrixXd P; Eigen::MatrixXi C; igl::readDMAT(argc>1?argv[1]: TUTORIAL_SHARED_PATH "/libigl-cursive-P.dmat",P); igl::readDMAT(argc>1?argv[2]: TUTORIAL_SHARED_PATH "/libigl-cursive-C.dmat",C); igl::opengl::glfw::Viewer vr; // Cheezy conversion of (P,C) to polyline using 50 samples per curve const int ns = 50; Eigen::MatrixXd V(ns*C.rows(),P.cols()); Eigen::MatrixXi E((ns-1)*C.rows(),2); for(int c = 0;c0) { E.row(c*(ns-1) + (i-1))<< c*ns + (i-1), c*ns + i; } } } Eigen::MatrixXd B1,B2; igl::cycodebase::box_cubic(P,C,B1,B2); Eigen::MatrixXd BV(C.rows()*4,2); BV<< B1.col(0), B1.col(1), B1.col(0), B2.col(1), B2.col(0), B2.col(1), B2.col(0), B1.col(1); Eigen::MatrixXi BE(C.rows()*4,2); for(int c = 0;c