Sebastien Loriot
bdc2f3e0db
Merge pull request #5076 from lrineau/Triangulation_2-improve_CDT_plus_2-GF
...
Triangulation_2: improve CDT_plus_2
2020-10-20 13:28:12 +02:00
Laurent Rineau
e37c290841
Better debug messages
2020-10-15 15:08:21 +02:00
Laurent Rineau
871c97273a
Merge pull request #4496 from lrineau/CGAL-move_semantic_for_triangulations-GF
...
Add move-semantic to Compact_container and Triangulations
2020-06-03 16:23:22 +02:00
Laurent Rineau
20bc78a7d7
Merge pull request #4726 from afabri/Mesh_2-deterministic_V2-GF
...
Mesh_2: Make it deterministic V2
2020-05-27 16:33:28 +02:00
Laurent Rineau
14b18f81ee
Merge pull request #4735 from lrineau/Triangulation_2-fix_CDT_2_degenerate_case-GF
...
Fix a bug in <CGAL/Constrained_triangulation_2.h>
2020-05-27 16:33:21 +02:00
Laurent Rineau
a8fca35b1d
Merge pull request #4735 from lrineau/Triangulation_2-fix_CDT_2_degenerate_case-GF
...
Fix a bug in <CGAL/Constrained_triangulation_2.h>
2020-05-27 16:32:49 +02:00
Laurent Rineau
0ea385712f
Fix compatibility with C++03
2020-05-22 14:52:18 +02:00
Laurent Rineau
3cd52cdc3e
Fix a bug in <CGAL/Constrained_triangulation_2.h>
...
The function parameter was locally shadowed by a local `int i`
variable!
Then the edge `(f, i)` in the call `remove_constrained_edge(f, i)` was
the wrong one!
The bug was introduced by ecfd82e287 ,
ten years ago.
The bug was only triggered on degenerated cases, when two constraints
intersect, but the code failed to compute the intersection. Then, if
the intersection vertex `vi` was either `vaa` or `vbb` (and not `vcc`
or `vdd`), then the edge `(f, i)` was the wrong one.
2020-05-19 17:25:10 +02:00
Laurent Rineau
12c0ec0935
New debug code in <CGAL/Constrained_triangulation_2.h>
...
... tested in `test/Triangulation_2/test_cdt_degenerate_case.cpp`.
2020-05-19 17:25:10 +02:00
Andreas Fabri
243a8b68c9
Add using and typedef
2020-05-18 15:27:59 +01:00
Andreas Fabri
8a53e00155
polish
2020-05-15 15:27:02 +01:00
Andreas Fabri
7a6bdc1946
Mesh_2: make it deterministic
2020-05-15 14:16:56 +01:00
Sébastien Loriot
86e25f7e71
Update branch from master after trailing whitespaces and tabs removal
2020-03-26 19:23:54 +01:00
Sébastien Loriot
8bb22d5b2c
extra run of the script to remove tabs and trailing whitespaces
...
right after the merge of the 5.0 release branch
+ manual fix of the files (indentation was changed in the meantime):
* Spatial_sorting/include/CGAL/Multiscale_sort.h
* Spatial_sorting/test/Spatial_sorting/test_multiscale.cpp
2020-03-26 14:26:59 +01:00
Sébastien Loriot
0779373835
extra run of the script to remove tabs and trailing whitespaces
...
right after the merge of 4.14 release branch
+ manual fix on one line in:
* Arrangement_on_surface_2/include/CGAL/IO/Arr_text_formatter.h
* .travis/generate_travis.sh
2020-03-26 14:16:06 +01:00
Sébastien Loriot
590612a563
run the script to remove tabs and trailing whitespaces
2020-03-26 13:25:16 +01:00
Sébastien Loriot
ef6949419f
Merge remote-tracking branch 'cgal/releases/CGAL-5.0-branch'
2020-03-17 18:16:39 +01:00
Sébastien Loriot
bda5680629
Merge remote-tracking branch 'cgal/releases/CGAL-4.14-branch'
2020-03-17 18:13:56 +01:00
Mael Rouxel-Labbé
1c622e0ba5
Base CDT2's edge sets on geometry to ensure determinism
...
When using face addresses, we do get the same combinatorics and
geometry in the result, but it is possible to create
different TDS' from one run to another, with a given face
not having the same order of points in memory.
2020-03-12 13:11:32 +01:00
Laurent Rineau
75ec5c0da7
Add move-semantic to T_2, CT_2, Dt_2, and CDT_2
...
Still todo: `Constrained_triangulation_plus_2`, and
`Triangulation_hierarchy_2`.
2020-01-31 15:48:45 +01:00
Laurent Rineau
14b8930f79
Fix a clang-tidy warning by using nullptr instead of 0
2020-01-31 15:48:45 +01:00
Andreas Fabri
48fedbae06
Typos: splitted -> split
2019-12-11 16:57:34 +01:00
Mael
cf83a22e2d
Merge branch 'master' into T2-Throw_on_collinear_strongly_intersecting_segments-GF
2019-12-02 16:32:29 +01:00
Sébastien Loriot
254d60f642
First pass on removing license notice in header for GPL files
2019-10-19 15:23:19 +02:00
Sébastien Loriot
7356421d80
introduce Commercial license SPDX tag
2019-10-19 12:15:19 +02:00
Sébastien Loriot
9bd9c68b83
update LGPL[23]+ and GPL[23]+ SPDX tags
...
ack -l --no-svg "SPDX-License-Identifier: GPL-3.0\+" | xargs sed -i "s/SPDX-License-Identifier: GPL-3.0+/SPDX-License-Identifier: GPL-3.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-3.0\+" | xargs sed -i "s/SPDX-License-Identifier: LGPL-3.0+/SPDX-License-Identifier: LGPL-3.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: GPL-2.0\+" | xargs sed -i "s/SPDX-License-Identifier: GPL-2.0+/SPDX-License-Identifier: GPL-2.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-2.0\+" | xargs sed -i "s/SPDX-License-Identifier: LGPL-2.0+/SPDX-License-Identifier: LGPL-2.0-or-later/"
2019-10-18 21:57:54 +02:00
Mael
962e8b10a6
Fix typo
2019-10-03 08:12:16 +02:00
Mael Rouxel-Labbé
ea8e6f3c98
Update CDT2 intersection tag documentation
2019-09-19 18:32:58 +02:00
Mael Rouxel-Labbé
7a50939809
Deprecate No_intersection_tag
...
Introduce two new tags instead, to make the behavior change clearer.
Default tag for CDT2 is changed to keep the same behavior as before
(what was called 'No_intersection_tag' and is now called
'No_constraint_intersection_requiring_constructions_tag')
2019-09-19 18:11:33 +02:00
Mael Rouxel-Labbé
9b2a7f09d7
Merge branch 'T2-Throw_on_collinear_strongly_intersecting_segments-GF-old' into T2-Throw_on_collinear_strongly_intersecting_segments-GF
2019-09-19 15:50:49 +02:00
Mael Rouxel-Labbé
e955c38215
Add a new tag allowing constraints to intersect if no construction is required
2019-08-22 12:44:16 +02:00
Mael Rouxel-Labbé
013272a466
Fix not throwing on T-like segment intersection (extremity on interior)
2019-08-19 17:55:39 +02:00
Mael Rouxel-Labbé
59e0e87e24
Readability (no real changes)
2019-08-19 17:55:26 +02:00
Mael Rouxel-Labbé
f3ccb18da0
Fix typo
2019-08-19 17:18:55 +02:00
Mael Rouxel-Labbé
869baed46f
Fix not throwing on overlapping constraints
2019-08-19 17:18:29 +02:00
Andreas Fabri
22a8edd750
doc
2019-06-04 16:52:33 +02:00
Laurent Rineau
90782d4b7f
Revert the merge of two pull-requests that target CGAL-4.14-branch
...
- Revert "Merge pull request #3857 from MaelRL/CGAL-Fix_duplicate_non_manifold_vertices-GF"
- Revert "Merge pull request #3898 from lrineau/Mesh_3-stop_during_protection-lrineau"
2019-05-14 17:50:45 +02:00
Andreas Fabri
a3d535c553
Fix compilation, Add documentation, Add test for IO
2019-05-02 10:41:12 +02:00
Andreas Fabri
4bb714fd7b
Fix OTR and T2
2019-01-18 10:34:47 +01:00
Mael Rouxel-Labbé
26c857a431
Moved unary/binary_function to CGAL::cpp98
2018-06-13 15:58:19 +02:00
Laurent Rineau
aa38a024c2
Merge pull request #3098 from lrineau/Triangulation_2-Debug_CDT2-lrineau
...
Fix CDT_2 errors, using snapping of intersection points
2018-06-01 17:26:16 +02:00
Andreas Fabri
1123afb70e
Add Bbox_{2,3}.dilate(int) so that the snapping in the CT_2 also works with Projection_traits classes
2018-05-30 14:34:34 +02:00
Laurent Rineau
c40d7124d0
Fix CDT_2 errors, using snapping of intersection points
...
When `Constrained_triangulation_2` computes the intersection of two
segments, with a floating-point number type, and with
`Exact_predicates_tag`, the computed intersection point is snapped to an
extremity of the two segments, if it is closest to 4 ulp (with the l-inf
distance).
That value `4` can be changed by defining the macro
`CGAL_CDT_2_INTERSECTION_SNAPPING_ULP_DISTANCE` to another value.
2018-05-30 14:34:34 +02:00
Sébastien Loriot
ad813dc4fe
improving the doc
2018-04-30 09:19:15 +02:00
Maxime Gimeno
5fa7181360
changes in displayed text.
2018-04-30 09:19:15 +02:00
Maxime Gimeno
50ffa39ba6
Remove duplicated overload
2018-04-30 09:19:15 +02:00
Maxime Gimeno
121e4c3c50
Replace Throw_on_intersection_tag by the existing No_intersection_tag
2018-04-30 09:19:15 +02:00
Maxime Gimeno
944b540c54
Rename exception
2018-04-30 09:19:15 +02:00
Maxime Gimeno
3165eb1971
add a specific macro to silence the new warning
2018-04-30 09:19:15 +02:00
Maxime Gimeno
fe07a1973c
add doc in the right place.
2018-04-30 09:19:15 +02:00
Maxime Gimeno
6266570fc3
Move information from cerr to compilation warning and add an exception thrown with a new documented tag
2018-04-30 09:19:14 +02:00
Andreas Fabri
6c791f161a
Triangulation_2
2018-01-17 16:12:12 +00: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
Laurent Rineau
1c2e9df8cf
Merge branch 'releases/CGAL-4.11-branch'
2017-12-19 16:29:10 +01:00
Laurent Rineau
5181cd7474
Merge branch 'releases/CGAL-4.10-branch' into releases/CGAL-4.11-branch
...
# Conflicts:
# Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/measure.h
2017-12-19 16:19:22 +01:00
Andreas Fabri
029888f85c
Derecursify insert_constraint(Vhandle,Vhandle); Increment depth of propagating_flip()
2017-11-23 15:50:26 +00:00
Sébastien Loriot
ee57fc2d6c
add SPDX identifier for files under the GPL-3+ license
2017-11-12 10:17:51 +01:00
Laurent Rineau
2b35bddfb2
Replace all std::binary_function by CGAL::binary_function
2017-10-04 16:36:32 +02:00
Mael Rouxel-Labbé
aaeaf35380
Introduced the tag "Periodic_tag" to mark distinguish periodic triangulations
2017-08-23 16:18:05 +02:00
Laurent Rineau
fc8aacc017
Fix compilation errors with non-MSVC compilers
2017-07-18 16:46:38 +02:00
Andreas Fabri
8463b1a251
Add implementation and test of Constrained_edges_iterator
2017-07-18 13:44:21 +02:00
Sébastien Loriot
50510c05ea
add include directive for license of all GPL header files
...
done using:
ack-grep "^GPL" */package_info/*/license.txt -l | awk -F "/" '{print $1}' > /tmp/gpl_packages
for i in `cat /tmp/gpl_packages | \
grep -v Operations_on_polyhedra | \
grep -v Algebraic_kernel_for_circles | \
grep -v Algebraic_kernel_for_spheres | \
grep -v Polyhedron_IO`;
do
echo $i
python Scripts/developer_scripts/add_license_in_pkg_header.py $i
done
python Scripts/developer_scripts/add_license_in_pkg_header.py Operations_on_polyhedra Polygon_mesh_processing
python Scripts/developer_scripts/add_license_in_pkg_header.py Algebraic_kernel_for_circles Circular_kernel_2
python Scripts/developer_scripts/add_license_in_pkg_header.py Algebraic_kernel_for_spheres Circular_kernel_3
python Scripts/developer_scripts/add_license_in_pkg_header.py Polyhedron_IO Polyhedron
2017-01-19 15:20:25 +01:00
Laurent Rineau
e2d04e54e0
Merge remote-tracking branch 'cgal/releases/CGAL-4.8-branch'
...
> 3176b37 Merge pull request #1452 from mglisse/Number_types-Eigen_Literal-glisse
> 1705702 Merge pull request #1417 from afabri/Polyline_simplification-Bugfix_choose_correct_Itag-GF
> 3bef239 Merge pull request #1462 from sloriot/PMP-add_missing_include
2016-09-15 17:25:20 +02:00
Andreas Fabri
147ebae4d6
Fix bug in polyline simplification:
...
We had hardwired that we use Exact_predicates_tag which is slow for EPEC
in particular with Quotient<MP_float> or leda::real
We determine the appropriate tag using Algebraic_structure_traits<FT>::Is_exact
2016-09-14 16:16:28 +02:00
Andreas Fabri
9776c053d6
simplify template parameters, Add _ postfix to Itag (thank you Marc)
2016-03-31 13:09:54 +02:00
Andreas Fabri
31dae1898f
Just Default as default does not compile, so we put the 'real' default types
2016-03-23 16:51:13 +01:00
Andreas Fabri
7a0c53496d
Mention Default in the ref manual
2016-03-23 12:43:17 +01:00
Andreas Fabri
47090906f0
Introduce CGAL::Default for the TDS of constrained triangulations
2016-03-23 10:27:39 +01:00
Andreas Fabri
9243e1eb69
Unify APIs: Add insertion of a polyline
2014-07-16 15:30:14 +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
85b29aed5f
treat merge conflicts
2014-05-15 16:09:24 +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
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
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
Sébastien Loriot
3e750c6fd7
temporary hack to work around assertion
2012-07-17 12:08:49 +00:00
Philipp Möller
da6f1be1d2
Typenamified constrained_triangulation, partially integrated skiplist
2012-05-04 13:39:22 +00:00
Andreas Fabri
c8c67ab24c
Add insert_constraint(Vertex_handle vaa, Vertex_handle vbb, OutputIterator out)
2012-04-20 10:10:08 +00:00
Sébastien Loriot
a7456a2736
merge from next
2012-01-16 15:28:51 +00:00
Sébastien Loriot
fca9a7bf54
*add operator>> for Constrained_triangulation_2
...
*update demo
*add save CDT for demo
see the related small feature:
https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/Add_read_istream_for_constrained_triangulation .
2012-01-16 13:32:05 +00:00
Laurent Rineau
8f59fd9592
Turn QPL into LGPLv3+
2012-01-13 16:33:35 +00:00
Laurent Rineau
1caaf5665c
- triangulate_half_hole was quadratic because std::list::size is a linear
...
function (not with all compilers, but at least with g++-4.4).
I have a very nasty test case where list_edges.size is more than
700000. With a quadratic function, mmy cruncher computer was not even able
to insert *one* constraint in half a day.
- Remove also the unused variable vb, and the initialization of tempo
(which is re-initialized a second time later, without using its first
value).
2010-11-23 11:07:42 +00:00
Laurent Rineau
8aaa43a8eb
Cosmetic: minimize the diff between
...
Constrained_triangulation_2::insert_constraint
and
Constrained_triangulation_plus_2::insert_subconstraint
(Add a comment, adjust the whitespace)
2010-11-12 10:26:33 +00:00
Laurent Rineau
ecfd82e287
Fix an infinite loop in CDT<EPIC, TDS, Exact_predicates_tag>
...
Add a test, that know passes, and previously failed.
2010-11-10 18:42:53 +00:00
Andreas Fabri
4d5300f583
Finally use ptrdiff_t as return type for insert(beg, end)
2010-06-23 13:29:04 +00:00
Andreas Fabri
8e75125383
int -> size_type/std::size_t
2010-06-21 13:19:03 +00:00
Sébastien Loriot
52317dd49f
add python script (replace_CGAL_NAMESPACE.py) to replace CGAL_BEGIN_NAMESPACE and CGAL_END_NAMESPACE
...
by namespace CGAL { and } //namespace CGAL. in all .h and .cpp files
in a directory.
Apply it to all packages in the trunk
Remove macro definition from the config.h file.
2010-06-09 07:37:13 +00:00
Laurent Rineau
75cc6f6057
Better C++ compliance (errors detected by Intel Compiler strict-ansi mode)
2010-05-08 10:07:13 +00:00
Andreas Fabri
e91fc65a70
Add 'using' for strict ANSI compliance
2010-05-05 12:36:24 +00:00
Andreas Fabri
be700acaba
Change rng; Remove random_shuffle
2010-01-27 15:22:31 +00:00
Laurent Rineau
b1022ef45b
Result from:
...
svn merge
'^/branches/experimental-packages/Triangualtion_2-projection_traits/Triangulation_2@48316'
'^/branches/experimental-packages/Triangulation_2-projection_traits/Triangulation_2'
.
I have merged the Triangulation_2 part of the branch
experimental-packages/Triangulation_2-projection_traits into the trunk.
This adds two files (traits classes), and a small patch to
Contrained_triangulation_2 (pass geomtraits by const ref instead of a
copy).
T2 testsuite locally launched successfully.
2009-12-08 11:11:33 +00:00
Sylvain Pion
c1ae415b18
Remove short name macros. See PR 1551.
2009-04-21 18:28:04 +00:00
Sylvain Pion
eb945bae48
SUNPRO workaround not needed anymore
2008-01-20 20:47:32 +00:00
Sylvain Pion
c2651f99e7
Get rid of CGAL_REP_CLASS_DEFINED
2008-01-03 18:49:18 +00:00
Sylvain Pion
88ed563f44
Remove some workarounds for SunPRO + RW's STL:
...
CGAL_CFG_MISSING_TEMPLATE_VECTOR_CONSTRUCTORS_BUG
CGAL_CFG_RWSTD_NO_MEMBER_TEMPLATES (partially so far)
CGAL_make_vector
CGAL_make_list
2008-01-03 14:50:13 +00:00
Sylvain Pion
f11efea26a
Slight optimization
2007-06-11 16:18:58 +00:00
Sylvain Pion
6ad01b8bc6
Use CGAL_make_vector
2007-04-02 20:40:18 +00:00
Christophe Delage
c3450d9161
Added spatial_sort support in iterator range insert() & ctors.
...
This adds requirements to TriangulationTraits2 concept :
Less_x_2 and Less_y_2 predicates.
Also fixes a few bugs in RT2 (hidden points were sometimes forgotten
in degenerate dimensions.)
2007-03-21 15:29:30 +00:00
Laurent Saboret
db6a8f948c
Change CVS keywords to SVN style
2006-02-16 14:30:13 +00:00
Laurent Saboret
1aad55d4cb
Change CVS keywords to SVN style
2006-02-14 10:08:15 +00:00