Commit Graph

254 Commits

Author SHA1 Message Date
Andreas Fabri 7e00af50f5 Merge branch 'Triangulation_3-faster_incident_edges-GF'
Approved by the release manager
2014-05-14 17:03:41 +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
Jane Tournois 8bc6e6136d fix a warning from clang. Actually highlighted a real error : gt was missing 2014-05-12 14:55:11 +02:00
Andreas Fabri 3d0e6f2a4f boost::unorerdered_set::reserve() was only introduced with Boost 1.50 2014-05-09 11:08:38 +02:00
Andreas Fabri 1ff9694206 int -> std::size_t 2014-05-08 13:41:33 +02:00
Andreas Fabri 3cc64eb19e Call unordered_set::reserve() 2014-05-07 11:51:25 +02:00
Andreas Fabri 2ed094d23c cleanup 2014-05-07 11:14:36 +02:00
Andreas Fabri d1a6046fcd Vertex_extractor gets a partial specialisation for Vertex::Has_visited 2014-05-07 11:00:05 +02:00
Andreas Fabri 09876e23fa Add bool visited to the Vertex in order to avoid a map 2014-04-29 14:04:27 +02:00
Andreas Fabri 3812e53d64 Add flat_set 2014-04-29 06:47:32 +02:00
Andreas Fabri d74653ece0 Replace std::map by boost::unordered_map in TDS_3::incident_edges 2014-04-28 16:18:13 +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
Andreas Fabri 18e85a1cea Switch on a workaround using a CGAL_CFG ... 2014-03-24 17:52:31 +01:00
Andreas Fabri 24f78ce6de Hack for the new problem with 'using' for VC12
We have to find out where the real problem is.
2014-03-20 16:47:25 +01:00
Jane Tournois 75771bacb3 rename Regular_triangulation_cell_base_with_circumcenter_3
to Regular_triangulation_cell_base_with_weighted_circumcenter_3
2014-02-06 15:50:38 +01:00
Jane Tournois 88666391da introduce weighted_circumcenter() for RegularTriangulationCellBase_3
weighted_circumcenter() replaces circumcenter() in the regular framework,
which is not a member of TriangulationCellBase_3 anymore.

Triangulation_cell_base_with_circumcenter_3 is deprecated and replaced by:
Delaunay_triangulation_cell_base_with_circumcenter_3
and
Regular_triangulation_cell_base_with_circumcenter_3.

Implement the changes in documentation, Triangulation_3 code and Mesh_3 code.
2014-01-16 16:55:19 +01:00
Jane Tournois 7b55c30ba5 fix the use of Triangulation_cell_base_with_circumcenter
Triangulation_cell_base_with_circumcenter should not be responsible for
computing the circumcenter value. It is only responsible for its caching.
The Cell_base used as second template parameter should make the construction,
in the circumcenter() function.

Also fix the order of derivation in Mesh_cell_base_3
2014-01-10 14:31:02 +01:00
Jane Tournois bf9e964f0e remove macro CGAL_REGULAR_TRIANGULATION_3_USE_CIRCUMCENTER_CACHE
has been checked and is always activated
2014-01-09 12:05:50 +01:00
Jane Tournois 88eddc7e8b Merge branch 'Triangulation_3-regular_cell_base_with_circumcenter-GF-old' into Triangulation_3-regular_cell_base_with_circumcenter-GF 2014-01-03 18:03:01 +01:00
Laurent Rineau 240385d011 Add expensive assertions to check the circumcenter cache 2013-10-14 17:12:54 +02:00
Andreas Fabri 5c454cec64 add missing includes 2013-09-13 12:43:01 +02:00
Sébastien Loriot ded66799a6 make the insertion of a range of points with info working with hierarchy 2013-08-05 15:03:46 +02:00
Marc Glisse 530f20179c Finish Philipp's patch on initializing arrays. 2013-07-23 15:58:04 +02:00
Jane Tournois 404f2e0e3c merge 2013-06-21 10:01:19 +01:00
Sébastien Loriot 8d602ed8c2 Merge branch 'triangulation_3-copy_tds-sloriot'
Approved by the release manager

Conflicts:
	Alpha_shapes_3/test/Alpha_shapes_3/copy_tds.h
	Triangulation_2/doc/TDS_2/Concepts/TriangulationDataStructure_2.h

it introduces a more general copy_tds that allows to copy tds with different types of simplices.
2013-04-29 11:09:01 +02:00
Sébastien Loriot 0beb1a8861 add an extra overload to please MSVC 2013-04-19 08:38:56 +02:00
Sébastien Loriot 498492e770 add set_infinite_vertex to Triangulation_3 and use it with copy_tds
the 2D version already exists
2013-04-12 16:04:59 +02:00
Sébastien Loriot f9e0c97aac for convenience add a default to simple converter
it is useful if you want to copy the tds of a familly
alpha-shape into a fixed one
2013-04-11 20:03:32 +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 35120cdf53 small feature documentation about inexact_locate 2013-03-22 15:46:38 +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 bd0930fc26 Fix segfaults in T3, caused by the use of CGAL_assume
I wonder why the compiler created buggy code. Anyway, I found easy
workarounds, without reintroducing the warnings.
2013-02-22 16:15:04 +01:00
Laurent Rineau 66c5d23154 Use CGAL_assume to remove warnings 2013-02-20 18:55:43 +01:00
Andreas Fabri 8b5b56adb1 make index an unsigned int 2013-02-15 11:30:08 +01:00
Laurent Rineau 70bf8d7e88 New branch to add c->circumcenter (and the verson with cache) to RT3 2013-02-07 19:07:42 +01:00
Andreas Fabri afeea1e124 replace size_t with int in loops over the vertices of a cell 2013-02-07 17:26:32 +01:00
Sébastien Loriot aeb1edeae8 Merge branch 'triangulation_3-copy_tds-sloriot-old' into triangulation_3-copy_tds-sloriot 2012-12-18 19:57:32 +01:00
Sébastien Loriot 7843d7ce20 using internal::TDS_3 namespace 2012-12-17 16:39:04 +01:00
Philipp Möller 3e98c46535 Correct syntax for uniform initialization 2012-12-12 11:24:34 +01:00
Philipp Möller ae1b135c54 Replace usage of CGAL_CFG_ARRAY_MEMBER_INITIALIZATION_BUG 2012-12-11 17:46:14 +01:00
Sébastien Loriot c25f925174 renaming functor in copy_tds 2012-12-05 12:43:54 +01:00
Sébastien Loriot 6152194fa8 remove boolean for first vertex 2012-12-05 12:43:54 +01:00
Sébastien Loriot 47fea6c6f1 merge experimental-packages/Triangulation_3_copy_tds to a proper branch 2012-12-05 12:43:53 +01:00
Laurent Rineau 57a58d00a3 Triangulation_cell_base_with_circumcenter_3::invalidate_circumcenter() must
be public.

That is required by the slivers exuder.
2012-11-20 10:25:47 +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
Sébastien Loriot 825bfe6144 make create_star_3 non recursive only after 100 recursive calls.
The speed observed on random data set produced by simple_2.cpp is equivalent
to the original recursive version and faster than the version better this commit
2012-10-30 13:42:47 +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
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 abc1515741 r70387, r70573, r70574 from Mesh_3-experimental-GF
Add incident_cells_3(Vertex_handle, std::vector<Cell_handle>)

This function avoids the construction of two additional std::vectors.
The performance gain is between 30% (g++) and 50% (VC++)
for points on surfaces as well as for points filling space.

We at the same time change the implementation of the function
incident_cells(Vertex_handle, OutputIterator).
In order to save one additional std::vector,
the cells are reported in bfs and not in dfs order
2012-07-31 14:44:45 +00:00
Jane Tournois 7d169b85f8 r70573 from Mesh_3-experimental-GF
add macro to force Structural_filtering
2012-07-31 14:14:25 +00:00