Commit Graph

116 Commits

Author SHA1 Message Date
Laurent Rineau c504ea3e9f Fixes
- cleanup
- be careful not to add things to the documentation
2018-03-22 17:23:28 +01:00
Andreas Fabri 8c41669fb7 move properties from Mesh_3 to BGL, Polyhedron_3 and Surface_mesh 2018-03-22 16:37:37 +01:00
Laurent Rineau 78e7060525 Merge pull request #2712 from afabri/CGAL-VC+warnlevel_4-GF
Deal with VC++ warnings of level /W4
2018-02-19 14:27:06 +01:00
Maxime Gimeno c3215b9331 Move graph_has_property from namespace boost to namespace CGAL and provide some doc for it. 2018-01-22 12:43:29 +01:00
Andreas Fabri 5efce459da Mesh_3 2018-01-18 08:49:52 +00:00
Sébastien Loriot ee57fc2d6c add SPDX identifier for files under the GPL-3+ license 2017-11-12 10:17:51 +01:00
Laurent Rineau dc7c887436 Fix the compilation of <CGAL/Polyhedral_mesh_domain_3.h>
1. Create <CGAL/boost/graph/Graph_with_descriptor_with_graph_fwd.h>
     ... a forward-declaration header.

  2. Include the forward-declarations of `CGAL::Surface_mesher` and
  `CGAL::Graph_with_descriptor_with_graph`, so that the header compiles.
2017-10-13 15:57:02 +02:00
Laurent Rineau 19519adeed Fix warnings 2017-09-26 16:12:45 +02:00
Laurent Rineau 8425cc01a9 Last fixes for BGL/Surface_mesh 2017-09-18 14:56:58 +02:00
Laurent Rineau f5a0f3a587 Add operator== to Primitive 2017-09-18 14:56:57 +02:00
Laurent Rineau 799666ca7a Duplicate the examples
Now we have a `Polyhedron_3` and a `Surface_mesh` version of the
following examples:

  - `examples/Mesh_3/mesh_polyhedral_complex.cpp`
  - `examples/Mesh_3/mesh_polyhedral_domain.cpp`
2017-09-18 14:56:57 +02:00
Laurent Rineau 578889e801 Fix compilation of mesh_polyhedral_domain.cpp with Polyhedron_3 2017-09-18 14:56:57 +02:00
Laurent Rineau 151be29572 No longer use Graph_with_descriptor_with_graph<SM>
The `Polyhedral_mesh_domain` template class, now uses a specific
`AABBPrimitive` type, when used with a `FaceGraph`.
2017-09-18 14:56:57 +02:00
Laurent Rineau 42ef37d773 Change the AABB tree of Side_of_triangle_mesh
That allows to use multiple face graph in the same AABB tree.
2017-09-18 14:56:56 +02:00
Jane Tournois 56cab9458c remove extra typename 2017-08-03 16:09:52 +02:00
Jane Tournois 0c2999da30 use forward declaration include 2017-08-03 16:09:52 +02:00
Jane Tournois 77896f38fe use the AABB_tree internal to Side_of_triangle_mesh
this avoids incompatibility issues,
and simplifies the code in Polyhedral_mesh_domain_3
2017-08-03 16:09:52 +02:00
Jane Tournois 862300b609 remove extra *
and improve indentation
2017-08-03 16:09:52 +02:00
Jane Tournois 9e388204e8 use Side_of_triangle_mesh in Polyhedral_mesh_domain_3 2017-08-03 16:09:52 +02:00
Laurent Rineau abc6c0697f Fix the stupid name lookup bug from Visual C++
```
...\include\CGAL/Polyhedral_complex_mesh_domain_3.h(283): error C2248: 'CGAL::Polyhedral_mesh_domain_3<Polyhedron,IGT,TriangleAccessor,CGAL::Tag_true,CGAL::Tag_true>::IGT': cannot access private typedef declared in class 'CGAL::Polyhedral_mesh_domain_3<Polyhedron,IGT,TriangleAccessor,CGAL::Tag_true,CGAL::Tag_true>'
        with
        [
            Polyhedron=CGAL::Polyhedron_3<K,CGAL::Mesh_3::Mesh_polyhedron_items<int>,CGAL::HalfedgeDS_default,std::allocator<int>>,
            IGT=K,
            TriangleAccessor=CGAL::Triangle_accessor_3<CGAL::Polyhedron_3<K,CGAL::Mesh_3::Mesh_polyhedron_items<int>,CGAL::HalfedgeDS_default,std::allocator<int>>,K>
        ]
...\include\CGAL/Polyhedral_mesh_domain_3.h(169): note: see declaration of 'CGAL::Polyhedral_mesh_domain_3<Polyhedron,IGT,TriangleAccessor,CGAL::Tag_true,CGAL::Tag_true>::IGT'
        with
        [
            Polyhedron=CGAL::Polyhedron_3<K,CGAL::Mesh_3::Mesh_polyhedron_items<int>,CGAL::HalfedgeDS_default,std::allocator<int>>,
            IGT=K,
            TriangleAccessor=CGAL::Triangle_accessor_3<CGAL::Polyhedron_3<K,CGAL::Mesh_3::Mesh_polyhedron_items<int>,CGAL::HalfedgeDS_default,std::allocator<int>>,K>
        ]
```
2017-07-07 10:15:10 +02:00
Mael Rouxel-Labbé 1043965fe8 Removed useless includes 2017-06-28 10:14:35 +02:00
Laurent Rineau 8693ab4d1d Merge pull request #2152 from lrineau/Mesh_3-small_fixes-GF
Mesh 3: small fixes
2017-06-16 12:06:41 +02:00
Laurent Rineau f6b8ad199d More the "compatibility" specializations after the others 2017-06-12 16:45:07 +02:00
Laurent Rineau ffa9d59e5e Fix polyhedral mesh domain in untested cases 2017-06-02 17:57:08 +02:00
Andreas Fabri e77f1d4d78 Fix the demo 2017-05-31 19:50:02 +02:00
Laurent Rineau 7d34fc5dbd Add compatibility: support when Patch_id is Tag_true/Tag_false 2017-05-29 13:24:07 +02:00
Maxime Gimeno 9a3dde95ba Fix missing headers and definitions, SFINAE problems and ambiguous specialisation. 2017-05-29 13:24:06 +02:00
Maxime Gimeno 5db694c154 polyhedral domain with features works for Surface_mesh and cheese.off (Polyhedron does no longer :(
Conflicts:
	Mesh_3/include/CGAL/Polyhedral_mesh_domain_with_features_3.h
	Surface_mesh/include/CGAL/boost/graph/PMP_properties_Surface_mesh.h
2017-05-29 13:22:37 +02:00
Maxime Gimeno 451af8f3ef bglize and add property maps. polyhedral domain with features works almost for Surface_mesh
Conflicts:
	Mesh_3/include/CGAL/Mesh_polyhedron_3.h
	Mesh_3/include/CGAL/Polyhedral_mesh_domain_with_features_3.h
	Surface_mesh/include/CGAL/boost/graph/PMP_properties_Surface_mesh.h
2017-05-29 13:22:37 +02:00
Andreas Fabri 5a302c805d Make make_mesh_3() work for Surface_mesh 2017-05-29 13:22:37 +02:00
Laurent Rineau 760076510c Merge pull request #1845 from lrineau/Mesh_3-fix_detect_features-GF
Various modifications of Mesh_3
2017-02-06 15:19:31 +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
Laurent Rineau dfe8703b21 Access the bounding AABB tree 2017-01-19 11:29:42 +01:00
Laurent Rineau 2016805734 Reimplement constructors
- In `Polyhedral_mesh_domain_3`:

  - The handling of `p_rng_` is now simpler: the `Random` generator is
    only created just before its use. That reduces code duplication
    between constructors.

  - Use `add_primitives()` and `add_primitives_to_bounding_tree()`, and
    `build()` to reduce the code duplication between all constructors.

- In `Polyhedral_mesh_domain_with_features_3`:

  - All polyhedra are stored in a data member `this->stored_polyhedra`.

  - Always construct the base class without any polyhedron, then use
    `add_primitives()` and `add_primitives_to_bounding_tree()`, from
    polyhedra of `this->stored_polyhedra`.

  - All constructors are inlined in the class (now that their code is
    shorter).

  - Fix the compilation of `detect_borders()`.
2017-01-04 15:45:22 +01:00
Laurent Rineau 1b8b63c485 Reimplement detect_features using split_graph_into_polylines (1) 2016-12-30 14:51:50 +01:00
Laurent Rineau 02b22f216e Fix a compilation error
There was a compilation error if
`CGAL_MESH_3_NO_LONGER_CALLS_DO_INTERSECT_3` was undefined.
2016-10-10 18:01:20 +02:00
Laurent Rineau 06436ba2ea Fix the I/O for Polyhedral_mesh_domain_3 2016-07-11 18:09:25 +02:00
Laurent Rineau 99f004c15f Minor bug-fix in Mesh_3 2016-03-01 16:32:31 +01:00
Laurent Rineau 1179371045 Add the Create_bbox_mesh_plugin 2016-01-27 10:46:52 +01:00
Laurent Rineau 2af8d42ed3 Add bbox() to MeshDomain_3 2015-12-16 11:52:52 +01:00
Andreas Fabri 247ba0056c Include Mesh_3/global_parameters.h earlier 2015-12-02 10:59:26 +01:00
Jane Tournois 32f0c9b37b rename Point_inside_polygon_mesh to Side_of_triangle_mesh
and document it
2015-06-25 11:51:45 +02:00
Jane Tournois 6de112e4a3 move internal folder to subfolder of Polygon_mesh_processing 2015-03-16 10:04:56 +01:00
Sébastien Loriot 39f9813070 add discover_connected_component 2015-02-05 14:04:43 +01:00
Laurent Rineau 7c29e97263 Fix a segfault
There was a bug when a Polyhedral_mesh_domain_with_features_3 was
constructed with the default `Random* = 0`.
2014-07-18 16:35:43 +02:00
Laurent Rineau 3deb8e7910 Merge branch 'Mesh_3-compare_index-GF-old' into Mesh_3-compare_index-GF
Create an integration branch for 'Mesh_3-compare_index-GF': a new branch
created from 'master', where I merged the previous version of
'Mesh_3-compare_index-GF'.

There was a conflict with two features recently merged into 'master' for
CGAL-4.5:

- the move of two files from include/CGAL/Mesh_3/ to include/CGAL/. See
  the small feature:
    http://cgal.org/wiki/Features/Small_Features/New_constructor_in_Label_mesh_domain_3_and_new_function_wrapper

- parallelism for Triangulation_3 and Mesh_3:
    http://cgal.org/wiki/Features/Parallel_Mesh_3

Conflicts:
	Combinatorial_map/include/CGAL/Cell_attribute.h
	Mesh_3/include/CGAL/Implicit_mesh_domain_3.h
	Mesh_3/include/CGAL/Labeled_image_mesh_domain_3.h
	Mesh_3/include/CGAL/Mesh_3/Sliver_perturber.h
	Mesh_3/include/CGAL/Polyhedral_mesh_domain_3.h
	Mesh_3/test/Mesh_3/test_meshing_3D_image.cpp
	Mesh_3/test/Mesh_3/test_meshing_polyhedron.cpp
	Mesh_3/test/Mesh_3/test_meshing_polyhedron_with_features.cpp
	Polyhedron/demo/Polyhedron/Polyhedron_type.h
	STL_Extension/include/CGAL/Compact_container.h
	STL_Extension/test/STL_Extension/test_Compact_container.cpp

I also modified the following files during the conflict resolution:

	Linear_cell_complex/include/CGAL/Cell_attribute_with_point.h
	Mesh_3/include/CGAL/Labeled_mesh_domain_3.h
	Mesh_3/include/CGAL/Polyhedral_mesh_domain_with_features_3.h
2014-07-18 15:47:14 +02:00
Clement Jamin e3abf7fc40 Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin 2014-07-01 10:38:14 +02:00
Clement Jamin 88a66a5780 Remove get_ prefix 2014-05-22 19:10:50 +02:00
Laurent Rineau bcdfdf5335 Cleanup trailing spaces 2014-04-16 15:42:46 +02:00
Laurent Rineau 3c69735dde Fix the deletion of p_rng_ 2014-04-15 18:00:18 +02:00