Improve the facet selection process in the demo plugin
by using the vertex incidence instead of the edge incidence.
First step toward simpler the code
Tested in CGAL-4.6-Ic-126
Approved by the release manager
Brings enhancement to the polyhedron demo:
* better handling of triangle soups -> always orientable as polyhedron
* better handling of triangulated stl files in the loader
Tested in CGAL-4.6-Ic-117
Approved by the release manager
I needed to move the Polygon_soup class inside the header as the function
added is a template function and the definition must be available in the
header
The extract polyhedron boundary now extract maximal polylines from
the set of boundary edges. End point are vertices of degree != 2
For convenience the function used to build these maximal polylines
is put into include/CGAL/boost/graph/split_graph_into_polylines.h
Tested in 4.6-Ic-76
Approved by the release manager
Fix warnings in the Polyhedron demo. The fixes are in Mesh_3,
Min_sphere_or_spheres_d, and in the Polyhedron demo itself.
Tested in CGAL-4.6-Ic-50.
Approved by the Release Manager.
Workaround a bug in g++-4.8.3 (and previous versions):
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47679
that is triggered in some cases when boost::optional is used.
Using boost::make_optional to copy-initialize 'bbox' hides the
warning about '*bbox' not being initialized. See that StackOverflow
answer:
http://stackoverflow.com/a/21755207/1728537
The warning was, for example, with g++-4.8.3:
.../test/Polyhedron_Demo/./CGAL_demo/Scene_interface.h: In member function 'virtual Scene_item::Bbox Scene_polyhedron_selection_item::bbox() const':
.../test/Polyhedron_Demo/./CGAL_demo/Scene_interface.h:32:45: warning: '*((void*)& item_bbox +44)' may be used uninitialized in this function [-Wmaybe-uninitialized]
xmax(_xmax), ymax(_ymax), zmax(_zmax)
^
In file included from .../test/Polyhedron_Demo/Scene_polyhedron_selection_item.cpp:1:0:
.../test/Polyhedron_Demo/Scene_polyhedron_selection_item.h:288:35: note: '*((void*)& item_bbox +44)' was declared here
boost::optional<CGAL::Bbox_3> item_bbox;
That bug is not yet fixed in more recent versions of g++.
The changes the interface ID declared by
demo/Mesh_3/include/CGAL_demo/Plugin_interface.h, so that the ID of
plugin interface for the Polyedron demo and the Mesh_3 are
different. That will allow to have plugins for both demos in the same
directory.
Adding functions to export the boundary of a 3D mesh embedded in a C3T3
See Features/Small_Features/Mesh_3_output_to_off
Successfully tested in CGAL-4.6-Ic-26
Approved by the interim release manager