#include #include #include #include #include #include #include int main(int argc, char * argv[]) { using namespace Eigen; using namespace std; using namespace igl; MatrixXi F; MatrixXd V; // Read in inputs as double precision floating point meshes read_triangle_mesh( TUTORIAL_SHARED_PATH "/armadillo.obj",V,F); cout<<"Creating grid..."< aliasing artifacts B = S; for_each(B.data(),B.data()+B.size(),[](double& b){b=(b>0?1:(b<0?-1:0));}); } cout<<"Marching cubes..."<bool { switch(key) { default: return false; case '1': viewer.data().clear(); viewer.data().set_mesh(V,F); break; case '2': viewer.data().clear(); viewer.data().set_mesh(SV,SF); break; case '3': viewer.data().clear(); viewer.data().set_mesh(BV,BF); break; } viewer.data().set_face_based(true); return true; }; viewer.launch(); }