| 31 | } |
| 32 | |
| 33 | void IGLCSGTree::compute_symmetric_difference() { |
| 34 | IGLCSGTree* tree_1 = dynamic_cast<IGLCSGTree*>(m_tree_1.get()); |
| 35 | IGLCSGTree* tree_2 = dynamic_cast<IGLCSGTree*>(m_tree_2.get()); |
| 36 | m_igl_tree = igl::copyleft::cgal::CSGTree( |
| 37 | tree_1->m_igl_tree, tree_2->m_igl_tree, |
| 38 | igl::MESH_BOOLEAN_TYPE_XOR); |
| 39 | } |
| 40 | |
| 41 | VectorI IGLCSGTree::get_face_sources() const { |
| 42 | const auto& J = m_igl_tree.J(); |