Commit Graph

408 Commits

Author SHA1 Message Date
Jane Tournois c37c3ca167 remove Mesh_vertex_base_3 and rename Compact_mesh_vertex_base_3.h to Mesh_vertex_base_3.h 2013-05-17 14:50:50 +02:00
Laurent Rineau 29cc781c83 Avoir another segfault due to a const reference to an object that is modified
A const reference only guaranty that the code cannot modify the object
*using that reference*. There is no guaranty that the object will not be
 modified using another reference!
2013-05-06 13:19:23 +02:00
Laurent Rineau 4fae376de3 Avoid a segfault (const ref to a temporary) 2013-05-03 17:13:31 +02:00
Laurent Rineau ea5f79db80 Fix warnings 2013-05-03 15:13:18 +02:00
Jane Tournois 7a530ea7d8 remove just_incident_cells.
The bench I made did not show that it provided any computation time improvement.
2013-04-11 12:48:04 +02:00
Jane Tournois 7582f85841 fix template parameter name : should be MD for MeshDomain, not MT 2013-03-29 17:32:11 +01:00
Jane Tournois abd099e8b6 Intrusive_list : change modificators of next_intrusive and previous_intrusive to functions set_next_intrusive and set_previous_intrusive
(old functions were returning a reference for modification)
2013-03-29 14:05:14 +01:00
Jane Tournois 2594644d60 fix compilation in debug mode when macro is activated, on windows 2013-03-28 16:40:53 +01:00
Clement Jamin 081c39706d Replaced "Void" (undocumented) by Default 2013-03-25 15:18:42 +01:00
Clement Jamin c848a6eb12 Added vertex_base and cell_base to Mesh_triangulation_3 template params
And a placeholder for the future Concurrency_tag (unused for now)
2013-03-25 11:45:30 +01:00
Jane Tournois d67db385fa Merge branch 'Mesh_3-improvements-GF-old' into Mesh_3-improvements-GF
Conflicts:
	Mesh_3/include/CGAL/refine_mesh_3.h
2013-03-21 11:22:15 +01:00
Sébastien Loriot f97d6b8bd9 s/boost::result_of/cpp11::result_of/g 2013-03-14 10:38:13 +01:00
Sébastien Loriot d6905c61be Merge branch 'Kernel-replace_object-pmoeller-old' into Kernel-replace_object-pmoeller
Conflicts:
	AABB_tree/include/CGAL/AABB_tree.h
	Circular_kernel_2/include/CGAL/Circular_kernel_2/internal_functions_on_line_arc_2.h
	Intersections_3/include/CGAL/Intersections_3/intersection_3_1_impl.h
	Kernel_23/doc/Kernel_23/CGAL/intersections.h
	Kernel_23/doc/Kernel_23/Concepts/FunctionObjectConcepts.h
	STL_Extension/doc/STL_Extension/CGAL/iterator.h
2013-03-14 10:29:31 +01:00
Andreas Fabri 22e272627b remove unused variable 2013-03-01 16:24:47 +01:00
Laurent Rineau bc7e2a1d71 Merge remote-tracking branch 'origin/Mesh_3-improvements-GF' into Mesh_3-improvements-GF-new
Mesh_3-improvements-GF-new is fresh fork of master

Conflicts:
	.gitattributes
	AABB_tree/include/CGAL/AABB_tree.h
	GraphicsView/src/CGAL_Qt4/DemosMainWindow.cpp
	Mesh_3/include/CGAL/Mesh_3/C3T3_helpers.h
	Mesh_3/include/CGAL/Mesh_3/Refine_facets_3.h
	Mesh_3/include/CGAL/Polyhedral_mesh_domain_3.h
2013-02-28 17:10:16 +01:00
Laurent Rineau 220ddbf6b2 New macro CGAL_GCC_VERSION to help preprocessor conditionals on gcc version
And use it in <CGAL/refine_mesh_3.h>
2013-02-27 19:58:02 +01:00
Laurent Rineau 892efd0a3a Merge bug fixes into Mesh_3-improvements-GF 2013-02-08 17:39:04 +01:00
Clement Jamin c71cc0fbba Moved the "get_opposite_ordered_edge" call into the "if"...
... so that it doesn't get called for nothing.
2013-02-07 16:02:05 +01:00
Jane Tournois dbfcb44e69 include config.h to use or not compact_mesh_cell_base using the macro 2013-02-07 16:01:19 +01:00
Jane Tournois 6c8863de89 fix the use of inexact_locate 2013-02-07 16:00:22 +01:00
Laurent Rineau 354ddc85fc Fix the case of <CGAL/Mesh_3/implicit_to_labeled_function_wrapper.h>
That header file contains a class named
CGAL::Mesh_3::Implicit_to_labeled_function_wrapper and the naming
guidelines are well followed but the case of the file.

That header file is internal to Mesh_3 and not documented.
2013-02-07 15:29:46 +01:00
Clement Jamin c9cd613991 Optimized fill_modified_vertices (just call insert instead of find+insert) 2013-02-07 15:29:09 +01:00
Laurent Rineau d2a9ca727b Forward the construction with three arguments to the base 2013-02-07 15:27:16 +01:00
Laurent Rineau 0cd47271d8 Fix compilation errors on Windows 2013-02-07 15:27:15 +01:00
Jane Tournois bc37e108ad make end of lines consistent 2013-02-07 15:25:28 +01:00
Jane Tournois b1ebef77d2 remove warning 2013-02-07 15:23:30 +01:00
Andreas Fabri 2740aa9c05 use size_type instead of int 2013-02-07 15:16:03 +01:00
Laurent Rineau e87dad0f95 Fix all warnings in demo/Polyhedron/
The compilation was fix g++-4.8, and the flags:
  --std=c++11 -frounding-math Wall -Wno-array-bounds -Wno-uninitialized
2013-02-06 17:03:20 +01:00
Laurent Rineau f68da3f49c Fix a bug when a cyclic 1D-feature intersects other curves
There was a bug in
  <CGAL/Mesh_domain_with_polyline_features_3.h>
and
  <CGAL/Mesh_complex_3_in_triangulation_3.h>
when a cycle (in 1D-features of the the domain) had a cycle that intersected
at least one other curve (at it "first" point).

That first point must be marked as a corner. But the cycle remains a cycle.
2013-01-30 17:08:25 +01:00
Laurent Rineau 5b17407fe5 Always initialize 'nearest_point' 2013-01-30 16:43:09 +01:00
Philipp Möller 0f34f2a89e Merge branch 'Maintenance-include-less-boost-pmoeller' 2012-12-21 09:44:18 +01:00
Sébastien Loriot 82b2ebc865 apply the cpp0x namespace renaming in all files 2012-12-19 11:33:17 +01:00
Philipp Möller 71ea8e6e22 Minimal boost includes
Replace type_traits.hpp and utility.hpp with the respective
fine-grained includes.
2012-12-14 18:13:59 +01:00
Philipp Möller fa16817382 Use result_of for intersections in Mesh_3 2012-12-07 18:00:46 +01:00
Laurent Rineau 60f464cfcb Fix the use of deprecated types no longer in the concept MeshDomain_3 2012-12-07 15:56:21 +01:00
Philipp Möller d198458ca7 Merge branch 'origin-gsoc2011-boost_object-pmoeller' into Kernel-replace_object-pmoeller
Conflicts:
	.gitattributes
	AABB_tree/doc_tex/AABB_tree_ref/AABBGeomTraits.tex
	AABB_tree/doc_tex/AABB_tree_ref/AABBTraits.tex
	AABB_tree/doc_tex/AABB_tree_ref/AABB_traits.tex
	AABB_tree/include/CGAL/AABB_traits.h
	AABB_tree/include/CGAL/AABB_tree.h
	AABB_tree/test/AABB_tree/AABB_test_util.h
	Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_queries.tex
	Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arr_trapezoid_ric_point_location.tex
	Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/intro.tex
	Arrangement_on_surface_2/include/CGAL/Arr_batched_point_location.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_lm_generator_base.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_lm_random_generator.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_trapezoid_ric_pl_impl.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_walk_along_line_pl_impl.h
	Arrangement_on_surface_2/include/CGAL/Arr_trapezoid_ric_point_location.h
	Arrangement_on_surface_2/test/Arrangement_on_surface_2/point_location.cpp
	Circular_kernel_2/include/CGAL/Circular_kernel_2/internal_functions_on_line_arc_2.h
	Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_circular_arc_3.h
	Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_line_arc_3.h
	Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_sphere_3.h
	Filtered_kernel/include/CGAL/Lazy.h
	Filtered_kernel/include/CGAL/Lazy_kernel.h
	Intersections_2/include/CGAL/Triangle_2_Iso_rectangle_2_intersection.h
	Intersections_2/test/Intersections_2/test_intersections_2.cpp
	Intersections_3/test/Intersections_3/test_intersections_3.cpp
	Kernel_23/doc_tex/Kernel_23_ref/intersection.tex
	Kernel_23/include/CGAL/Kernel/Type_mapper.h
	Kernel_d/doc_tex/Kernel_d_ref/Kernel.tex
2012-12-04 17:57:53 +01:00
Jane Tournois 77ee36827f Merge branch 'Mesh_3-improvements-GF' of ssh://scm.cgal.org/var/git/cgal into Mesh_3-improvements-GF 2012-11-21 14:11:15 +01:00
Clément Jamin 3f10460e00 These lines were wrong and useless (old_vertex->XXX_intrusive() is always 0) 2012-11-21 12:33:32 +01:00
Jane Tournois 8151704af9 remove warning about initialization of tables 2012-11-21 12:13:27 +01:00
Laurent Rineau 21dd336011 Add Triangulation_vertex_base_with_info_3 and
Triangulation_cell_base_with_info_3 in the io_signature system
2012-11-20 12:27:19 +01:00
Laurent Rineau 07f1a8381a Extend the API to be compatible with the API of Polyhedral_mesh_domain_3 2012-11-20 11:25:34 +01:00
Laurent Rineau 4509b5bbe2 Merge branch 'master' into improvements
Conflicts:
	Mesh_3/include/CGAL/Mesh_3/mesh_standard_facet_criteria.h
2012-11-14 12:17:29 +01:00
Laurent Rineau 88c6856789 Make CGAL_MESH_3_PROTECTION_DEBUG work
even if the surface id or curve id and not streamable.
2012-11-08 16:22:21 +00:00
Laurent Rineau a9c16e922d Allow not to define CGAL_MESH_3_NO_LONGER_CALLS_DO_INTERSECT_3 2012-11-08 10:31:50 +00:00
Laurent Rineau cd62693554 Better fix of that assertion 2012-11-08 10:31:01 +00:00
Laurent Rineau 16ba507e79 Ignore silently consecutive identical points 2012-11-08 08:56:00 +00:00
Laurent Rineau 3e3f3057e7 Improve the assertions where minimal_size is used.
Before that patch, when special balls were around, some conditions tested
by previous assertions could legitimately be false.
2012-11-07 15:51:16 +00:00
Laurent Rineau b112335034 Fix a wrong assertion.
If n==0, no new protecting ball will be inserted on the given curved
segment. No need to have dleft_frac>=1.
2012-11-06 14:04:55 +00:00
Laurent Rineau bd6c940f6a Make <CGAL/Mesh_vertex_base_3.h> compile on Linux. 2012-10-22 12:45:14 +00:00
Clément Jamin 80ea1a7d33 This "CGAL_UNDOABLE_INSERT_USE_MAP" thing was not used 2012-10-19 14:27:16 +00:00
Laurent Rineau 1f1c9eaa33 Cherry-pick from Clément's branch:
| ------------------------------------------------------------------------
  | r73014 | cjamin | 2012-10-17 15:12:52 +0200 (Wed, 17 Oct 2012) | 1 line
  | Changed paths:
  |    M /branches/features/Mesh_3-parallel-cjamin/Mesh_3/include/CGAL/Mesh_cell_base_3.h
  |    M /branches/features/Mesh_3-parallel-cjamin/Mesh_3/include/CGAL/Mesh_vertex_base_3.h
  | 
  | Added support for CGAL_INTRUSIVE_LIST in Mesh_cell_base_3 and Mesh_vertex_base_3
  | ------------------------------------------------------------------------
2012-10-17 13:57:43 +00:00
Jane Tournois 304834b709 reactivate macro 2012-10-16 10:23:09 +00:00
Jane Tournois 824e8060fe fix typo when CGAL_MESH_3_NEW_ROBUST_INTERSECTION_TRAITS is not defined 2012-10-16 09:59:44 +00:00
Jane Tournois 44f4a1a5c7 fix Construct_initial_points in Polyhedral_mesh_domain_3. In some numerically degenerate cases, it can be that there is no intersection point 2012-10-16 09:53:14 +00:00
Laurent Rineau 9a3998357f svn merge --reintegrate \^/branches/features/CGAL_foundations-fix_missing_headers-lrineau 2012-10-10 12:39:36 +00:00
Laurent Rineau f435be98fb Fix an efficiency bug, when FT is not double.
dihedral_angle() returns a double. So values must be converted to double
ASAP.
2012-10-10 12:24:15 +00:00
Laurent Rineau a53fd8c9c4 merge changes from next 2012-10-09 13:08:52 +00:00
Laurent Rineau 8743fa847b Rename PROTECTION_DEBUG into CGAL_MESH_3_PROTECTION_DEBUG 2012-10-09 12:45:20 +00:00
Laurent Rineau f0118a1311 Revert last commit (commited by error) 2012-10-09 09:28:37 +00:00
Laurent Rineau 648472bdac After a run of detect_packages_license 2012-10-09 09:26:23 +00:00
Laurent Rineau 795c71fc9b Fix headers of Mesh_2 and Mesh_3. All were missing #include.
I found out that way that <CGAL/Mesh_3/Refine_facets.h> and
<CGAL/Mesh_3/Protect_edges_sizing_field> were using global functions
instead of functors of the traits class.

Note also the funny bug that <CGAL/Regular_triangulation_cell_base_3.h> was
depending on <CGAL/Triangulation_vertex_base_3.h>!
2012-10-08 09:33:38 +00:00
Laurent Rineau 6b0bf6078c BUGFIX: backup points attributes before the call to c3t3.remove_from_complex
C3t3::remove_from_complex modifies the in_dimension() of the vertex

(That may have been a bug.)

It is actually a merge from r72577 of
/branches/features/Mesh_3-experimental-GF/Mesh_3
2012-10-04 14:56:03 +00:00
Laurent Rineau 139b8ce637 Add and test functions to save/load a c3t3 in binary format 2012-09-21 13:12:58 +00:00
Laurent Rineau 787d19d6c3 Merge changes from next 2012-09-21 12:29:27 +00:00
Laurent Rineau 5db6778d2c Add export from c3t3 to tetgen
+ test output_to_medit and output_to_tetgen in test/Mesh_3/test_c3t3.cpp
2012-09-20 14:24:20 +00:00
Laurent Rineau bfc2ded753 Typo: rename "vertice_index" into "vertex_index" 2012-09-14 13:53:41 +00:00
Laurent Rineau 3ad4fd4d33 The bug about CGAL_MESH_3_NEW_CHECK_SURFACE_MESH is fixed
Use find in a map instead of a set.
2012-09-14 13:52:51 +00:00
Laurent Rineau 5ee1d080ab Commit a revert of r68384:
"Fix the topological check of update_mesh(..)"

The new version of update_mesh can be used by defining
CGAL_MESH_3_NEW_CHECK_SURFACE_MESH. But currently that causes a bug in the
perturber when insert/remove is used instead of remove/insert.
2012-09-14 11:11:36 +00:00
Laurent Rineau 9c03104732 Use CGAL_assertion instead of assert
+ use CGAL_expensive_assertion for is_valid() instead of CGAL_assertion.
2012-09-13 09:21:26 +00:00
Jane Tournois ec5218835a fix CGAL_NEW_INCIDENT_SLIVERS
the bound value was lost because of too temporary Is_sliver functor
2012-09-11 14:43:25 +00:00
Jane Tournois b14d999868 remove macro CGAL_FREEZE_VERTICES.
Now freezing is driven by the optimization parameter do_freeze (true by default)
2012-09-03 15:18:50 +00:00
Jane Tournois 34c8ab7866 fix global optimizers when do_freeze is false and CGAL_FREEZE_VERTICES on 2012-09-03 14:28:25 +00:00
Laurent Rineau 88f6cbb360 Merge changes from next 2012-09-03 13:58:35 +00:00
Jane Tournois 48a529b92c remove CGAL_IMPROVE_FREEZE macro. This feature has to be used since we don't have the frozen data member in vertex_bsae anymore
(we remove frozen vertices from the std::set, or Intrusive_list, of moving vertices)
2012-09-03 11:03:56 +00:00
Jane Tournois a8c39c2eca add insert(pos, val) to Intrusive_list, and fix indentation in Intrusive_list::iterator 2012-09-03 09:08:47 +00:00
Jane Tournois 67325c8f93 fix global optimizers when CGAL_INTRUSIVE_LIST is not defined, and CGAL_FREEZE_VERTICES is.
We would like to remove frozen vertices from the std::set of moving vertices, and need to update their value (the Vertex_handle's)
2012-08-31 14:34:35 +00:00
Jane Tournois 8c8c34efde fix compilation when Outdated cells set is a std::set and not an Intrusive_list 2012-08-31 14:09:06 +00:00
Jane Tournois d34dc048eb tiny cosmetic changes 2012-08-31 14:08:31 +00:00
Jane Tournois 84b6f6a0fe First solution to avoid infinite looping when freeze is on and a very vertices keep moving :
once the number of moving vertices is smaller than 1% of the total number, and has not changed since last iteration, we stop. 

Optimization returns the code CANT_IMPROVE_ANYMORE (available in Mesh_optimization_return_code)
2012-08-30 15:54:32 +00:00
Jane Tournois 37eb2ec790 improve std::cerr messages at the end of global optimization 2012-08-30 15:30:49 +00:00
Jane Tournois 7553fccd9f make verbose mode fit in one line width 2012-08-30 15:14:03 +00:00
Jane Tournois eeafda5470 remove the macros that were introduced for codebase a long time ago 2012-08-30 14:18:48 +00:00
Jane Tournois dce17a0021 remove CGAL_BIG_MOVES_SET macro
this feature is now completely activated (one can't go back to the manually sorted list)
2012-08-28 12:40:41 +00:00
Jane Tournois 3689dfb8f3 update use of macros 2012-08-28 12:09:28 +00:00
Jane Tournois 3555cf3cb2 make just_incident_cells_3 the default use of incident_cells(v)
replace macro CGAL_JUST_INCIDENT_CELLS with CGAL_TDS_3_NOT_JUST_INCIDENT_CELLS (and reverse use), and comment it in config.h
2012-08-28 09:01:47 +00:00
Jane Tournois 07cb25aa80 remove macro CGAL_MESH_3_USE_NEW_MOVE_POINT_TOPO_CHANGE
it works properly and avoids a find_conflict for almost every move
2012-08-27 13:07:35 +00:00
Jane Tournois 93957545c7 deactivate CGAL_MESH_3_NEW_ROBUST_INTERSECTION_TRAITS, it makes holes on the mesh surface (polyhedron with features input) 2012-08-23 10:02:46 +00:00
Laurent Rineau 8f677f0ce7 Convert header files created by Jane to Unix style
Otherwise that really complicates merging operations!
2012-08-22 15:41:33 +00:00
Laurent Rineau 5fdae25b13 Cherry-pick from Mesh_3-experimental-GF
| ------------------------------------------------------------------------
  | r71473 | lrineau | 2012-08-22 16:22:51 +0200 (Wed, 22 Aug 2012) | 2 lines
  | 
  | Fix warnings -Wreorder and and -Wunused-but-set-variable
  | 
  | ------------------------------------------------------------------------
  | r71472 | lrineau | 2012-08-22 16:18:57 +0200 (Wed, 22 Aug 2012) | 2 lines
  | 
  | Fix wrong C++ constructions that were accepted my MSVC
  | 
  | ------------------------------------------------------------------------
2012-08-22 14:28:28 +00:00
Laurent Rineau be658460eb Merge changes from next 2012-08-21 09:04:51 +00:00
Jane Tournois 619a69fd75 implement commit r71355 from experimental-GF and remove useless code 2012-08-20 15:43:51 +00:00
Laurent Rineau 45016ef87a merge changes from next 2012-08-16 13:03:53 +00:00
Laurent Rineau a04891ff93 WARNFIX: fix some warnings triggered by -Wconversion on g++ 2012-08-09 16:06:54 +00:00
Jane Tournois 49d5bc27fa r71106 from Mesh_3-experimental-GF
Intrusive_list push_back function now performs insertion, and not erase as it used to (because it was nice to avoid some code lines, but it was too dangerous)
2012-08-07 15:28:57 +00:00
Jane Tournois be8fe53444 fix compilation when CGAL_INTRUSIVE_LIST is not defined 2012-08-07 12:59:01 +00:00
Philipp Möller 79b30908d5 WARNFIX: Silence a good part of unused variable/parameter warnings.
Wextra results in a dreadful wall of yellow in the test-suite and is
scary when using CGAL. Reduce some of the noise by silencing the
obvious cases with CGAL_USE or comments.
2012-08-07 11:04:32 +00:00
Jane Tournois 4979fa8165 sync with experimental 2012-08-07 09:31:06 +00:00
Jane Tournois b1ea20d1a8 fix indentation bug 2012-08-06 14:37:44 +00:00
Jane Tournois 84e2480855 sync indentation and stuff with experimental 2012-08-06 14:23:08 +00:00
Jane Tournois 62ae963ccf rename point "location" to "position" 2012-08-06 14:22:25 +00:00