Commit Graph

346 Commits

Author SHA1 Message Date
Andreas Fabri 42d04ea13f take into account Jane's review 2014-11-04 12:24:12 +01:00
Jane Tournois ee5c1cea4b add code for optimization.
- Lloyd move should be ok, but faces blindness is not updated properly until now
- ODT move still needs to be redefined when constraints appear
2014-10-10 15:37:25 +02:00
Jane Tournois 84ca2d460b add functionalities to CVD cells 2014-10-09 16:58:35 +02:00
Jane Tournois 2d007d3bf2 fix macro's name 2014-10-09 13:48:55 +02:00
Jane Tournois 4cf43198e2 dual(v) returns an OutputIterator that collects rays and segments
to do so, use the Dispatch_output_iterator

- Constrained Voronoi diagram is now a class that has a pointer to a CDT
as member. We don't need an extra CDT anymore
- update examples
- also update the CDT 2 demo to see Voronoi cells, that are only valid when the
triangulation is Delaunay (constrained or not)
2014-10-07 15:03:41 +02:00
Jane Tournois 8d87ccf8c2 add a dual(vertex) function to DT2 and CDT2
- in DT2, it returns the Voronoi cell as a Polygon_2
- in CDT2, it returns the - possibly clipped - "bounded Voronoi cell"
see Seidel1988 or http://hal.inria.fr/docs/00/54/68/79/PDF/centroidal-vd.pdf

also add an example that computes the full BVD
2014-10-03 16:52:48 +02:00
Andreas Fabri 17ca29713a Add a forwarding function as we had to remove a using statement 2014-08-22 15:14:19 +02:00
Andreas Fabri ab7f0189bd remove debug output 2014-08-22 15:13:32 +02:00
Andreas Fabri 43b8390a70 Merge branch 'Triangulation_2-NewPolylineConstraint-GF-old' into Triangulation_2-NewPolylineConstraint-GF 2014-08-08 12:47:15 +02:00
Andreas Fabri 9243e1eb69 Unify APIs: Add insertion of a polyline 2014-07-16 15:30:14 +02:00
Sébastien Loriot 0230e979e2 Merge branch 'CGAL-use_leda-GF-OLD' into CGAL-use_leda-GF
Conflicts:
	Arrangement_on_surface_2/test/Arrangement_on_surface_2/construction_test_suite_generator.cpp
	Arrangement_on_surface_2/test/Arrangement_on_surface_2/test_construction.cpp
	Documentation/doc/Installation.txt
	Kernel_23/include/CGAL/Exact_predicates_exact_constructions_kernel.h
2014-06-18 22:50:06 +02:00
Andreas Fabri 2c08831b35 add missing typename 2014-05-23 08:47:56 +02:00
Andreas Fabri c6bf236909 include header files where they are used 2014-05-22 14:49:38 +02:00
Andreas Fabri 8423854c95 Add Constrained_Delaunay_triangulation_2::insert_constraint(PointIterator,PointIterator) 2014-05-21 18:25:27 +02:00
Andreas Fabri 80798869fc Add Constrained_triangulation_plus_2::insert_constraints(..)
Before it inherited from the base class and did not update
the constraint hierarchy.
2014-05-21 17:17:40 +02:00
Andreas Fabri 6b129f3ad0 unify API 2014-05-20 17:39:56 +02:00
Andreas Fabri 2f967ba6e4 the testsuite for the new version of the Constrained_triangulation_plus_2 passes 2014-05-19 15:57:24 +02:00
Andreas Fabri 575b9081a7 make Constaint_id a struct so that we can write operator pair<Vertex_handle,Vertex_handle>() 2014-05-19 11:49:08 +02:00
Andreas Fabri a0d8e81a6f Fix the Polyline_constrained_triangulation for the Exact_constructions_tag
To avoid cascading the intersection is done with endpoints of segment constraints
For polyline constraints we cannot take the endpoints of the polyline
but must find input points of the polyline.
2014-05-16 14:48:20 +02:00
Andreas Fabri 85b29aed5f treat merge conflicts 2014-05-15 16:09:24 +02:00
Andreas Fabri c5ae1d35a9 Merge branch 'Advancing_front_surface_reconstruction-afabri-old' into Advancing_front_surface_reconstruction-afabri 2014-03-26 12:55:58 +01:00
Laurent Rineau ab7f9d0047 Fix a warning -Wmaybe-uninitialized
With g++48, with -Wall -O3, there was the following warning:

include/CGAL/Weighted_point.h:137:5: warning: '*((void*)& p +8)' may be used uninitialized in this function [-Wmaybe-uninitialized]
     wp = Weighted_point<Point,Weight>(p,w);
     ^
include/CGAL/Weighted_point.h:130:9: note: '*((void*)& p +8)' was declared here
   Point p;
         ^
include/CGAL/Weighted_point.h:137:5: warning: 'p' may be used uninitialized in this function [-Wmaybe-uninitialized]
     wp = Weighted_point<Point,Weight>(p,w);
     ^

Trivial bug-fix for master.
2013-12-12 17:44:00 +01:00
Sébastien Loriot 84d97f385d add insert_constraints functions to Constrained_Delaunay_triangulation_2 2013-12-02 22:48:38 +01:00
Andreas Fabri 6802db2f6b Merge branch 'old' into Advancing_front_surface_reconstruction-afabri
Apply "My branch is really old.." from the FAQ

Conflicts:
	Installation/changes.html
	Polyhedron/demo/Polyhedron/Scene_points_with_normal_item.cpp
	Polyhedron/demo/Polyhedron/Scene_points_with_normal_item.h
	Polyhedron/demo/Polyhedron/include/CGAL/gl_render.h
2013-11-28 14:58:29 +01:00
Andreas Fabri 9ed4f837c3 Merge branch 'CGAL-compilable_headers-GF'
The conflict was about whitesapce
Approved by the release manager

Conflicts:
	Polyhedron/include/CGAL/Polyhedron_copy_3.h
2013-09-23 14:50:17 +02:00
Laurent Rineau 650419f631 Trivial warning bug-fix for master (for CGAL-4.3) 2013-09-16 12:16:27 +02:00
Andreas Fabri 5c454cec64 add missing includes 2013-09-13 12:43:01 +02:00
Andreas Fabri d93bc127db Qualify call of derived function with this-> 2013-09-13 12:42:37 +02:00
Andreas Fabri 56d31513e6 fix incllude file. was not from the base class 2013-09-13 12:19:01 +02:00
Andreas Fabri 121ada60a4 Function must not only be declared but also defined to avoid VC++ warning 2013-09-12 12:49:04 +02:00
Sébastien Loriot 22b0d44f4a make the move function private to disable the inherited version 2013-08-02 07:52:09 +02:00
Sébastien Loriot f82d049dd1 make the triangulation iterator convertible to non-const handle
this pleases clang++3.2 with -std=cpp11 option
2013-07-25 07:40:38 +02:00
Jane Tournois 56d733b254 Merge remote-tracking branch 'origin/Mesh_3-improvements-GF'
Several improvements of Mesh_3, including
- speedup of optimizers,
- make inexact_locate public in Triangulation_2 and Triangulation_3,
- compactify mesh_cell_base and mesh_vertex_base,
- fix of documentation,
- and more

Small feature :
https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/Various_improvements_of_Mesh_3

Approved by the release manager.
2013-07-01 16:25:56 +02:00
Guillaume Damiand 6ba0055694 Trivial bug-fix qualified for master:
/Users/cgaltester/cgal_test/CGAL-4.3-Ic-71/include/CGAL/Triangulation_data_structure_2.h:1858:41: warning: unused parameter 'src' [-Wunused-parameter]
    Face_tgt operator()(const Face_src& src) const
2013-06-25 12:32:59 +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 bb7f025512 more permissive copy_tds for compatible vertex types with the same point type 2013-04-19 08:44:45 +02:00
Andreas Fabri 76a386bd18 make polylines.cpp work with EPEK 2013-04-17 09:38:23 +02:00
Andreas Fabri e4306a0d3d fixed -> unremovable; fixed is no longer used in Polyline_constrained_trioangulation 2013-04-16 16:01:09 +02:00
Andreas Fabri 94567d8745 wip 2013-04-16 15:09:05 +02:00
Andreas Fabri 80ef57d590 rename class 2013-04-16 12:46:34 +02:00
Sébastien Loriot 62fcc226b8 add a method to insert a range of points with info in cdt 2013-04-16 07:37:51 +02:00
Jane Tournois a9275d1a5b add default value for start of inexact_locate 2013-04-12 14:48:10 +02:00
Jane Tournois e023f42a51 make inexact_locate public also in Triangulation_2 2013-04-12 14:32:16 +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
Sébastien Loriot 2143378f58 remove a warning and simplify the implementation 2013-04-09 19:33:47 +02:00
Andreas Fabri 5e08e87d3d Make the example more interesting.
Fix const correctness.
Fix the Subconstraint_iterator.
Improve the manual.
2013-04-03 15:28:46 +02:00
Andreas Fabri f7d7395864 Merge branch 'OLD' into CGAL-use_leda-GF
Conflicts:
	Boolean_set_operations_2/test/Boolean_set_operations_2/test_polygon_validation.cpp
	Envelope_2/test/Envelope_2/test_envelope_segments.cpp
	Intersections_3/test/Intersections_3/bbox_other_do_intersect_test.cpp
2013-03-27 20:22:54 +01:00
Laurent Rineau b6ffa7c425 Merge branch 'CGAL-fix_warnings-GF'
That branch was successfully tested in CGAL-4.2-Ic-205.
2013-03-27 12:23:31 +01:00
Andreas Fabri 8a45fcea5a Merge branch 'OLD' into Triangulation_2-NewPolylineConstraint-GF
Conflicts:
	Triangulation_2/doc/Triangulation_2/Triangulation_2.txt
2013-03-21 13:41:53 +01:00
Laurent Rineau 6026df138a Fix mis-compilations of Triangulation_2 with -O3 -DCGAL_NDEBUG
With recent g++ versions, when -DCGAL_NDEBUG and -O3 was in the compilation
flags, my patch using 'CGAL_assume' triggered mis-compilation of cases
where the dimension() was 1, for all uses of the following pattern:

  CGAL_assume(i>=0 && i<= 1);
  [...] 1-i [...]

The fix is to use "(i==0)?1:0" instead.
2013-03-19 14:29:18 +01:00
Andreas Fabri 67226de083 use CGAL::compare instead of compare to avoid Koenig lookup 2013-03-15 16:25:05 +01:00
Andreas Fabri 950e858555 remove unused parameters 2013-03-12 09:50:46 +01:00
Andreas Fabri 1ee52525ab No need for the hierarchy. Makes it simpler and faster 2013-03-07 17:44:31 +01:00
Andreas Fabri e7900a02a3 made two private functions public, so that we can modify a TDS_2 2013-03-06 18:08:37 +01:00
Laurent Rineau ef37a934a6 Fix warning "_ri may be used uninitialized" 2013-02-27 19:35:56 +01:00
Laurent Rineau 403031ce7f Fix warnings 2013-02-27 18:21:24 +01:00
Andreas Fabri c7e68385be remove unused variables and #if 0 buggy non used code 2013-02-26 16:52:55 +01:00
Laurent Rineau 2d8da664a3 Merge branch 'CGAL-fix_warnings-gdamiand'
Conflicts:
	.gitignore
	Skin_surface_3/examples/Skin_surface_3/CMakeLists.txt
2013-02-22 13:02:37 +01:00
Laurent Rineau 66c5d23154 Use CGAL_assume to remove warnings 2013-02-20 18:55:43 +01:00
Sébastien Loriot e9e31dc6f3 remove unused file 2013-02-19 13:57:41 +01:00
Andreas Fabri 2740aa9c05 use size_type instead of int 2013-02-07 15:16:03 +01:00
Andreas Fabri c6dd56cf0f suppress a warning. The hypothetical problem cannot occur 2013-02-07 15:15:27 +01:00
Andreas Fabri 462ad57712 Remove a declaration without definition 2013-02-07 15:13:48 +01:00
Andreas Fabri f9cd5ec08a Merge remote-tracking branch 'origin/Triangulation_2-NewPolylineConstraint-GF' into Triangulation_2-NewPolylineConstraint-GF
Conflicts:
	.gitattributes
2013-01-21 14:33:33 +01:00
Andreas Fabri b307771892 bug fix for natural_neighbor_coordinates_2 using a small feature in the conflict zone functions of Delaunay_triangulation_2 2013-01-08 12:34:37 +01:00
Philipp Möller 0f34f2a89e Merge branch 'Maintenance-include-less-boost-pmoeller' 2012-12-21 09:44:18 +01:00
Sébastien Loriot 41362b6b57 Merge branch 'triangulation_2-cstr_using_ranges' 2012-12-21 08:42:25 +01:00
Sébastien Loriot 84caad7137 using the regular triangulation filtered traits using flags in the kernel 2012-12-20 16:12:38 +01:00
Sébastien Loriot 59f9e8a778 add constructor from range for 2D Delaunay and Regular triangulation 2012-12-19 17:10:57 +01:00
Sébastien Loriot 09e42c760e fix source vertex and face types 2012-12-19 10:52:56 +01:00
Sébastien Loriot 853c658a18 add copy_tds with converter in TDS2 2012-12-19 10:15:03 +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
Laurent Rineau 96319a1365 reintegrate '^/branches/features/Triangulation_2_UseTraitsInHierarchy-GF' 2012-11-07 14:59:00 +00:00
Sébastien Loriot ef81760b85 macro renaming 2012-11-02 08:58:21 +00:00
Laurent Rineau ef5b895a93 merge from next 2012-11-02 08:49:12 +00:00
Sébastien Loriot 6ff851e791 macro renaming 2012-11-02 08:44:08 +00:00
Sébastien Loriot 6da5e9e84d unrecursive version of propagating_flip and propagate_conflicts
for CDT2 and DT2 using 100 recursive calls before switching to
a local stack in a function.
2012-10-30 13:16:52 +00:00
Sébastien Loriot 720244f8f8 apply the same choice as the one made in r73262 for CDT_2 2012-10-24 21:39:38 +00:00
Sébastien Loriot cd165546fc Remove all alternatives to propagating_flip to keep one that allow to use the call
stack for at most 100 recursive calls and switch to a non-recursive function
that uses a local std::stack to emulate the call stack.

Benchmarks show the following results:

7 runs on 10,000,000 random in unit circle points

43.67074 : Old implementation
43.91474 : use stack for 100 first call then non-recursive with stack
44.07075 : use stack for 100 first call then non-recursive with vector
44.57079 : Local vector
45.0068 : Local stack
45.87886 : Local fixed size array
46.3829 : Local "home-made" small vector
53.41534 : Thread-local vector
2012-10-24 21:35:17 +00:00
Sébastien Loriot a7b02bd716 merge experimental-packages/Triangulation_2-unrecursive 2012-10-24 09:26:32 +00:00
Sébastien Loriot 5c4ae5d477 windows mixes up Fb template parameter with nested Fb type from base class 2012-08-22 06:48:49 +00:00
Laurent Rineau db194534c7 First big patch to fix -Wunused-local-typedefs
-Wunused-local-typedefs is a new warning flag of gcc-4.7, and it will enabled
 by -Wall since gcc-4.8 (not yet released).

The fix is a big set of removals of unused typedefs (or comments, or moves,
depending on the context).
2012-08-01 13:29:16 +00:00
Marc Glisse a758751485 Remove / comment out unused local typedefs. Fix one place where FT was used instead of RT (homogeneous coordinates, probably never compiled). 2012-07-28 06:21:06 +00:00
Sébastien Loriot 3e750c6fd7 temporary hack to work around assertion 2012-07-17 12:08:49 +00:00
Laurent Rineau 49404f75f5 Improved patch
The Constraint_hierarchy is now templated by T, an anonymous type (that is
a Vertex_handle when the constraint hierarchy is used in Ct_plus_2), and a
Compare operator, that have a comparison member function:
  bool operator()(T, T);

In Ct_plus_2, the Compare operator passed to the Constraint_hierarchy
compares the vertices with a Less_xy_2, implemented by Less_x_2, and
Less_y_2.

The test test/Triangulation_2/include/CGAL/_test_cls_hierarchy_2.h has been
tweaked, to check that the type T passed in the hierarchy no longer needs
to have a point() member function, as it was before May 2010 (when GF has
determinized the Cdt_plus_2 using too simple patch).
2012-06-28 09:16:23 +00:00
Andreas Fabri 7cb640d05d The Constraint_hierarchy_2 gets an additional LessXY_2 functor as template argument so that it no longer applies operator<(Point,Point) 2012-06-25 10:11:56 +00:00
Philipp Möller 5f6b09c484 Fix types of loop counters to size_t. 2012-06-20 09:15:34 +00:00
Sébastien Loriot 19857458b6 deprecation warnings 2012-05-28 07:28:03 +00:00
Menelaos Karavelas 9201c1f2c3 implementation and documentation for the Rebind_vertex and Rebind_face small
feature of the TDS_2 concept.
The release manager has approved the commit directly into the next branch.
2012-05-24 14:07:56 +00:00
Philipp Möller 8529612009 Drop some never implemented members from the hierarchy.
Remove keep_points from PCT and PHierarchy.
Document the effect of the fixed member in simplify.
2012-05-14 13:09:03 +00:00
Philipp Möller a3ae98b371 Add a range overload for insert_constraint and document it.
Fix the return types in the documentation. 
Add both overloads of push_back to be more similar to C_t_plus
2012-05-14 12:10:16 +00:00
Philipp Möller bd81c4fe68 Minor copy&paste fix 2012-05-11 15:14:02 +00:00
Philipp Möller af62f9848b constness, insert pair<Point, Point>, Self typedef 2012-05-11 13:27:17 +00:00
Philipp Möller c72b426896 Propagated that change up through the hierarchy. (*it)-> syntax for
Vertex_it still feels a little bit awkward but is the best we can get.
2012-05-10 16:02:11 +00:00
Philipp Möller 918a6084ab Node is now entirely encapsulated. 2012-05-10 14:26:46 +00:00
Philipp Möller a2c0e017e3 Dropped the H_ prefix and purged some typedefs. 2012-05-10 13:53:43 +00:00
Philipp Möller cfea03d54b Dropped out-dated examples, simplify.cpp example compiles. 2012-05-10 13:35:00 +00:00
Philipp Möller 9464dccbb5 Clean up and Node conversions. 2012-05-10 09:51:09 +00:00
Philipp Möller 3c98b60509 Removed simplification from this package. 2012-05-09 15:38:28 +00:00