Commit Graph

1977 Commits

Author SHA1 Message Date
Jane Tournois b9f4a4e06b implement number_of_corners(), that is documented 2018-03-23 11:54:53 +01:00
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
Mael Rouxel-Labbé 8646350d47 Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2018-03-15 14:42:21 +01:00
Andreas Fabri 5d1cd90517 Add two typename 2018-03-05 14:17:26 +00:00
Laurent Rineau da744ba852
Fix a warning
```
[ 50%] Building CXX object CMakeFiles/generic_random_test.dir/generic_random_test.cpp.o
/usr/local/bin/c++   -DCGAL_TEST_SUITE=1 -DCGAL_USE_GMP -DCGAL_USE_MPFR -I/home/cgal_tester/build/src/cmake/platforms/Ubuntu-latest-GCC6-CXX1z/test/Generator/../../include -isystem /usr/include/x86_64-linux-gnu -I/home/cgal_tester/build/src/cmake/platforms/Ubuntu-latest-GCC6-CXX1z/test/Generator -I/home/cgal_tester/build/src/cmake/platforms/Ubuntu-latest-GCC6-CXX1z/include -I/mnt/testsuite/include  -DDONT_USE_BOOST_PROGRAM_OPTIONS -Wall -Wextra -std=c++1z -frounding-math   -Wall -frounding-math -o CMakeFiles/generic_random_test.dir/generic_random_test.cpp.o -c /home/cgal_tester/build/src/cmake/platforms/Ubuntu-latest-GCC6-CXX1z/test/Generator/generic_random_test.cpp
In file included from /mnt/testsuite/include/CGAL/Mesh_3/vertex_perturbation.h:35,
                 from /mnt/testsuite/include/CGAL/Mesh_3/Sliver_perturber.h:48,
                 from /mnt/testsuite/include/CGAL/perturb_mesh_3.h:35,
                 from /mnt/testsuite/include/CGAL/optimize_mesh_3.h:32,
                 from /mnt/testsuite/include/CGAL/refine_mesh_3.h:39,
                 from /mnt/testsuite/include/CGAL/make_mesh_3.h:35,
                 from /home/cgal_tester/build/src/cmake/platforms/Ubuntu-latest-GCC6-CXX1z/test/Generator/generic_random_test.cpp:9:
/mnt/testsuite/include/CGAL/Mesh_3/C3T3_helpers.h: In member function 'void CGAL::Mesh_3::C3T3_helpers<C3T3, MeshDomain>::Cell_data_backup::backup_finite_cell(const Cell_handle&)':
/mnt/testsuite/include/CGAL/Mesh_3/C3T3_helpers.h:1431:48: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
         const int ii = static_cast<const int>(i);//avoid warnings
                                                ^
```
https://cgal.geometryfactory.com/CGAL/testsuite/CGAL-4.12-Ic-186/Generator/TestReport_lrineau_Ubuntu-latest-GCC6-CXX1z.gz
2018-02-28 13:45:03 +00:00
Mael Rouxel-Labbé d9168d011c Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2018-02-23 18:24:39 +01:00
Mael Rouxel-Labbé c28e05be0c Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2018-02-23 12:50:06 +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
Laurent Rineau c3ad015f51 Merge pull request #2823 from afabri/Mesh_3-undocumented_function_for_FEniCS-GF
Mesh_3: Add access function to the stored polyhedra
2018-02-19 14:26:40 +01:00
Laurent Rineau 9d227d0fba Merge pull request #2758 from maxGimeno/BGL-Document_graph_has_property-GF
BGL: Document graph_has_property
2018-02-19 14:26:33 +01:00
Andreas Fabri 07b0ddf9a5 Fix disable/enable warnings; Fix indentation 2018-02-13 14:15:38 +00:00
Sébastien Loriot 483f69728e Refresh branch 2018-02-12 22:21:38 +01:00
Andreas Fabri 39526dd16f Mesh_3: Add access function to the stored polyhedra for the FeniCS project 2018-02-12 16:00:14 +00:00
Laurent Rineau 66b19d9cb5 Merge pull request #2779 from lrineau/Mesh_3-fix_bugs-GF
Mesh_3: fix bugs in undocumented code
2018-02-02 16:07:53 +01:00
Laurent Rineau f310fc588d
Merge pull request #2690 from sgiraudot/Classification-ETHZ_random_forest-GF
Classification: ETHZ Random Forest
2018-02-01 17:35:30 +01:00
Laurent Rineau f2bc9d6b62 Fix merge_duplicated_points
`Union_find` is required to merge correct patch ids.
2018-02-01 17:07:35 +01:00
Laurent Rineau 50865f38e8 Fix a compilation error with CGAL_MESH_3_PROTECTION_HIGH_VERBOSITY 2018-02-01 17:07:12 +01:00
Andreas Fabri 4ef0bdbcb6 Suppress this warning not globally in disable_warnings.h 2018-01-24 14:21:16 +00:00
Andreas Fabri f25b6b9b52 cast 2018-01-24 13:10:37 +00:00
Andreas Fabri dc2f37a4ae disable/enable warnings 2018-01-24 08:59:20 +00:00
Simon Giraudot 6269309d86 Use CGAL include for boost counting/transform iterators everywhere 2018-01-23 11:09:52 +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
Laurent Rineau 87ddddf04b Merge pull request #2278 from maxGimeno/Integrate_remeshing_plugin_into_mesh_3-GF
Polyhedron_demo: Remove the Remeshing_plugin
2018-01-19 15:22:41 +01:00
Andreas Fabri 5efce459da Mesh_3 2018-01-18 08:49:52 +00:00
Laurent Rineau 5e7ad51345 Merge pull request #2681 from lrineau/Mesh_3-fix_CGAL_SEQUENTIAL_MESH_3_ADD_OUTSIDE_POINTS_ON_A_FAR_SPHERE-GF
Mesh_3: fix CGAL_SEQUENTIAL_MESH_3_ADD_OUTSIDE_POINTS_ON_A_FAR_SPHERE
2018-01-17 10:43:30 +01:00
Maxime Gimeno 81800eb937 Add a feature to the Mesh_3_plugin that allows to create a Facegraph_item when performing a surface_meshing. 2018-01-15 11:17:37 +01:00
Mael Rouxel-Labbé 5a559d88d2 Avoid one call to 'at' 2018-01-08 10:42:47 +01:00
Laurent Rineau 42b11ddf29 Revert the merge of PR #2478
This reverts the merge commit 46cc91e787 onto
488c3e2879.
2018-01-04 17:54:08 +01:00
Mael Rouxel-Labbé 0d0bcc687b Fixed warning 2017-12-20 16:02:59 +01:00
Mael Rouxel-Labbé 9667bb7618 Added Is_in_domain and Construct_initial_points to periodic's Labeled_mesh_domain 2017-12-20 11:39:22 +01:00
Mael Rouxel-Labbé 9d923cf30d Fixed namespace order issue sneaking through the master merge 2017-12-19 17:31:23 +01:00
Mael Rouxel-Labbé 0bca01d872 Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2017-12-19 17:22:03 +01:00
Laurent Rineau 14b810d87c Merge pull request #2680 from lrineau/Mesh_3-improve_polylines_to_protect-GF
Fix a compilation error (on CentOS5)
2017-12-19 16:31:00 +01:00
Mael Rouxel-Labbé d2ece33849 Documented Mesh_3's and P3M3's medit IO function 2017-12-19 15:44:26 +01:00
Mael Rouxel-Labbé 27fce35ca1 Fixed warning 2017-12-16 12:52:10 +01:00
Mael Rouxel-Labbé 2f09c7a8d7 Tiny debug code change 2017-12-15 20:22:51 +01:00
Mael Rouxel-Labbé c6f58bce4e Reworked the way periodicity is defined
The input domain does not need to be periodic. It is the domain class that
has to handle the periodicity. This is cleaner mathematically and will be
more natural for other types of domains.

Along the way, the labeled periodic domain is brought up to date with Mesh_3's
(bug fixes, null subdomain index, etc.)
2017-12-15 17:25:42 +01:00
Mael Rouxel-Labbé f222d0fd13 Tiny indentation fix 2017-12-15 16:25:53 +01:00
Mael Rouxel-Labbé 4a172154f3 Changed Mesh_options' number_of_initial points to have '-1' as default
'0' is now considered a valid number of input points. This is useful
for P3M3 because it might be impossible to construct initial points.

This also aligns with the default value in the C3T3_initializer class.
2017-12-15 16:25:29 +01:00
Laurent Rineau 8bd5896baf Fix Mesh_3 if that macro is defined
With recent changes, Mesh_3 was no longer compiler with
`CGAL_SEQUENTIAL_MESH_3_ADD_OUTSIDE_POINTS_ON_A_FAR_SPHERE` defined.

This commit fixes the compilation issue.
2017-12-13 18:10:09 +01:00
Laurent Rineau a3b979e0b8 Fix a compilation error (on CentOS5) 2017-12-13 16:50:40 +01:00
Mael Rouxel-Labbé 9e1567d2ef Disabled medit-dumping in c3t3_dump if the triangulation is not periodic 2017-12-13 16:17:22 +01:00
Mael Rouxel-Labbé 0e71201778 Renamed template parameters to avoid conflicts with base class typedefs 2017-12-12 11:25:27 +01:00
Mael Rouxel-Labbé 7ea60dc613 Removed 'FT' from Slivers_exuder parameters
It's redundant and creates issues since Slivers_exuder's base has a 'FT' typedef
2017-12-12 00:48:27 +01:00
Mael Rouxel-Labbé 22f59fa514 Added a postcondition 2017-12-12 00:45:51 +01:00
Mael Rouxel-Labbé 0fcc6c0d29 Mesh_3 criteria: Changed code from 'Badness' to 'Is_bad' to align with concept
Code using "*_badness" (specification from CGAL < 3.7) is no longer accepted.
2017-12-08 11:32:12 +01:00
Mael Rouxel-Labbé 671fe63cfa Cleaned output 2017-12-06 11:00:18 +01:00
Mael Rouxel-Labbé 34d53aa2d9 Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2017-12-05 20:32:30 +01:00
Mael Rouxel-Labbé a309861d25 Renamed functor 2017-12-05 18:38:37 +01:00
Mael Rouxel-Labbé 0c0a6942f8 Uninitiliazed vertices must be filtered due to triangulations of dim < 3 2017-12-05 18:37:50 +01:00
Mael Rouxel-Labbé b54a24481b Added a comment 2017-12-05 18:34:40 +01:00
Mael Rouxel-Labbé 3a6bb213d4 Restored comment 2017-12-05 18:32:40 +01:00
Mael Rouxel-Labbé 00f6a874e2 Minor doc fixes 2017-12-05 18:32:30 +01:00
Mael Rouxel-Labbé 1e9dc4968d Partial revert of 7f4d85ff3dff786583e5aa4c13a98a8d3938e485
Doesn't make sense to use the hash function to compare handles. Compilation
would show it... but the class is unused / untested
2017-12-05 18:31:05 +01:00
Mael Rouxel-Labbé 31ef3f601d Removed useless references 2017-12-05 18:30:41 +01:00
Laurent Rineau c961014fb4 Merge pull request #2583 from lrineau/Mesh_3-improve_polylines_to_protect-GF
Mesh 3: improve polylines_to_protect()
2017-12-05 18:19:47 +01:00
Mael Rouxel-Labbé b7479f352c no_topological_change() always returns 'false' for periodic triangulations
see comment in the code.
2017-12-05 16:36:15 +01:00
Mael Rouxel-Labbé 666a143361 Cleaned periodic code from no_topological_change() 2017-12-05 16:35:50 +01:00
Mael Rouxel-Labbé c7297410e3 Minor improvements to tet soup reading 2017-12-05 15:48:51 +01:00
Mael Rouxel-Labbé 14d8540c82 Enhanced medit output for periodic meshes
(looks exactly like Mesh_3's now)
2017-12-04 16:09:18 +01:00
Laurent Rineau 9e99cf7d59 Fix a warning
```
In file included from .../include/CGAL/Mesh_3/polylines_to_protect.h:34:0,
                 from /home/cgal_tester/build/src/cmake/platforms/Fedora-32/test/Mesh_3_Examples/mesh_3D_image_with_features.cpp:40:
.../include/CGAL/internal/Mesh_3/Graph_manipulations.h: In instantiation of 'CGAL::internal::Mesh_3::Graph_manipulations<Graph, Point_3, NT, InterpolationFunctor>::Graph_manipulations(Graph&, InterpolationFunctor) [with Graph = boost::adjacency_list<boost::setS, boost::vecS, boost::undirectedS, CGAL::Point_3<CGAL::Epick>, boost::no_property, boost::no_property, boost::listS>; Point_3 = CGAL::Point_3<CGAL::Epick>; NT = unsigned char; InterpolationFunctor = CGAL::internal::Mesh_3::Returns_midpoint<CGAL::Epick, unsigned char>]':
.../include/CGAL/Mesh_3/polylines_to_protect.h:255:63:   required from 'void CGAL::polylines_to_protect(const CGAL::Image_3&, double, double, double, std::vector<std::vector<IC> >&, Image_word_type*, Null_subdomain_index, DomainFunctor, InterpolationFunctor, PolylineInputIterator, PolylineInputIterator) [with P = CGAL::Point_3<CGAL::Epick>; Image_word_type = unsigned char; Null_subdomain_index = CGAL::Null_subdomain_index; DomainFunctor = CGAL::Identity<unsigned char>; InterpolationFunctor = CGAL::internal::Mesh_3::Returns_midpoint<CGAL::Epick, unsigned char>; PolylineInputIterator = __gnu_cxx::__normal_iterator<std::vector<CGAL::Point_3<CGAL::Epick>, std::allocator<CGAL::Point_3<CGAL::Epick> > >*, std::vector<std::vector<CGAL::Point_3<CGAL::Epick>, std::allocator<CGAL::Point_3<CGAL::Epick> > > > >]'
.../include/CGAL/Mesh_3/polylines_to_protect.h:802:5:   required from 'void CGAL::polylines_to_protect(const CGAL::Image_3&, std::vector<std::vector<IC> >&, Image_word_type*, Null_subdomain_index, PolylineInputIterator, PolylineInputIterator) [with P = CGAL::Point_3<CGAL::Epick>; Image_word_type = unsigned char; Null_subdomain_index = CGAL::Null_subdomain_index; PolylineInputIterator = __gnu_cxx::__normal_iterator<std::vector<CGAL::Point_3<CGAL::Epick>, std::allocator<CGAL::Point_3<CGAL::Epick> > >*, std::vector<std::vector<CGAL::Point_3<CGAL::Epick>, std::allocator<CGAL::Point_3<CGAL::Epick> > > > >]'
.../include/CGAL/Mesh_3/polylines_to_protect.h:780:5:   required from 'void CGAL::polylines_to_protect(const CGAL::Image_3&, std::vector<std::vector<IC> >&, PolylineInputIterator, PolylineInputIterator) [with P = CGAL::Point_3<CGAL::Epick>; Image_word_type = unsigned char; PolylineInputIterator = __gnu_cxx::__normal_iterator<std::vector<CGAL::Point_3<CGAL::Epick>, std::allocator<CGAL::Point_3<CGAL::Epick> > >*, std::vector<std::vector<CGAL::Point_3<CGAL::Epick>, std::allocator<CGAL::Point_3<CGAL::Epick> > > > >]'
/home/cgal_tester/build/src/cmake/platforms/Fedora-32/test/Mesh_3_Examples/mesh_3D_image_with_features.cpp:62:71:   required from here
.../include/CGAL/internal/Mesh_3/Graph_manipulations.h:49:10: warning: 'CGAL::internal::Mesh_3::Graph_manipulations<boost::adjacency_list<boost::setS, boost::vecS, boost::undirectedS, CGAL::Point_3<CGAL::Epick>, boost::no_property, boost::no_property, boost::listS>, CGAL::Point_3<CGAL::Epick>, unsigned char, CGAL::internal::Mesh_3::Returns_midpoint<CGAL::Epick, unsigned char> >::g' will be initialized after [-Wreorder]
   Graph& g;
          ^
.../include/CGAL/internal/Mesh_3/Graph_manipulations.h:48:24: warning:   'CGAL::internal::Mesh_3::Returns_midpoint<CGAL::Epick, unsigned char> CGAL::internal::Mesh_3::Graph_manipulations<boost::adjacency_list<boost::setS, boost::vecS, boost::undirectedS, CGAL::Point_3<CGAL::Epick>, boost::no_property, boost::no_property, boost::listS>, CGAL::Point_3<CGAL::Epick>, unsigned char, CGAL::internal::Mesh_3::Returns_midpoint<CGAL::Epick, unsigned char> >::interpolate' [-Wreorder]
   InterpolationFunctor interpolate;
                        ^~~~~~~~~~~
.../include/CGAL/internal/Mesh_3/Graph_manipulations.h:51:3: warning:   when initialized here [-Wreorder]
   Graph_manipulations(Graph& g,
   ^~~~~~~~~~~~~~~~~~~
```
2017-12-04 11:38:46 +01:00
Mael Rouxel-Labbé 5e810e3c09 Replaced std::map with unordered map + timestamp hash function 2017-12-01 19:07:55 +01:00
Mael Rouxel-Labbé f867ba1742 Added a safeguard to not call front() on a emtpy bimap
and a print function for pre stars
2017-12-01 18:36:05 +01:00
Mael Rouxel-Labbé c6a91e3281 Misc minor changes 2017-12-01 18:33:05 +01:00
Mael Rouxel-Labbé 811b722d13 Renamed incident_vertices to adjacent_vertices 2017-12-01 09:02:38 +01:00
Mael Rouxel-Labbé 8a9750709b Moved the timestamp hash function to STL_extension (and rewrote it) 2017-12-01 08:44:12 +01:00
Mael Rouxel-Labbé b92519370b Minor changes to c3t3 io
Main change: don't segfault if a tet id is erroneously larger
than the max vertex id
2017-11-30 17:11:30 +01:00
Mael Rouxel-Labbé b00e65ec67 Fixed missing parameters in some "do_is_bad" 2017-11-30 17:01:33 +01:00
Mael Rouxel-Labbé ba3a59ed5a Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2017-11-30 15:54:00 +01:00
Mael Rouxel-Labbé 11f35f57ed Reworked how the periodic protection class is selected
Rather than overwriting Mesh_3's, a virtual function is used in the initializer.
This allows to use Mesh_3 along Periodic_3_mesh_3.
2017-11-30 15:15:07 +01:00
Mael Rouxel-Labbé 1078e00e7f Uniformized between Mesh_3::internal and internal::Mesh_3 2017-11-30 14:26:12 +01:00
Mael Rouxel-Labbé e996e173da Fixed considering infinite vertices in 3D images initialization 2017-11-30 11:26:28 +01:00
Mael Rouxel-Labbé 9b8c5cd824 Another batch of v->point() --> tr.point(v) 2017-11-29 17:48:55 +01:00
Mael Rouxel-Labbé 0434f3c81d Cleaned off useless variable 2017-11-29 16:33:31 +01:00
Mael Rouxel-Labbé 45e93cacfd Misc minor changes 2017-11-29 16:32:05 +01:00
Mael Rouxel-Labbé 78133c5100 Replaced usages of '.weight()' in Mesh_3 and P3M3
Either through the comparison predicate or the weight constructor.
2017-11-29 16:30:34 +01:00
Mael Rouxel-Labbé 23385b440d Fixed typo 2017-11-29 12:33:35 +01:00
Mael Rouxel-Labbé 67fde8ea05 Misc minor changes 2017-11-28 15:25:52 +01:00
Mael Rouxel-Labbé b352e0870d Fixed not checking if result of find is end() 2017-11-27 17:42:05 +01:00
Mael Rouxel-Labbé ce0c2afd40 Readability changes
Increasing reader sanity, one commit at a time
2017-11-24 11:19:21 +01:00
Mael Rouxel-Labbé 812109df83 Added Mesh_3_regular_triangulation_3_wrapper
This wrapper around Regular_triangulation_3 adds undocumented, straightforward
functions which are required for Mesh_3 because of Periodic_3_mesh_3:
they are functions for which both (periodic and non-periodic) triangulations
have fundamentally different implementations, usually because Periodic_3_mesh_3
does not know the offset of a point and must brute-force check all
possibilities. To allow Periodic_3_mesh_3 to use Mesh_3's files,
each mesh triangulation implements its own version.
2017-11-22 14:23:59 +01:00
Mael Rouxel-Labbé 1ef2b24dd4 Cleaned some comments/output 2017-11-22 14:15:05 +01:00
Mael Rouxel-Labbé b25a4f1151 Added an assertion to detect bad inputs earlier 2017-11-22 14:11:51 +01:00
Mael Rouxel-Labbé 3a1a07706f Replaced hash function in a set of vertex handles 2017-11-22 11:59:55 +01:00
Mael Rouxel-Labbé dc5c6d4395 Fixed sq_distance_to_closest_vertex for triangulations of dim < 3 2017-11-22 11:59:00 +01:00
Mael Rouxel-Labbé b1e2f3cb04 Clarified comment 2017-11-22 11:58:39 +01:00
Mael Rouxel-Labbé 722fa7496f Cleaned some periodic-related stuff from Mesh_3 2017-11-22 11:05:44 +01:00
Mael Rouxel-Labbé 6567be18e7 Fixed operator << for Mesh_surface_cell_base_3 2017-11-22 10:55:07 +01:00
Mael Rouxel-Labbé e32acca794 Made *_visitor_with_balls compatible with P3RT3 2017-11-22 10:39:07 +01:00
Mael Rouxel-Labbé aa43fbf1f4 Fixed typo 2017-11-22 10:13:01 +01:00
Mael Rouxel-Labbé 32d06ed73a Minor cleaning 2017-11-22 10:04:16 +01:00
Mael Rouxel-Labbé 582742b105 Moved timestamp_hash_fct from internal::mesh_3 to mesh_3::internal 2017-11-22 09:58:55 +01:00
Mael Rouxel-Labbé d1a6d1c4c6 Rewrote 'facets_in_complex_3_to_triangle_mesh'
-- There is no need for two loops
-- Use unordered containers
-- There is no need to check for degeneracies because the same vertex handle
   cannot appear twice
-- Cleaned file and related test file
-- Properly reserve space for containers
-- Made it compatible with periodic_3_mesh_3
2017-11-21 18:17:27 +01:00
Mael Rouxel-Labbé 1affc98dd1 Added class Timestamp_hash_function
Provides hashes for Vertex_handle-like classes. The hash will be based on
the timestamp member if the vertex has one, and on its memory address otherwise.
2017-11-21 17:22:39 +01:00
Mael Rouxel-Labbé aadddba985 Fixed a couple of "an h..." that should have been "a h..." 2017-11-21 17:15:25 +01:00
Mael Rouxel-Labbé 816fd4f646 Doc improvements
and trailing whitespace cleaning
2017-11-21 14:26:02 +01:00
Mael Rouxel-Labbé 07d6ce363d Cleaned some obsolete todos 2017-11-20 17:35:24 +01:00
Mael Rouxel-Labbé 837d685ae0 Forked Protect_edges_sizing_field.h away from Mesh_3
Can't figure out how to do it directly within the original file without making
things slower for Mesh_3... Fork!
2017-11-20 15:54:22 +01:00
Mael Rouxel-Labbé 5177bc5985 Reverted use of tr.tr.nearest_power_vertex_with_sq_distance
Periodic_3_mesh_3 now uses a forked version of this file, so there is no need
to use functions that are both in periodic and non-periodic meshes
2017-11-20 15:49:35 +01:00
Mael Rouxel-Labbé ecf9e64f56 Misc minor changes 2017-11-20 15:12:43 +01:00
Mael Rouxel-Labbé 828bdcd60c Change_ball_size() now uses the squared radius in parameters
Avoids some calls to sqrt
2017-11-20 15:10:27 +01:00
Mael Rouxel-Labbé d7a18ff31a Changed macro to lessen verbosity 2017-11-19 14:52:02 +01:00
Mael Rouxel-Labbé 0c65d0fdcb Fixed trailing whitespace 2017-11-19 12:48:01 +01:00
Mael Rouxel-Labbé 2fe8553414 Fixed typo 2017-11-19 12:47:44 +01:00
Mael Rouxel-Labbé 4fcfed50ad Added number_of_corners to Mesh_complex_3_in_triangulation_3.h 2017-11-19 12:46:54 +01:00
Mael Rouxel-Labbé f3931d5877 Misc minor changes 2017-11-17 18:42:34 +01:00
Mael Rouxel-Labbé 302b3c24fe Introduced signatures for periodic triangulations 2017-11-17 18:28:34 +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 39e4fdd3ed add missing SPDX identifiers 2017-11-12 10:21:27 +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
Mael Rouxel-Labbé c33fa46593 Misc minor changes (mostly v->point() to tr.point(v)) 2017-11-11 21:46:14 +01:00
Mael Rouxel-Labbé 1aa938e6ba Minor change to avoid recomputing square roots 2017-11-11 21:42:19 +01:00
Mael Rouxel-Labbé 5027a49f5f Replaced call to Kernel::Compute_squared_distance_3 with triangulation method
Needed for P3M3
2017-11-11 21:41:25 +01:00
Mael Rouxel-Labbé 8bbd79d5d2 Simplified the handling of vertices of the conflict zone 2017-11-11 21:38:13 +01:00
Mael Rouxel-Labbé e1d09b140a Added 'nearest_power_vertex_with_sq_distance'
Which returns, in addition to the power vertex, the squared distance
to this nearest power vertex

Done to avoid a call to tr.min_squared_distance() which is costly for P3M3
2017-11-10 17:49:07 +01:00
Mael Rouxel-Labbé 717b97c004 Replaced code with a call to 'do_balls_intersect' 2017-11-10 16:23:06 +01:00
Mael Rouxel-Labbé 9c67d36de3 Used 'visited_for_vertex_extractor' to avoid sets 2017-11-10 16:22:03 +01:00
Mael Rouxel-Labbé c6bfad0a74 Detailed the hash function to be used in boost::unordered_set 2017-11-10 16:18:55 +01:00
Laurent Rineau f686b140cf Add ASCII-art "pictures" to comment the code 2017-11-10 16:09:31 +01:00
Mael Rouxel-Labbé bc9ffac0e7 Renamed 'get_min_distance_to_closest_vertex' to clarify it is a squared distance 2017-11-10 12:48:28 +01:00
Mael Rouxel-Labbé e3a9aba841 Used get_distance_to_closest_vertex instead of finite_adjacent_vertices
Needed for P3M3 that can't use finite_adjacent_vertices to efficiently compute
distances.

Might deteriorate runtime but get_distance_to_closest_vertex can be made faster
if needed.
2017-11-10 12:43:00 +01:00
Mael Rouxel-Labbé fbe92de25c Moved get_distance_to_closest_vertex() to Triangulation_helpers
and prepared Triangulation_helpers to be called by unweighted triangulations
2017-11-10 12:29:13 +01:00
Mael Rouxel-Labbé e08eea02d0 Replaced some vh->point() to tr.point(vh) 2017-11-10 12:27:30 +01:00
Mael Rouxel-Labbé b9b73b51f3 Cleaned includes of Protect_edges_sizing_field 2017-11-10 12:25:55 +01:00
Mael Rouxel-Labbé dad74ae1f2 Hid some debug code with macros 2017-11-10 11:38:20 +01:00
Mael Rouxel-Labbé fb8c3e8a27 Fixed warning about lack of virtual destructor 2017-11-10 11:34:34 +01:00
Mael Rouxel-Labbé 4dc0053b1a Fixed point type 2017-11-10 11:33:20 +01:00
Mael Rouxel-Labbé 9e6f6afdc4 Fixed doc & comment in refine_mesh_3_impl 2017-11-10 11:32:50 +01:00
Mael Rouxel-Labbé 7298bf0882 Replaced double by FT where appropriate in Slivers_exuder.h 2017-11-10 11:31:45 +01:00
Laurent Rineau 79418f2f43 prepare the introduction of DomainFunctor and InterpolationFunctor 2017-11-09 20:45:11 +01:00
Laurent Rineau 539097d732 Use a struct instead of a tuple
That way the access to fields is clearer: `.point` instead of `get<1>(..)`.
2017-11-09 18:39:26 +01:00
Laurent Rineau be3fa5ba1f Factorize debug output 2017-11-09 18:34:23 +01:00
Mael Rouxel-Labbé 9986746f88 Fixed typos 2017-11-09 15:15:05 +01:00
Mael Rouxel-Labbé e344f7fde2 Removed unused and confusing "move_point()" function 2017-11-09 09:22:14 +01:00
Laurent Rineau 3630aa32df Debug output 2017-11-07 17:32:59 +01:00
Laurent Rineau 2910c5d009 Support 2D images 2017-11-07 17:32:47 +01:00
Mael Rouxel-Labbé 943327fe86 Cleaned some M3/P3M3 code 2017-11-06 15:36:30 +01:00
Mael Rouxel-Labbé a19800874d Fixed compilation and removed unused variable 2017-11-06 15:00:27 +01:00
Mael Rouxel-Labbé 78b32eb91b Fixed trailing whitespace (no real changes) 2017-11-06 13:19:14 +01:00
Mael Rouxel-Labbé 92f58dd525 Fixed expand_prestar() for non-periodic triangulations
If the neighboring cell is infinite, one has to use 'cell_to_add'
to compute the modified weight of the pumped vertex.
2017-11-06 13:03:49 +01:00
Mael Rouxel-Labbé c66604509d Reworked function 'get_best_weight()' of Slivers_exuder.h
- Avoid computing incident cells multiple times
- Make it more efficient for P3M3 by not having to use
  tr.min_squared_distance() to compute the distance
  between neighboring vertices
2017-11-06 13:02:07 +01:00
Mael Rouxel-Labbé 610bdcde71 Cleaned-up includes (no real changes) 2017-11-06 12:42:38 +01:00
Mael Rouxel-Labbé e2f52f6abb Fixed small compilation issue 2017-11-02 17:54:56 +01:00
Mael Rouxel-Labbé e5353cf38b Fixed trailing whitespace in make_mesh_3 (no real changes) 2017-11-02 16:45:43 +01:00
Mael Rouxel-Labbé 18cbb15209 Added 'add_corner(s)'
Allows to add 0-dimensional features which are not necessarily incident to
a 1-dimensional feature.
2017-11-02 16:44:29 +01:00
Mael Rouxel-Labbé d8621bc860 Fixed trailing whitespace (no real changes) 2017-11-02 15:35:30 +01:00
Mael Rouxel-Labbé 1f0de91fe2 Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2017-11-02 15:19:38 +01:00
Mael Rouxel-Labbé 0d14ca0b90 Cleaned documentation of Protect_edges_sizing_field
also:
- renamed wp2p > cp
- fixed the biggest issues in indentation
2017-11-02 11:22:47 +01:00
Mael Rouxel-Labbé f4002bcbd8 Fixed trailing whitespace in Protect_edges_sizing_field.h 2017-11-02 11:04:36 +01:00
Mael Rouxel-Labbé 997814eb67 Changed extra weight (previous did not work if new_weight is 0) 2017-11-02 10:28:42 +01:00
Mael Rouxel-Labbé 3b0425a48d Misc minor changes
Mostly code cleaning
2017-10-31 15:49:15 +01:00
Mael Rouxel-Labbé ac0a27cdfd Made Mesh_3's optimizers work with periodic triangulations 2017-10-31 15:47:23 +01:00
Mael Rouxel-Labbé c038e25f98 Fixed trailing whitespace in refine_mesh_3.h (no real changes) 2017-10-31 15:06:39 +01:00
Mael Rouxel-Labbé 8e834c8600 Cleaned slivers_exuder (no real changes)
Indentation / whitespace
2017-10-30 15:08:06 +01:00
Mael Rouxel-Labbé dceaf6ef75 Changed 'tr.point(c, i)' to 'c->vertex(i)->point()'
--> It doesn't matter for Mesh_3
--> The first thing P3M3 does from this function call is to canonicalize
    the point (that is, transform from 'tr.point()' to 'c->verte...'
2017-10-30 14:51:23 +01:00
Mael Rouxel-Labbé 7009f228a5 Changed some documentation and comments 2017-10-30 14:50:51 +01:00
Mael Rouxel-Labbé a0f93bc2ae Esthetical changes for vertex_perturbation.h (no real changes)
Indentation and trailing whitespace
2017-10-30 14:49:11 +01:00
Mael Rouxel-Labbé e84770c8b1 Removed useless variable 'best_location' 2017-10-30 14:42:18 +01:00
Mael Rouxel-Labbé e2b33c4948 Progress on periodic optimizers
- Replaced a lot of v->point() with tr.point(v) & similar
- Fixed taking references to temporary:
  we can't do "F(construct_point_3_object()(tr.point(c, i)))" for periodic
  triangulations because tr.point(c,i) is _not_ a reference
- Added some sanity checks to debug Lloyd optimization
- Fixed some indentation
2017-10-29 21:31:59 +01:00
Laurent Rineau 69b4dacb17 Merge pull request #2482 from lrineau/Mesh_3-API_with_incidences-GF
Document Mesh_domain_with_polyline_features_3::add_features_and_incidences
2017-10-27 18:01:12 +02:00
Mael Rouxel-Labbé 1f4475d471 Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2017-10-27 16:26:27 +02:00
Mael Rouxel-Labbé bae6f15fa5 WIP commit 2017-10-27 15:34:33 +02:00
Laurent Rineau 3f12ad1276 Fix compilation error when NO_ERROR is a macro
(On macro `NO_ERROR` evaluates to `0L`!)
2017-10-26 16:37:38 +02:00
Mael Rouxel-Labbé 60fbe1975c Various readability changes (no real changes) 2017-10-26 13:01:39 +02:00
Mael Rouxel-Labbé 664bf52f29 Minor doc change 2017-10-25 18:16:08 +02:00
Mael Rouxel-Labbé 2b939b46ab Moved function out of class 2017-10-25 18:14:30 +02:00
Mael Rouxel-Labbé 5b6dfe09f3 Added a clarifying comment 2017-10-25 18:01:16 +02:00
Laurent Rineau a686179700 Re-add curve_segment_index(..) as a deprecated compatibility method 2017-10-23 19:24:04 +02:00
Laurent Rineau 675bcc1cbe Fix compilation errors 2017-10-23 18:53:42 +02:00
Laurent Rineau 93f6caa02d Include the license checking header 2017-10-23 18:53:42 +02:00
Laurent Rineau de938ea79f Cherry-pick, then adapt, two old commits:
|commit 6a76062ba692f284cdca8b4504fbf5000c942c39
  |Author: Laurent Rineau <Laurent.Rineau__CGAL@normalesup.org>
  |Date:   Wed Aug 29 10:15:10 2012 +0000
  |
  |    Add a way to specify a maximal number of vertices. That aborts the meshing.
  |
  |Notes:
  |    r71799 branches/features/Mesh_3-experimental-GF

  | commit 9d501d0bef44cf0e3419299947c1b7ccfd0e87d8
  | Author: Laurent Rineau <Laurent.Rineau__CGAL@normalesup.org>
  | Date:   Wed Aug 29 16:14:13 2012 +0000
  |
  |     A pointer to a CGAL::Mesh_error_code (an enum) can be passed to Mesh_3
  |
  | Notes:
  |     r71818 branches/features/Mesh_3-experimental-GF
2017-10-23 18:53:42 +02:00
Laurent Rineau 69360e2946 Fix typos
See Mael's comment https://github.com/CGAL/cgal/pull/2482#issuecomment-334126506
2017-10-23 18:30:32 +02:00
Laurent Rineau 69397e159d Remove that include
- it is actually not used
- it does not exist in older Boost versions (1.48)
2017-10-23 18:30:32 +02:00
Laurent Rineau 2b19cfe269 Re-add curve_segment_index(..) as a deprecated compatibility method 2017-10-23 18:30:32 +02:00
Laurent Rineau 250cfea70c typo 2017-10-23 18:30:32 +02:00
Laurent Rineau ac90c88be7 paches->patches 2017-10-23 18:30:32 +02:00
Laurent Rineau 430a62fd60 Document also the parameters 2017-10-23 18:30:31 +02:00
Laurent Rineau dbd818e68b Remove the deprecation of signed_geodesic_distance
That function is still required by `Sizing_field_with_aabb_tree`. We
will document it later.
2017-10-23 18:30:31 +02:00
Laurent Rineau 728f358c31 Write the documentation 2017-10-23 18:30:31 +02:00
Laurent Rineau e8ce4a9bf5 Add add_features_and_incidences 2017-10-23 18:30:31 +02:00
Laurent Rineau 3dcc4cf5d7 Merge pull request #2491 from janetournois/Mesh_3-document_manifold_criterion-jtournois
Mesh 3 : document manifold criterion
2017-10-23 17:24:51 +02:00
Laurent Rineau faf023b988 Merge pull request #2541 from lrineau/Mesh_3-fix_NaN-lrineau
Fix a perturber bug
2017-10-23 17:14:18 +02:00
Laurent Rineau ce6e3a121f Merge branch 'releases/CGAL-4.10-branch' into releases/CGAL-4.11-branch 2017-10-23 16:55:54 +02:00
Mael Rouxel-Labbé aa7ae99a2e Changed some c->vertex(i)->point() to tr.point(c, i) 2017-10-22 23:39:14 +02:00
Mael Rouxel-Labbé 5bd8d04465 Generalized Odt optimization code
- Adapted to periodic triangulations
- Some minor improvements along the way
2017-10-22 23:35:50 +02:00
Mael Rouxel-Labbé ce7468f318 Removed useless code 2017-10-22 23:35:14 +02:00
Mael Rouxel-Labbé 5d9575a3af Changed container for treated_vertices
Also avoid using find() + insert(): insert() itself is a find()
2017-10-22 23:33:59 +02:00
Mael Rouxel-Labbé 41f5c47394 Misc minor changes
Indentation, comments, whitespace, etc.
2017-10-22 23:28:37 +02:00
Laurent Rineau 6be9fcab9d Forbid the use of CGAL_MESH_3_USE_RELAXED_HEAP
That code using a Boost relaxed heap is buggy. Let's warn the developer
that he/she must not use it.
2017-10-19 15:14:01 +02:00
Laurent Rineau 6178c04cf1 Fix also restore_infinite_cell
Thanks @MaelRL for the suggestion.

https://github.com/CGAL/cgal/pull/2541#issuecomment-337278638
2017-10-18 17:00:25 +02:00
Jane Tournois fb4f087317 fix conversion warning 2017-10-17 17:39:13 +02:00
Mael Rouxel-Labbé 94bb59b722 Various doc/comments improvements 2017-10-17 12:45:30 +02:00
Laurent Rineau 9a7b48d693 Fix a perturber bug
The `facet_surface_center` of facet was not always restored correctly,
after an aborted move, and that eventually led to use of uninitialized
memory... and a crash.
2017-10-17 09:48:45 +02:00
Laurent Rineau 38548abc92 Fix the feature "several_vertices_on_patch"
For small bubbles, the set of 20 initial points was not at all
random (bad implementation).
2017-10-13 16:30:03 +02:00
Laurent Rineau 3a7dc085db Remove CGAL_DEPRECATED
I cannot find a way to use it cross-platform. The syntax of attributes
for gcc and MSVC do not seem compatible.
2017-10-13 15:59:48 +02:00
Laurent Rineau b6e8b96f2a Attribute for typedefs must be at the end of line 2017-10-13 15:59:48 +02:00
Laurent Rineau 946af7f3c7 Fix the polyhedron demo after the API changes 2017-10-13 15:59:48 +02:00
Laurent Rineau f3924fe8d6 curve segment -> curve 2017-10-13 15:59:48 +02:00