Commit Graph

955 Commits

Author SHA1 Message Date
Clement Jamin 201ab5f9be We need to copy facet's surface center too
(cherry picked from commit 32f7f5fd610481512ee626df4fd08249a31a8938)
2014-10-08 10:51:55 +02:00
Laurent Rineau 90f02e7c73 Merge branch 'Mesh_3-fix_with_time_stamps-GF' into releases/CGAL-4.5-branch
Fix a bug in Mesh_3, when timestamps are used to compare Vertex_handle
and Cell_handle. The bug was in the class
Protect_edges_sizing_field. Once a vertex is removed from a
triangulation, the timestamp of the Vertex can change. That means that
it invalidates any future use of the original Vertex_handle.

Bug-fix for CGAL-4.5, approved by the Release Manager.
2014-10-06 12:41:31 +02:00
Laurent Rineau 9e586da1e6 Revert two commits.
Revert "Add longer tests, with other data"
Revert "Verbose testsuite. Should be reverted later."

This reverts commit 0f592d8e0a.
This reverts commit a8e6764c97.
2014-10-03 17:13:49 +02:00
Laurent Rineau a8e6764c97 Add longer tests, with other data
So far, that shows bugs.
2014-10-03 16:39:04 +02:00
Laurent Rineau 798db08a11 Make sure the functor is Assignable
A boost::function_output_iterator requires that its template argument is
Assignable. See:
http://www.boost.org/doc/libs/1_56_0/libs/iterator/doc/function_output_iterator.html#function-output-iterator-requirements
If one stores a non-const reference, then the class is not
Assignable. Store a pointer instead.
2014-10-03 16:26:43 +02:00
Laurent Rineau 99462e7faa Fix missing header 2014-10-03 16:26:33 +02:00
Laurent Rineau eefe2012c0 Bug-fix in Mesh_3 with time stamps
The implementation of the class template Protect_edges_sizing_field was
not correct when time stamps are used for Vertex_handle. The issue is
that the time stamp of a vertex change when one do:
  tr.remove(v);
  v = tr.insert(point);
The vertex pointed by 'v' is re-used by the TDS, but the time stamp of
the vertex does change.
2014-10-02 17:04:51 +02:00
Jane Tournois 354959972c bug fix in restoration of Cell data after revert_move
we still don't backup infinite cells because the infinite vertex does not have
a proper vertex ID (i.e. meshing_info())
However the facet data should be restored in Delaunay-restricted facets that
belong to an infinite cell (i.e. mirror facets of restricted facets that
belong to the convex hull)
2014-09-30 16:51:34 +02:00
Sébastien Loriot 3616d28c86 typedef instead of using 2014-09-25 14:10:38 +02:00
Sébastien Loriot 024bd2724f add output_facets_in_complex_to_off and update test and demo 2014-09-24 12:05:02 +02:00
Sébastien Loriot 684104c032 add 2 overloads of output_boundary_of_c3t3_to_off in the C3T3 class
also update the demo plugin to use one of them
2014-09-24 08:26:18 +02:00
Sébastien Loriot e4e65dceda import file to write the surface of a subdomain into a file
use it in the demo, with writting in a .off for now
2014-09-24 08:26:18 +02:00
Laurent Rineau 36d8b5bd18 Convert source files encoding to utf-8
All non-ASCII files should be encoded in UTF-8. So far, the ZSH script
`Scripts/developer_scripts/detect_wrong_encoding` detects wrong encoding
in source/header files of include/, src/, and doc/.
2014-08-01 11:20:13 +02:00
Clement Jamin e4a1efc3e8 Fix "unused variable" warnings 2014-07-24 11:46:08 +02: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
Laurent Rineau d0570871e7 Fix a warning 2014-07-16 17:06:11 +02:00
Clement Jamin deb6edcb1f Wrong variable name. 2014-07-16 17:05:22 +02:00
Clement Jamin dad9162352 Missing "using" 2014-07-16 17:04:47 +02:00
Clement Jamin 2dd27c4d13 Fix a (minor) data race on the circumcenter cache 2014-07-16 16:35:31 +02:00
Clement Jamin 6f7587c6dd Fix small differences between master and Mesh_3-parallel 2014-07-16 14:13:40 +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
Clement Jamin db6db80096 Fix identation 2014-07-15 18:11:31 +02:00
Laurent Rineau 64fe2b3f8e Remove warnings 2014-07-10 14:46:12 +02:00
Laurent Rineau 19158bac27 Remove warnings about unused parameters 2014-07-10 14:41:42 +02:00
Andreas Fabri b63488b0e9 remove unused parameters 2014-07-09 16:15:54 +02:00
Andreas Fabri 3aefde776a Move a function body in the class definition to avoid an ICE with VC12 2014-07-09 15:30:16 +02:00
Clement Jamin 39b2b6379b Forgot an #ifdef 2014-07-08 20:47:37 +02:00
Clement Jamin 93fc2bfdfc Bug fix (ref to a temporary object) 2014-07-08 20:19:51 +02:00
Clement Jamin 1946b4fecd Atomics can't be initialized in initializer list 2014-07-08 17:55:55 +02:00
Clement Jamin e5c89d7139 Use atomics for the perturbation timers
To fix later: the timer are wrong on the parallel version because each threads
counts and adds the CPU time to the total time
2014-07-08 16:27:25 +02:00
Clement Jamin 01b81c5bcb Fix GCC compilation 2014-07-08 16:17:51 +02:00
Clement Jamin bebed84a3b Forgot to commit the main file 2014-07-08 15:49:48 +02:00
Clement Jamin 078e89f55f Add the possibility to remove the far points
The far points are added by the parallel version to reduce the contention
on the infinite vertex
2014-07-08 15:37:59 +02:00
Clement Jamin 0cb9945e58 The far points are now further + minor fixes 2014-07-07 20:56:48 +02:00
Clement Jamin b5a5a82930 Use s_iterator_to 2014-07-07 19:07:46 +02:00
Clement Jamin 4c02082a71 Remove unused variables 2014-07-07 16:36:54 +02:00
Clement Jamin bc4cb0d3f3 Fix data race in verbose mode 2014-07-07 12:03:57 +02:00
Clement Jamin a3db71cc20 Remove warnings 2014-07-04 09:31:27 +02:00
Clement Jamin f19c4b29d8 Fix MSVC warnings 2014-07-03 16:18:48 +02:00
Clement Jamin c641904fad Merge branch 'Mesh_3-parallel-cjamin' of ssh://scm.cgal.org/var/git/cgal into Mesh_3-parallel-cjamin 2014-07-03 16:18:02 +02:00
Clement Jamin 0e4c8e54cd Fix a few other warnings 2014-07-03 15:57:35 +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 5af7535de9 Fix warning (MSVC) 2014-07-03 13:39:11 +02:00
Clement Jamin 8d9fd85f61 Forgot to replace boost::get 2014-07-02 17:16:34 +02:00
Clement Jamin 1be95efcd5 Replace boost::tuple by CGAL::cpp11::tuple 2014-07-02 17:07:54 +02:00
Clement Jamin 982f140911 Use tbb::task_scheduler_init::default_num_threads...
... instead of boost:🧵:hardware_concurrency
2014-07-02 15:10:34 +02:00
Clement Jamin a35a5df4ac Add missing #ifdef/#endif 2014-07-02 10:50:30 +02:00
Clement Jamin 9c4d6d6bef Fix compilation with GCC 2014-07-01 16:46:30 +02:00
Clement Jamin a0948a9dac Remove the "domain" parameter of the exuder
It had been added for the parallel version, but it's not needed anymore
2014-07-01 11:34:40 +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 3abcd888e6 Do not add far points in sequential mode 2014-06-30 19:56:17 +02:00
Clement Jamin b84224d9ec Only add far vertices if the C3T3 is empty 2014-06-25 20:07:09 +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 a181490bff Fix clang compilation 2014-06-19 17:01:13 +02:00
Clement Jamin 451e6e9cff Missing typename/using/etc. 2014-06-13 13:46:12 +02:00
Clement Jamin 1a8bc68ade Fixed compilation with GCC + removed useless template params 2014-06-12 17:27:14 +02:00
Clement Jamin 6fa129c630 is_XXX_locked + missing lock 2014-06-06 10:32:31 +02:00
Clement Jamin 58f82a58eb Fix Update_facet functor
It is only used when CGAL_INTRUSIVE_LIST is not defined,
so it hadn't been properly tested.
2014-06-05 17:15:22 +02:00
Clement Jamin d6693f3319 Replaced some C++11 lambda functions by functors 2014-06-04 16:46:20 +02:00
Clement Jamin 23e1ac17b3 Added "const" to the "move_point_XXX" function family 2014-06-04 16:45:09 +02:00
Clement Jamin 40d597594e Add reset_sliver_cache call in the parallel version 2014-06-04 11:51:56 +02:00
Clement Jamin 7145f7db0b Replaced some C++11 lambda functions by functors +change mutex (static=>member) 2014-06-03 18:18:12 +02:00
Clement Jamin 52e83256ec last_cell_ should be private, not protected 2014-06-03 18:16:38 +02:00
Clement Jamin e176240e31 Replaced some C++11 lambda functions by functors 2014-06-02 12:52:53 +02:00
Clement Jamin a8df04b794 Moved the functor 2014-06-02 10:41:42 +02:00
Clement Jamin de1ae6e608 Replaced C++11 lambda function by functor 2014-05-28 18:57:28 +02:00
Clement Jamin f2ad628aee Replaced C++11 lambda function by functor 2014-05-28 16:29:24 +02:00
Clement Jamin dc808a81cb Replaced C++11 lambda function by functor 2014-05-27 17:21:18 +02:00
Clement Jamin 2f78d27bd3 Code clean-up 2014-05-27 13:21:16 +02:00
Clement Jamin d2f2f9c482 Remove temporary test code 2014-05-27 13:19:45 +02:00
Clement Jamin 0b74b6a8c4 Use s_iterator_to 2014-05-27 13:15:19 +02:00
Clement Jamin cfae6c3bca Remove assertion which is not valid in parallel 2014-05-27 13:14:42 +02:00
Clement Jamin de485dfc10 Use s_iterator_to and remove the constructor I had added temporarily 2014-05-23 17:17:16 +02:00
Clement Jamin d130b32702 Clean-up 2014-05-23 15:48:49 +02:00
Clement Jamin 5b7549f2fd Remove get_ prefix 2014-05-23 15:48:21 +02:00
Clement Jamin 6a2739845b Bugfix: v is needed outside the if block 2014-05-23 15:45:58 +02:00
Clement Jamin ca2a2878b4 Clean-up temporary/debug code 2014-05-23 15:34:27 +02:00
Clement Jamin 5576570846 Clean-up temporary/debug code 2014-05-23 14:42:51 +02:00
Clement Jamin 88a66a5780 Remove get_ prefix 2014-05-22 19:10:50 +02:00
Clement Jamin f2f83135eb Fix previous commit: one #ifdef and one ":" were missing 2014-05-22 18:57:41 +02:00
Clement Jamin 9b2162b2a9 Make Boost.Program_options optionnal 2014-05-22 17:49:44 +02:00
Sébastien Loriot 6dd5949933 remove extra template parameter 2014-05-22 11:25:05 +02:00
Sébastien Loriot 23adab2cd2 add random generator to forwarding constructors
the two argument version was accidently removed in 1c1b65ae
2014-05-22 10:55:26 +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
Aymeric PELLE 9f11f46077 Merge branch 'Periodic_3_mesh_3-Extended_mesh_3-MBogdanov'
This small feature adds a new constructor in Labeled_mesh_domain_3 and
a new function wrapper. A Labeled_mesh_domain_3 can be built from an
Iso_cuboid_3 now.
(cf. https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/New_constructor_in_Label_mesh_domain_3_and_new_function_wrapper)
The new wrapper, Implicit_multi_domain_to_labeling_function_wrapper, is a
helping class to get a function with integer values labeling the
components of a multi-domain. This small feature was successfully tested in
the internal release CGAL-4.5-Ic-45.
Approved by the Release Manager.

Conflicts:
	Installation/changes.html
2014-05-21 18:01:42 +02:00
Sébastien Loriot cbd50574e4 clean up comments, include and copyright 2014-05-21 12:08:12 +02:00
Clement Jamin a942d057fe Better error message 2014-05-20 20:07:16 +02:00
Clement Jamin 27dccd8710 Missing CGAL_ prefix 2014-05-20 19:14:55 +02:00
Aymeric PELLE 566ad109eb Use CGAL macros for indicating deprecated headers. 2014-05-16 13:40:49 +02:00
Clement Jamin 319680fc97 Use unordered_set instead of set 2014-05-15 14:53:41 +02:00
Laurent Rineau 1ec6cd429a Be able to deal with Patch_id=pair<int,int>
So far, the files
  <CGAL/Mesh_3/Detect_features_in_polyhedra.h>
  <CGAL/Mesh_polyhedron_3.h>
were assuming that the Patch_id was an integral type. Now they assumes
that it is either an integral type, or a pair of integral types.
2014-05-15 10:57:03 +02:00
Aymeric PELLE 09e56c5bfd Fix some warnings for Windows.
In the deprecated class Implicit_vector_to_labeled_function_wrapper,
an implicit conversion from an unsigned int to a signed int caused a warning.
On windows, pragma message needs parenthesis.
2014-05-14 19:42:04 +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 6682dc8781 Remove temporary error message. 2014-05-14 17:26:12 +02:00
Aymeric PELLE 0fd7474b06 Add two pragmas because the warning macro isn't available with all platforms. 2014-05-13 19:47:08 +02:00
Jane Tournois e97506adb7 Merge branch 'Triangulation_3-regular_cell_base_with_circumcenter-GF'
Resolve conflicts in Mesh_3/include/CGAL/Mesh_3/config.h

This branch implements the small feature described here :
https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/circumcenter%28%29_in_RT3_cell_base

It makes consistent implementations of dual(cell) in RT3 and DT3 :
they both return cell->circumcenter(gt) now

Approved by the release manager
2014-05-13 14:52:13 +02:00
Laurent Rineau 80ec1ff80b Merge branch 'Mesh_3-fix_Mesh_3_CGAL_4.3-lrineau'
Fix bugs introduced in CGAL-4.3.

Tested in CGAL-4.5-Ic-35

Approved by the release manager
2014-05-12 14:42:40 +02:00