Subject: CGAL users discussion list
List archive
- From: Hans L <>
- To:
- Subject: [cgal-discuss] Best way to optimize Nef_polyhedron unions in user code
- Date: Wed, 6 Nov 2019 17:42:06 -0600
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
- Ironport-phdr: 9a23:JEENzhXXhJzNpbOHSXpkwBkgiy7V8LGtZVwlr6E/grcLSJyIuqrYYhyHt8tkgFKBZ4jH8fUM07OQ7/m7HzVZsd3Y6TgrS99lb1c9k8IYnggtUoauKHbQC7rUVRE8B9lIT1R//nu2YgB/Ecf6YEDO8DXptWZBUhrwOhBoKevrB4Xck9q41/yo+53Ufg5EmCexbal9IRmrowjdrNQajZZhJ6o+1xfFv2ZDdvhLy29vOV+dhQv36N2q/J5k/SRQuvYh+NBFXK7nYak2TqFWASo/PWwt68LlqRfMTQ2U5nsBSWoWiQZHAxLE7B7hQJj8tDbxu/dn1ymbOc32Sq00WSin4qx2RhLklDsLOjgk+2zRl8d+jr9UoAi5qhNww4DaboKbOudgcKzBZt4aWXZNU9xNWyBdHo+xbY0CBPcBM+ZCqIn9okMDoxmkCgmqH+Pk1zlGjWLx0K0m0+QuDwHG0xYmH9IVq3nUo9D1O70TUeCx1qXH0TLDb/ZP1Dr79YPGcQghrOmSUb5sdcfd00oiGgPfglmOtYDoPCmZ2+sMvmWd8uFuT/igi3Q9pAF0ujWvxtkjio3Oho8Nz1DL7yR5wIIsKdKmVUF3fMeoEJVfuiybLYd2TcQiQ2ZnuCY+1LIKo4K0fC8PyJg/xh7fbeKIc5SQ7x79SOqcJS10iXFldb6lmRq+7UutxvfzW8S1yFpKqzBKktjItnADzRzT7c2HR+Nh/kehxzmP1xrc6udfIU0vmqrbLoQuwr80lpYJrUvDGSr2lF3sjKCKbkUk5vSo6+P/b7r6qZ+TLYt0hhjjPaQvgcywHfk4MhMVX2WA4uS91Ljj/VXjT7lQj/02lLPZsJHAKsgBqK65GVwd7oF24Bm2C3Kq0c8TgGIcBFNDYhOOyYbzaH/UJ/WtLf65mByI2GN3x/3GN7v6KprIJ3nH1rzmeOAuuAZn1AMvwIUHtNpvAbYbLaerAxOjhJnjFhY8djeM7aP/Etwkj9ERXGuOBumSN6aA6QbVtNJqGPGFYcougBi4K/Uh4KSz33owmFtYcKXwmJVLNja3GfNpJ0jfan3p0I9YQDU6+zEmRemvs2WsFDtaZnK8RaU5v2hpB4evDIOFTYeo0uWM
I am wondering if there are any tips for how to most efficiently apply
union to Nef polyhedra with CGAL. As a contributor to the OpenSCAD
project I would like to see if some improvements could be made in this
regard.
So far I have written some code to keep a min heap when multiple
objects are joined, and sort each polyhedron, (including intermediate
results) by the number of facets. So I only join the two least
complex objects at a time.
Is number_of_facets() a good metric for time complexity of performing
a union operation?
My other big question is that it feels like CGAL does unnecessary work
when asked to join two disjoint geometries. Is there a simple way to
get a bounding box for two Nef polyhedra and check if those boxes
intersect before performing a join?
Also if I were to determine that two Nef polyhedra are not touching,
is there a way to "merge" or append them into one object without
performing a full join operation?
Thanks,
Hans Loeblich
- [cgal-discuss] Best way to optimize Nef_polyhedron unions in user code, Hans L, 11/07/2019
Archive powered by MHonArc 2.6.18.