Commit Graph

172 Commits

Author SHA1 Message Date
Andreas Fabri 063a91a771 Use CGAL::random_shuffle 2018-04-04 14:00:23 +01:00
Andreas Fabri 6cc385c6ec Number_types 2018-01-17 15:47:18 +00:00
Sébastien Loriot ee57fc2d6c add SPDX identifier for files under the GPL-3+ license 2017-11-12 10:17:51 +01:00
Mael Rouxel-Labbé aaeaf35380 Introduced the tag "Periodic_tag" to mark distinguish periodic triangulations 2017-08-23 16:18:05 +02:00
Mael Rouxel-Labbé 7943d0877e Fixed taking reference to temporary (ter) 2017-06-30 11:40:14 +02:00
Mael Rouxel-Labbé 02a9a91e40 Cleaned off useless 'using' 2017-06-30 11:32:07 +02:00
Mael Rouxel-Labbé 4ac89861ba Fixed (?) taking reference to temporary 2017-06-28 10:17:14 +02:00
Mael Rouxel-Labbé 8c7bda5f2d Changed from boost::function_property_map to CGAL::internal::boost_'s
This is so it's always available, even if using an old version of boost
2017-06-28 10:17:14 +02:00
Mael Rouxel-Labbé ddfc4fc0fe T2/T3 now use Perturbation_order in tests with symbolic perturbations 2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé 87e0ae40b0 Closed a parenthesis 2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé 4b556707a4 Use boost::function_property_map to apply spatial_sort to weighted points 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 47b3e7193e Comparison result should be of type Comparison_result
(it worked anyway since Comparison_result is a Sign internally)
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 94abc23da9 Adapted the call to spatial_sort() to handle weighted points
Downside: we copy points at each comparison, which is terrible! No noticeable
changes when profiling the construction of a triangulation.

We need this copy because of Lazy kernel: despite construct_point_3 having
const Point_3& construct_point_3_object()(const Point_3&)
the Lazy kernel can return some copies.

Other solutions that were not used:
-- Distinguish the Ouput type of Unary_function_to_property map depending on
   the type of Kernel (ugly and not safe)
-- Use Weighted_point_mappers traits (but that blood will not be on my hands)
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé cd9a908393 Ensured that we call kernel functions with the correct (bare) point type
Note that if the type `Point` is already `Point_3`, Construct_point_3 does not
do anything (except in the lazy kernel, but in that case, the running time is
horrible anyway).
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé ae1fb2bfec Deduce Triangulation_3's point type from the TDS
Since we have a distinc vertex_base for regular triangulations and that this
regular vertex base defines a type Point, it is redundant to get the Point
type from the Geom_traits.

This also allows to remove the Weighted_point_mapper trick, and pass more easily
custom point types.
2017-06-28 10:14:35 +02:00
Andreas Fabri 787d46ffb8 Disable Point_3(const Weighted_point_3&) 2017-06-28 10:14:35 +02:00
Laurent Rineau dce8bb77ba Merge pull request #2053 from cjamin/Mesh_3-code_improvements-cjamin
Mesh_3: code improvements + bug fix
2017-04-14 18:32:05 +02:00
Clement Jamin 6ea82bbe2a Unnecessary double "if" blocks 2017-03-09 17:46:46 +01:00
Laurent Rineau c55e391f97 WIP: works with one thread 2017-02-17 16:37:11 +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
Andreas Fabri e5e0cdd5f9 fix a typedef 2016-11-22 17:48:53 +01:00
Andreas Fabri ea50fb811d Cleanup. The 2D and 3D triangulation testsuite pass 2016-11-03 13:07:50 +01:00
Laurent Rineau 1f5fb012ba Merge pull request #1015 from afabri/Mesh_3-accelerations-GF
Accelerate vertex removal in a 3D triangulation and saving a mesh
2016-04-22 15:24:06 +02:00
Andreas Fabri abd9bfb125 std::map -> boost::unordered_map 2016-04-15 20:54:51 +02:00
Laurent Rineau 535c5bb5b2 Speed-up Triangulation_3::read_cells...
... by a factor 5 for big triangulations! The old code was using:

    std::map<size_t, Vertex_handle> V;
    std::map<size_t, Cell_handle> C;

whereas the indices are contiguous: from 0 to n. `std::vector` is a lot
better for that use case!
2016-04-06 16:03:55 +02:00
Andreas Fabri 4c477c853c Accelerete 3D version of inexact_locate as we do it for 2D 2016-02-15 10:57:59 +01:00
Clement Jamin 8f259e5dea Merge branch 'Triangulation-higher_dimensions-odevil_shornus-old' into Triangulation-higher_dimensions-odevil_shornus 2014-09-09 11:20:33 +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 aa1aa597bb Restore commit a09ed468 with a bug fix
"Thread-safe version of incident_cells and incident_facets"
2014-07-15 20:13:30 +02:00
Andreas Fabri 13bb5e38aa remove unused parameters 2014-07-09 16:02:45 +02:00
Clement Jamin da4cf8fc1d Fix gcc warnings (reorder + unused variables & typedef...) 2014-07-03 15:54:39 +02:00
Clement Jamin 0a4267b7ce Temporarily revert "Thread-safe version of incident_cells and incident_facets" 2014-07-03 15:41:02 +02:00
Clement Jamin 65e8d40e33 Fix warning 2014-07-03 09:26:25 +02:00
Clement Jamin 7af8f8b768 Fix compilation with GCC 2014-06-30 19:58:44 +02:00
Clement Jamin 82c89aa58e Fix template params 2014-06-30 15:52:24 +02:00
Clement Jamin a09ed46810 Thread-safe version of incident_cells and incident_facets 2014-06-23 10:45:26 +02:00
Clement Jamin 9f5927af61 Move function from C3T3_helpers to TDS
Move C3T3_helpers::get_incident_cells_without_using_tds_data to TDS::incident_cells_threadsafe
2014-06-23 08:21:09 +02:00
Clement Jamin 05efa677a1 Merge branch 'Triangulation-higher_dimensions-odevil_shornus-old' into Triangulation-higher_dimensions-odevil_shornus
Conflicts:
	NewKernel_d/include/CGAL/NewKernel_d/Cartesian_LA_functors.h
	NewKernel_d/test/NewKernel_d/Epick_d.cpp
2014-05-28 14:53:26 +02:00
Clement Jamin c9c8335811 More code clean-up 2014-05-27 13:46:34 +02:00
Sébastien Loriot 3fa09693a3 Merge branch 'Mesh_3-compare_index-GF-old' into Mesh_3-compare_index-GF
Conflicts:
	Mesh_3/include/CGAL/Mesh_3/Detect_features_in_polyhedra.h
	Mesh_3/include/CGAL/Mesh_domain_with_polyline_features_3.h
	Mesh_3/include/CGAL/Mesh_polyhedron_3.h
	Mesh_3/test/Mesh_3/test_meshing_polylines_only.cpp
	STL_Extension/include/CGAL/Compact_container.h
	STL_Extension/test/STL_Extension/test_Compact_container.cpp
2014-05-21 18:24:17 +02:00
Clement Jamin f3c00442fd Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin 2014-05-14 19:05:40 +02:00
Clement Jamin db3a642de4 Missing include 2014-05-14 17:35:16 +02:00
Andreas Fabri a45ed40f5d Do not use the call stack for a recursive function as it may overflow 2014-03-25 16:01:27 +01:00
Jane Tournois ffc3bdfc2f there is no need to compare "ts". Comparing Vertex_handle's is enough 2014-02-14 15:22:54 +01:00
Jane Tournois 8d7ec0ef19 use time stamps in make_canonical(vertex_triple) 2014-02-14 12:55:29 +01:00
Olivier Devillers d8197fb718 merge master and Triangulation 2013-11-29 13:40:14 +01:00
Clement Jamin 6b65ad71da Changes in the "lock data structure" concept and models
The concept is now much more generic (SurjectiveLockDataStructure).
The names have been changed accordingly.
2013-10-16 12:17:56 +02:00
Clement Jamin 5101c3d2e7 Added my name in a few places + implementation history 2013-10-15 11:14:58 +02:00
Clement Jamin 29525dfcb7 Back-quotes for could_lock_zone and true + minor fixes + replace 0 by NULL 2013-10-15 10:27:35 +02:00
Clement Jamin a173372321 Fixes for GCC + removed trailing spaces 2013-09-25 11:18:18 +02:00