Jane Tournois
1c1b65ae39
replace CGAL::Random& by mutable CGAL::Random for member variable type
...
and make use of const everywhere else
2014-03-25 11:39:12 +01:00
Jane Tournois
6792a899de
fix compilation of Polyhedral_mesh_domain_with_features_3
...
when a random generator which does not have the default value is chosen
2014-03-24 17:25:10 +01:00
Jane Tournois
6566c592c2
remove new template parameter RNG
...
using CGAL::Random everywhere is simpler and definitely enough
note we are using CGAL::Random& as in Random_generator_base
(see CGAL/generators.h)
2014-03-24 12:50:18 +01:00
Jane Tournois
61c245e0ea
add a random number generator (RNG) template parameter to mesh domains
...
a default value (CGAL::Random(0)) is given to avoid non-determinism
2014-03-21 10:35:01 +01:00
Jane Tournois
9f67ee99c7
Revert "sort facets and tetrahedra with indices, to get always the same file for the same mesh"
...
This reverts commit 2ab45a8514 .
It is not needed anymore because cells and vertices come in deterministic order
2014-03-18 16:45:23 +01:00
Jane Tournois
1fd86adab6
remove useless include
2014-03-18 15:37:47 +01:00
Jane Tournois
8e3bef2e87
remove useless sort (and useless diff with master)
2014-03-18 15:32:05 +01:00
Jane Tournois
c515a414e6
get verbose stuff back (it was a mistake to commit this)
2014-03-18 15:27:46 +01:00
Laurent Rineau
0554bfc6e8
Fix compilation on Linux
...
Template explicit specialization cannot be nested in a class.
http://stackoverflow.com/questions/3052579/explicit-specialization-in-non-namespace-scope
2014-03-14 14:46:14 +01:00
Jane Tournois
6b141cc848
replace hashing function when time_stamp is available
...
it used to be computed in the address of the Vertex_handle
--> not deterministic
2014-03-11 17:56:28 +01:00
Jane Tournois
11ecfe7943
these sorts are not needed anymore
...
because everything else is deterministic
2014-02-25 17:48:45 +01:00
Jane Tournois
6c0ee83719
remove more useless diffs with integration
2014-02-24 16:20:56 +01:00
Jane Tournois
bf03d6964d
remove useless diff with integration
2014-02-24 14:37:20 +01:00
Jane Tournois
4a83e56066
remove compare.h. It is not needed anymore
2014-02-21 17:29:55 +01:00
Jane Tournois
4212eb5cf7
fix warnings about ordering variables in constructor
2014-02-21 17:19:08 +01:00
Jane Tournois
d16f83ab97
output_to_medit : write in a ostream instead of ofstream (more general)
2014-02-21 16:40:39 +01:00
Jane Tournois
28f68bbfe9
add a default time_stamp_
...
to Mesh_vertex_base_3, Mesh_cell_base_3 and Compact_mesh_cell_base_3
2014-02-21 14:35:37 +01:00
Jane Tournois
22153ac273
make private the time_stamp_ variable
...
and add time_stamp() and set_time_stamp() methods everywhere
2014-02-20 16:18:49 +01:00
Jane Tournois
0740b3652f
add class Has_timestamp not to modify the API of Compact_container
...
- use the Has_timestamp operator in Compact_container
- add partial specialization to classes that need the time stamp (i.e.
Mesh_vertex_base, Compact_mesh_cell_base_3 and Mesh_cell_base_3)
- remove "ts" from classes where they were actually needed for compilation
purpose only (i.e. Kd_tree_node and Triangulation_ds_cell_base_3)
- rename "ts" to time_stamp_
2014-02-20 15:53:36 +01:00
Jane Tournois
c7eabc4f64
rename ts to time_stamp_
2014-02-20 15:46:10 +01:00
Jane Tournois
3ec781ccd2
remove useless cout's
2014-02-14 17:18:11 +01:00
Jane Tournois
2034529d10
remove useless cout
2014-02-14 17:16:50 +01:00
Jane Tournois
6f88ef05c0
get perturbers back
2014-02-14 17:16:18 +01:00
Jane Tournois
0e7ddc7fe7
make ts local
2014-02-14 13:12:59 +01:00
Jane Tournois
5d40dcfd4a
remove cout
2014-02-14 12:54:13 +01:00
Andreas Fabri
422c7b87f7
debug printouts
2014-02-13 19:46:40 +01:00
Andreas Fabri
1fb697f162
Add compare.h
2014-02-13 19:46:39 +01:00
Jane Tournois
723281d3ec
make facet dual segment orientation deterministic, to compute always exactly the same intersection with domain
2014-02-13 19:46:37 +01:00
Jane Tournois
44fa8f7a93
compute distances in a canonical order to make ODT deterministic
2014-02-13 19:46:36 +01:00
Jane Tournois
f4ae054d81
compute volume and centroid of cell by taking the points always in the same order to improve consistency
2014-02-13 19:46:35 +01:00
Andreas Fabri
83546c53b1
Add a time stamp in vertices and cells of triangulations and polyhedra
...
and use this for operator< of handles in order to make mesh generation
deterministic
2014-02-13 19:46:34 +01:00
Jane Tournois
2ab45a8514
sort facets and tetrahedra with indices, to get always the same file for the same mesh
2014-02-13 19:46:30 +01:00
Jane Tournois
4d47194a7b
Merge branch 'Mesh_3-fix_perturber_slivers_empty_bug-GF-rebased'
...
This branch fixes a bug in the sliver perturber.
It introduces some new data structures to backup the metadata
stored in cells before each perturbation. This allows to
recover these data without recomputing them in case the move
is reverted.
The bug fix comes from the fact that rec-omputed values might
have been different after the move from what they were before the
move, in a tetrahedron which is the same but for which the
Cell_handle is new.
Approved by the release manager.
2014-02-06 11:24:41 +01:00
Laurent Rineau
bfbe63275a
Define macros to 1 instead of empty values
...
In <CGAL/Mesh_3/config.h>, the macro are defined to 1, and no longer
defined to empty values.
2014-02-04 14:31:28 +01:00
Laurent Rineau
874e96a553
Fix a bug of the bissection oracle (Labeled_mesh_domain_3)
...
In CGAL-4.2 and previous, when a facet f was between finite cells c1,
and c2, with different subdomain indices, the surface patch index of f
was the pair { c1->subdomain_index(), c2->subdomain_index() }, say the
pair (1, 2). Since CGAL-4.3, with
CGAL_MESH_3_NO_LONGER_CALLS_DO_INTERSECT_3, the Do_intersect functor of
the domain is no longer called, and only Construct_intersection. If the
bissection eventually found out that the bissection ended up between the
volumes labeled 1 and 3, then the returned surface patch index was
{1,3}, instead of {1,2}. That commit fixes that "bug", and restores
the behavior of CGAL-4.2.
2014-02-04 12:33:59 +01:00
Laurent Rineau
2a86c88732
Add an assertion
2014-02-03 18:18:05 +01:00
Laurent Rineau
777b7e8800
Fix whitespace, in three lines
2014-02-03 17:44:27 +01:00
Laurent Rineau
2189f6e3d3
Fix a warning (unused local typedef)
2014-02-03 17:43:48 +01:00
Laurent Rineau
9fd6f2c539
Fix a compilation error
...
When CGAL_MESH_3_NO_LONGER_CALLS_DO_INTERSECT_3 is not defined (it is
defined by default by <CGAL/Mesh_3/config.h>), there was a compilation
error.
2014-02-03 17:40:41 +01:00
Jane Tournois
f0b11abe87
Merge branch 'Mesh_3-fix_perturber_slivers_empty_bug-GF-rebased' of ssh://scm.cgal.org/var/git/cgal into Mesh_3-fix_perturber_slivers_empty_bug-GF-rebased
2014-01-31 17:33:43 +01:00
Jane Tournois
136f0ef1d1
avoid removing cells and facets twice from c3t3
...
these will be removed by move_point_topo_change_conflict_zone_known
anyway
2014-01-31 17:32:17 +01:00
Jane Tournois
c0423f1da0
remove a function which has become useless
2014-01-31 17:24:33 +01:00
Laurent Rineau
652347ba8d
Better version of verify_surface()
...
It now checks if the surface patch index of a facet has changed. And it
only call the checker once per facet, instead of two.
2014-01-31 16:47:13 +01:00
Laurent Rineau
680e0bfe49
New options and result types for Update_c3t3::operator()
...
- Update_c3t3::operator()(Cell_handle) returns a
boost::optional<Subdomain_index> instead of a Boolean.
- Update_c3t3::operator()(Facet) returns a
boost::optional<Surface_patch_index> instead of a Boolean.
- Update_c3t3::operator()(Facet) gets a new option that allows to update
the facet surface center, without updating the c3t3 itself.
2014-01-31 16:39:08 +01:00
Laurent Rineau
c833ffc2e1
Additional assertion in restore_from_cells_backup
...
When restore_from_cells_backup() is called, one verifies that all the
backuped values are used.
2014-01-31 14:43:18 +01:00
Laurent Rineau
7b9a9ce50c
Merge remote-tracking branch 'origin/Mesh_3-fix_perturber_slivers_empty_bug-GF-rebased' into Mesh_3-fix_perturber_slivers_empty_bug-GF-rebased
...
Conflicts:
Mesh_3/include/CGAL/Mesh_3/C3T3_helpers.h
2014-01-31 14:29:38 +01:00
Jane Tournois
53b5ea0a27
complete Update_c3t3 with remove_from_complex when appropriate
2014-01-31 14:27:57 +01:00
Laurent Rineau
d497281da1
Rename a variable 'vertex' to 'old_vertex' for consistency
2014-01-31 14:27:52 +01:00
Jane Tournois
93d89ed8c4
complete update of c3t3
...
using Update_c3t3 or restore_from_cells_backup, allow updaters
to remove cells and facets from the c3t3
2014-01-31 11:41:27 +01:00
Jane Tournois
c2d55d967e
fix update_mesh_no_topo_change
...
valid_move(c3t3_cells(conflict_cells)) was computed using the outdated
c3t3-ness of cells
Now c3t3 update is done iff the surface has not been broken, and
new sliver_criterion values are computed on updated cells
2014-01-31 11:31:01 +01:00