#include #include #include #include #include #include "tutorial_shared_path.h" int main(int argc, char * argv[]) { using namespace Eigen; using namespace igl::copyleft::cgal; using namespace std; using namespace igl; cout< J; switch(view_id) { case 5: // Compute result of (A ∩ B) M = {{VA,FA},{VB,FB},"i"}; J = M.J().array()+0; break; case 6: // Compute result of (C ∪ D) M = {{VC,FC},{VD,FD},"u"}; J = M.J().array()+FA.rows()+FB.rows(); break; case 7: // Compute result of (C ∪ D) ∪ E M = {{{VC,FC},{VD,FD},"u"},{VE,FE},"u"}; J = M.J().array()+FA.rows()+FB.rows(); break; case 8: // Compute result of (A ∩ B) \ ((C ∪ D) ∪ E) M = {{{VA,FA},{VB,FB},"i"},{{{VC,FC},{VD,FD},"u"},{VE,FE},"u"},"m"}; J = M.J().array()+0; break; default: assert(false && "unknown view id"); } viewer.data.set_mesh(M.cast_V(),M.F()); I.resize(M.F().rows(),1); // Compute colors based on original facets for(int f = 0;fbool { switch(key) { case ']': view_id = (view_id+1)%num_views; break; case '[': view_id = (view_id+num_views-1)%num_views; break; default: return false; } update(); return true; }; viewer.launch(); }