Commit Graph

294 Commits

Author SHA1 Message Date
Sébastien Loriot 456222aa81 add comment 2017-12-19 14:51:12 +01:00
Sébastien Loriot a9a85b37e6 fix compilation issues and warnings 2017-12-19 14:43:30 +01:00
Andreas Fabri ee8c0fad5d Changes after @sloriot's review 2017-12-14 10:49:02 +00:00
Laurent Rineau 7df26c594b
Merge branch 'master' into BGL-generic_property_map-GF 2017-12-14 09:46:01 +01:00
Andreas Fabri 91539a1ae1
Merge branch 'master' into BGL-fix_doc-GF 2017-12-01 12:04:15 +01:00
Andreas Fabri 2806377564 Fix Issue #2629 2017-11-30 18:17:26 +00:00
Andreas Fabri 1f8849dfea Make dynamic property API similar to the non dynamic case 2017-11-29 08:28:16 +00:00
Jane Tournois 2feb79a16b Add example for dynamic_property_map 2017-11-27 16:35:30 +00:00
Sébastien Loriot 8cdfad0d08 add missing URL and Id tags 2017-11-15 22:58:57 +01:00
Sébastien Loriot ff26773f7b remove include directive for checking GPL compliance in LGPL headers 2017-11-12 10:21:35 +01:00
Sébastien Loriot ee57fc2d6c add SPDX identifier for files under the GPL-3+ license 2017-11-12 10:17:51 +01:00
Sébastien Loriot 0698f79aff add SPDX identifier for files under the LGPL-3+ license 2017-11-12 10:17:50 +01:00
Laurent Rineau b26201f5ac Merge pull request #2535 from MaelRL/SM-Missing_explicit-GF
Surface_mesh: Added missing 'explicit' on SM_Edge_index constructor
2017-10-17 15:20:32 +02:00
Laurent Rineau 5bb1bbcb79 Merge branch 'releases/CGAL-4.10-branch' into releases/CGAL-4.11-branch 2017-10-17 15:20:04 +02:00
Mael Rouxel-Labbé b4c87b7b9c Added missing 'explicit' on SM_Edge_index constructor 2017-10-12 18:06:38 +02:00
Laurent Rineau 7e9f756935 Replace all std::unary_function by CGAL::unary_function 2017-10-04 15:57:09 +02:00
Volodymyr Boichentsov 778546c54f Cherry-pick pull request #2441 from 3D4Medical/master
Fix for compilation conflict on macOS.
2017-09-20 11:16:52 +02:00
Volodymyr Boichentsov 0189c1f0b3 Fix for compilation conflict on macOS. Error was appearing in case Surface_mesh.h was included in *.mm file 2017-09-19 10:52:53 +01:00
Laurent Rineau cef2f82bce Merge pull request #2386 from afabri/Surface_mesh-fix_doc-GF
Document breaking change
2017-09-07 17:19:34 +02:00
Andreas Fabri 1af69b33f9 Document that the mesh is no longer cleared in operator>>(istream, Surface_mesh) 2017-09-04 13:34:02 +01:00
Simon Giraudot 1b61b35c28 Reset properties when adding a new simplex 2017-08-22 14:25:04 +02:00
Simon Giraudot 484d09bec2 Add reset methods to reinitialize all properties of a specific element 2017-08-22 14:24:49 +02:00
Simon Giraudot f95b84eec4 Surface mesh: reinit connectivies when reusing garbage memory 2017-08-22 12:06:23 +02:00
Laurent Rineau fefcaa1cdd Merge pull request #2265 from afabri/Surface_mesh_set_istream_failbit-GF
Surface_mesh: Set the failbit instead of writing a warning message to std::cout
2017-07-21 10:45:41 +02:00
Laurent Rineau f8760d591b Merge pull request #2136 from afabri/Polygon_mesh_processing-accelerate_isotropic_remeshing-GF
Polygon_mesh_processing: Accelerate Isotropic_remeshing
2017-07-21 10:45:32 +02:00
Andreas Fabri 99725e77a6 fix doc 2017-07-18 17:13:18 +02:00
Andreas Fabri e6e0c11a17 Set the failbit instead of writing a warning message to std::cout 2017-07-17 16:59:06 +02:00
Laurent Rineau 4594430aac Merge pull request #2138 from sgiraudot/Point_set_processing-Las_IO-GF
Point set processing: LAS I/O
2017-07-17 12:45:24 +02:00
Laurent Rineau 89acad2d14 Merge pull request #2101 from afabri/BGL-read_write_off-GF
BGL: Add generic functions read_off() and write_off()
2017-07-17 12:45:07 +02:00
Andreas Fabri 70b13af39c Do not pollute the boost namespace 2017-07-12 12:11:34 +02:00
Andreas Fabri 886bd840cf Make the dynamic property map an implementation detail 2017-07-11 20:32:23 +02:00
Andreas Fabri c35a018135 Move add and remove of property maps in namespace internal (realizing that it is wrong to claim that it works for any FaceGraph 2017-07-11 20:31:34 +02:00
Andreas Fabri 19f3f23d25 handcrafted surface_mesh::degree() function 2017-07-11 20:31:30 +02:00
Andreas Fabri be45f81fc8 Add support for halfedges 2017-07-11 20:31:27 +02:00
Andreas Fabri 5e5a3d9e97 Add generic property map for Polyhedron_3 2017-07-11 20:31:27 +02:00
Andreas Fabri 4ff981de70 Add generic vertex/edge/face propertymap for Surface_mesh and OpenMesh 2017-07-11 20:31:27 +02:00
Simon Giraudot 09c11ca84a Add second missing :: 2017-07-11 11:58:54 +02:00
Maxime Gimeno 99b87e9839 Fix warning 2017-07-10 16:03:12 +02:00
Andreas Fabri 94d05c2af7 Make polyhedron_stitching_plugin work for Surface_mesh 2017-07-10 16:03:05 +02:00
Laurent Rineau dc2cef5f3e Merge pull request #2210 from maxGimeno/Save_as_for_SM_item-GF
Polyhedron_demo: 'Save as' for Surface_mesh items
2017-07-10 14:59:57 +02:00
Maxime Gimeno 838693d0ba Add misisng :: 2017-07-03 17:21:13 +02:00
Andreas Fabri fbe43b49a9 fix operator<<(ostream,Surface_mesh) 2017-06-30 18:13:42 +02:00
Andreas Fabri 388a7678e6 Add an undocumented manipulator which allows operator<< to dispatch OFF, PLY, etc 2017-06-30 18:13:40 +02:00
Andreas Fabri 64a7f4b66a Improve read_off fir Surface_mesh. Thank you @gdamiandgit diff 2017-06-30 18:13:40 +02:00
Andreas Fabri 232106a39d cleanup 2017-06-30 18:12:16 +02:00
Andreas Fabri d94d386f59 fix the testsuite 2017-06-30 18:12:14 +02:00
Andreas Fabri a2ed66d8ce read_off(istream&, Surface_mesh) now appends 2017-06-30 18:12:14 +02:00
Andreas Fabri f9827278a2 Document read_off(), and write_off() for Polyhedron_3 and Surface_mesh 2017-06-30 18:12:14 +02:00
Andreas Fabri 3e3c33bcf0 Add generic functions read_off() and write_off() 2017-06-30 18:12:13 +02:00
Maxime Gimeno 0111db6173 Add color writing for OFF format. Fixes Vertex_color display. 2017-06-26 16:57:01 +02:00
Mael Rouxel-Labbé 052cbc6bff Revert "Added boost::hash overloads for the other Surface_mesh index-based classes"
This reverts commit 13caf25037daff13072570bc7f54ea70c2f6f907.

Doesn't seem to actually be required...
2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé 358e438505 Fixed a mistake while rebasing 2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé 8b464899d7 Added boost::hash overloads for the other Surface_mesh index-based classes 2017-06-22 16:14:55 +02:00
Andreas Fabri f6f52e01b0 cleanup and fix of Simple_parameterization.cpp 2017-06-22 16:12:26 +02:00
Laurent Rineau 01fc5c3b33 Merge branch 'releases/CGAL-4.10-branch' 2017-06-16 11:45:45 +02:00
Laurent Rineau bececa63df Merge branch 'releases/CGAL-4.9-branch' into releases/CGAL-4.10-branch 2017-06-16 11:43:08 +02:00
Laurent Rineau 01504b06e6 Add missing headers 2017-06-08 09:49:40 +02:00
Andreas Fabri d6816a7368 Move Mesh_3 specific properties to Mesh_3 2017-05-31 16:08:26 +02:00
Andreas Fabri 4d27ea1cc5 Move selection properties to the Polyhedron demo directory as it is demo specific 2017-05-31 16:05:24 +02:00
Maxime Gimeno e379ad8524 Fix after rebase 2017-05-29 14:35:17 +02:00
Maxime Gimeno 360031a14a Restore the PMP_properties_Surface_mesh.h and remove the private copy constructor of Gwdwg to let the default one be used, as it does not allow memory. This allows Surface only meshing to work with surface_mesh. 2017-05-29 13:24:08 +02:00
Maxime Gimeno 1330777a31 Make property maps for PMP and Surface_mesh generic
Conflicts:
	Polyhedron/demo/Polyhedron/Plugins/PMP/Detect_sharp_edges_plugin.cpp
	Polyhedron/demo/Polyhedron/Scene_surface_mesh_item.h
2017-05-29 13:22:37 +02:00
Maxime Gimeno 880b6e21a2 Fixes and Clean-up.
- Move the new properties in a file in PMP and remove them from the namespace boost.
- Move the surface mesh properties from properties_Surface_mesh.h to Scene_surface_mesh_item.h
2017-05-29 13:20:39 +02:00
Maxime Gimeno 278c5b6154 Fix missing typename and template 2017-05-29 13:20:39 +02:00
Andreas Fabri b5212bd83b Make surface mesh simplification plugin work for Surface_mesh 2017-05-29 13:20:38 +02:00
Laurent Rineau 72cd1785cd Merge pull request #2086 from afabri/BGL-cgal_style_doc-GF
BGL:  doxygen doc for concepts
2017-05-29 11:16:40 +02:00
Laurent Rineau cc40bf46e4 Merge pull request #1899 from maxGimeno/Clean_up_Surface_mesh_doc-GF
Clean-up Surface_mesh doc
2017-05-11 16:05:46 +02:00
Andreas Fabri 86bc36abe1 Complete documentation 2017-04-28 11:45:16 +02:00
Andreas Fabri 8e5df1efe9 An isolated point IS a border point 2017-03-29 19:10:47 +02:00
Andreas Fabri a890b3f221 Fix #1949 2017-03-06 08:55:51 +01:00
Maxime Gimeno 3bc4308abb Remove useless doc. 2017-02-10 12:00:11 +01:00
Laurent Rineau f55950601f Merge pull request #1890 from lrineau/Surface_mesh-fix_Property_map-GF
Fix <CGAL/Surface_mesh/Properties.h> introduced by #1791
2017-02-08 17:32:35 +01:00
Laurent Rineau 13e420732c Merge pull request #1840 from afabri/BGL-reserve-GF
BGL: Add helper function reserve(G,nv,ne,nf)
2017-02-08 17:32:22 +01:00
Laurent Rineau 7b2a150e84 Fix <CGAL/Surface_mesh/Properties.h> and its uses
The PR #1791 introduced `CGAL::Point_set_3`, and factorized the
`Property_map` implementation of `Surface_mesh` into a new class
template `CGAL::Properties::Property_map<Key, T>`.

The backward compatibility was supposed to be ensured by the fact that
`Surface_mesh<Point>::Property_map<Key,T>` had
`Properties::Property_map<Key, T>` as base class. But that compatibility
was only partial, and there could be ambiguities in the calls to `get`
and `put` with those property maps.

This commit/PR renamed `Properties::Property_map` to
`Properties::Property_map_base`, and added a third parameter, used as
the `Derived` class in the CRTP used by `boost::put_get_helper`. That
way, the `get` and `put` functions are defined directory on the real
class `Surface_mesh::Property_map<Key, T>` and not on its base class.

The same has been modified in `CGAL::Point_set_3`.

That makes the use of `Property_base_base` and `Property_container` a
little trickier, but that removes several ugly non-portable hacks, like
the `reinterpret_cast` that were used to convert a pointer to base class
of the pmap to the pointer the real pmap. Now that is a lot cleaner.

I have verified that the documentation is not modified. Actually, the
PR #1791 did modify the documentation of `Surface_mesh` (see the member
method `add_property_map` for example), and this PR fixes the situation:
the documentation of `Surface_mesh` is put back to the version in
CGAL-4.9.
2017-02-08 14:33:18 +01:00
Sébastien Loriot 50510c05ea add include directive for license of all GPL header files
done using:
ack-grep "^GPL" */package_info/*/license.txt -l | awk -F "/" '{print $1}' > /tmp/gpl_packages
for i in `cat /tmp/gpl_packages | \
          grep -v Operations_on_polyhedra | \
          grep -v Algebraic_kernel_for_circles | \
          grep -v Algebraic_kernel_for_spheres | \
          grep -v Polyhedron_IO`;
do
  echo $i
  python Scripts/developer_scripts/add_license_in_pkg_header.py $i
done
python Scripts/developer_scripts/add_license_in_pkg_header.py Operations_on_polyhedra Polygon_mesh_processing
python Scripts/developer_scripts/add_license_in_pkg_header.py Algebraic_kernel_for_circles Circular_kernel_2
python Scripts/developer_scripts/add_license_in_pkg_header.py Algebraic_kernel_for_spheres Circular_kernel_3
python Scripts/developer_scripts/add_license_in_pkg_header.py Polyhedron_IO Polyhedron
2017-01-19 15:20:25 +01:00
Sébastien Loriot 6926578b15 add reserve to MutableFaceGraph 2017-01-18 18:19:25 +01:00
Simon Giraudot 1beb340550 Merge branch 'Point_set_3-GF-old' into Point_set_3-GF 2017-01-03 15:23:23 +01:00
Sébastien Loriot fe5e925367 Merge pull request #1701 from afabri/Convex_hull_3-FaceGraph-GF
Convex_hull_3: Switch to FaceGraph
2016-12-30 15:14:34 +01:00
Andreas Fabri 55c53d53f3 Surface_mesh: The get/put functions are not templated 2016-12-05 17:05:23 +01:00
Andreas Fabri d968e123ea Make indices work with Unique_hash_map 2016-11-22 12:26:26 +01:00
Simon Giraudot 22f0b2c1f8 Merge branch 'Point_set_3-GF-old' into Point_set_3-GF 2016-10-24 15:17:38 +02:00
Simon Giraudot a694c34ff2 Properties: fix types (use std::size_t everywhere it should be used) 2016-10-21 10:28:41 +02:00
Laurent Rineau 9865f19a4d Back-compatibility of Surface_mesh::Property_map 2016-10-21 10:28:40 +02:00
Simon Giraudot f80bbf517c Bugfix: creation of pmap should return false if pmap already exists 2016-10-21 10:28:40 +02:00
Simon Giraudot 7f4044bb2e Recover property values as strings + fix get to check type in addition of name 2016-10-21 10:28:39 +02:00
Simon Giraudot a1ef348e66 Revert unfortunate change in Surface_mesh 2016-10-21 10:28:39 +02:00
Simon Giraudot 1ff9ebf0e9 Return boolean instead of void to make sure property is removed 2016-10-21 10:28:39 +02:00
Simon Giraudot 1b37cbcb35 Add missing const 2016-10-21 10:28:39 +02:00
Simon Giraudot dc82631685 Update namespaces 2016-10-21 10:28:39 +02:00
Simon Giraudot 0cc14d6738 Add iterator and related methods begin() and end() 2016-10-21 10:28:38 +02:00
Simon Giraudot 1343ade651 Remove Surface_mesh as a friend class (useless) 2016-10-21 10:28:38 +02:00
Simon Giraudot 8e6dbf0e03 Reset Properties to initial state in Surface_mesh 2016-10-21 10:28:38 +02:00
Simon Giraudot a5bb805d31 Propagate namespace change in BGL 2016-10-21 10:28:38 +02:00
Simon Giraudot 6429dde647 Revert now useless modifications of Surface_mesh 2016-10-21 10:28:37 +02:00
Simon Giraudot 8e73580e3e Update change of namespace in Surface_mesh/IO.h 2016-10-21 10:28:37 +02:00
Simon Giraudot a4aaf392e6 Move properties out of Surface_mesh and update namespaces 2016-10-21 10:28:37 +02:00
Simon Giraudot de35c285b5 Update Properties.h with needed functions 2016-10-21 10:28:37 +02:00
Simon Giraudot 287d334051 Some changes in surface_mesh needed by point_set_3 2016-10-21 10:28:37 +02:00
Simon Giraudot 751b407895 Properties: fix types (use std::size_t everywhere it should be used) 2016-10-14 11:33:54 +02:00
Simon Giraudot 47a6e268a7 Add method to swap contents of 2 property containers 2016-10-11 09:08:48 +02:00