Simon Giraudot
886c7bce5b
Fix AND boolean operation with CGAL::possibly
2018-01-16 12:19:28 +01:00
Simon Giraudot
bf03a53e1c
Bugfix: use largest scalar when computing Plane_3::point() to avoid badly defined point
2018-01-15 10:18:29 +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
Andreas Fabri
d95a6e8a4c
Fix for Construct_bbox_2::operator(Triangle_3) with Simple_cartesian<Interval_nt<0>>
2017-11-30 16:36:53 +00: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é
b9c9a67bbc
Fixed Compute_squared_radius_2's return type
2017-08-22 14:22:25 +02:00
Laurent Rineau
ec3d605316
Merge pull request #2245 from lrineau/Cartesian_kernel-fix_issue_2206-lrineau
...
Fix #2206
2017-07-17 12:04:15 +02:00
Laurent Rineau
9ec5afb7c5
Fix #2206
...
@mglisse:
> For number types using expression templates, we need to specify the
template parameter
2017-07-10 17:45:27 +02:00
Mael Rouxel-Labbé
e95d3d3f2b
Make all conversions between Point and Weighted_point explicit
...
Also doc changes
2017-06-28 10:14:35 +02:00
Jane Tournois
223e3a20b6
make constructors of Weighted_point explicit
...
and fix compilation errors
2017-06-28 10:14:35 +02:00
Laurent Rineau
39036d4807
Merge pull request #2122 from sgiraudot/Kernel-Fix_plane_to_2d-GF
...
Cartesian kernel: improve plane bases computation
2017-05-29 11:17:05 +02:00
Simon Giraudot
62df1454e3
Add CGAL::possibly in boolean test
2017-05-16 13:44:37 +02:00
Simon Giraudot
f303f14f4f
Improve plane bases computation
2017-05-16 09:05:45 +02:00
Andreas Fabri
5f8bc52082
Add angle(Point_3, Point_3,Point_3,Vector_3)
2017-05-12 09:48:23 +02:00
Mael Rouxel-Labbé
c79e2d4b36
Added Compute_power_product_2 to the 2D kernel predicates
...
doc + test included
2017-04-21 13:07:40 +02:00
Mael Rouxel-Labbé
bb086ff739
Added power_side_of_bounded_power_circle_2 to the 2D kernel predicates
...
A partial implementation was deleted from the Alpha_shapes_2 package without
moving the functions to the kernel...
This implementation adds the missing overloads (4, 3, and 2 points)
Test + doc included
2017-04-21 11:37:27 +02:00
Mael Rouxel-Labbé
232c38cee1
Removed documentation of degenerate cases of power_side_of_oriented_* predicates
...
See Issue https://github.com/CGAL/cgal/issues/2067
2017-04-20 12:54:39 +02:00
Mael Rouxel-Labbé
58883e74cc
Cleaning, same as 6c1c2fa (forgot some predicates, again)
2017-04-20 12:01:37 +02:00
Mael Rouxel-Labbé
6c1c2fa27b
Cleaning, same as 1223f5f (forgot some predicates)
2017-04-19 14:38:00 +02:00
Mael Rouxel-Labbé
1223f5f5a0
Improved readability of weighted point-related functors (no real changes)
...
Fixed indentation, trailing whitespace, english, etc.
2017-04-19 11:40:58 +02:00
Mael Rouxel-Labbé
dd2e7f3a0c
Made compute_squared_smallest_orthogonal_circle_2() a kernel functor
...
and documented, tested, etc. it
Previously in Alpha_shape_2
2017-04-19 11:06:14 +02:00
Mael Rouxel-Labbé
7d16ce69ec
Removed mentions of explicit conversions between Weighted points and Points
...
This is for another branch!
2017-04-11 15:49:29 +02:00
Mael Rouxel-Labbé
365cfd0566
Fixed predicate Power_side_of_oriented_power_sphere_3
...
The Homogeneous kernel doesn't know how to run that predicate
for 3 or 4 arguments so it must be defined in Kernel/function_objects until
those operators are added
2017-04-06 21:57:21 +02:00
Mael Rouxel-Labbé
322cdd83ab
Fixed predicate Compare_power_distance_2
2017-04-06 18:18:37 +02:00
Mael Rouxel-Labbé
548d2bfb02
Cosmetic changes to Point_23 and Weighted_point_23
2017-04-06 12:38:18 +02:00
Mael Rouxel-Labbé
aacf8db95f
Fixed includes and typedefs in Weighted_point_23
2017-04-06 12:35:24 +02:00
Mael Rouxel-Labbé
2d2e675dac
Fixed missing operators in Cartesian and homogeneous construct_weighted_point_23
2017-04-06 12:18:36 +02:00
Sébastien Loriot
a89ccb10e7
remove non UTF-8 characters
2017-01-19 15:20:26 +01:00
Jane Tournois
2b66bb75e9
add Same_uncertainty_nb to return types
2016-11-03 14:55:39 +01:00
Jane Tournois
3c789fb378
rename power_side_of_power_sphereC3 to power_side_of_oriented_power_sphereC3
2016-11-03 14:55:39 +01:00
Jane Tournois
f3a021a195
rename in_smallest_orthogonal_sphereC3 to power_side_of_bounded_power_sphereC3
2016-11-03 14:53:54 +01:00
Andreas Fabri
ad9d2c369c
Rename tests following Olivier's recommendations
2016-11-03 14:53:54 +01:00
Andreas Fabri
d78735364b
Fixes after review by Monique and Olivier
2016-11-03 14:53:15 +01:00
Andreas Fabri
f488b9baf9
Changes after Laurent's review
2016-11-03 14:53:15 +01:00
Andreas Fabri
59cedfc7dd
Fix Mesh_3
2016-11-03 13:08:31 +01:00
Andreas Fabri
44d0fa4d6f
fix the 2D triangulations
2016-11-03 13:08:31 +01:00
Andreas Fabri
ea50fb811d
Cleanup. The 2D and 3D triangulation testsuite pass
2016-11-03 13:07:50 +01:00
Andreas Fabri
c2ee0ae9a8
Use Quotient<RT> as weight in the H2 power_tests
2016-11-03 13:07:50 +01:00
Andreas Fabri
9dde08c414
WIP
2016-11-03 13:07:50 +01:00
Andreas Fabri
7d35bb0a8b
First move the C2 and H2 pedicate and construction files operating on the RT
2016-11-03 13:07:50 +01:00
Andreas Fabri
9e94ee6178
Change the Power_test
2016-11-03 13:07:17 +01:00
Andreas Fabri
c0f7b001c1
Rename C3 implementation of Compute_critical_squared_radius_3
2016-11-03 13:07:17 +01:00
Andreas Fabri
95027822f5
move predicates and constructions in Kernel packages
2016-11-03 13:07:17 +01:00
Andreas Fabri
af6c2e185e
remove Compute_point_3
2016-11-03 13:06:02 +01:00
Andreas Fabri
841ecfe8f4
Add an operator so that the T3 testsuite passes
2016-11-03 13:06:02 +01:00
Andreas Fabri
cf1e513c83
cleanup
2016-11-03 13:04:43 +01:00
Andreas Fabri
6a8f77c5ff
Added CGAL::Weighted_point_3<K> and the predicates and constructions of the Regular Traits to the kernel
...
- The Regular 3 testsuite passes
- only 3D
- not documented
2016-11-03 13:04:43 +01:00
Andreas Fabri
92a854093e
Add Weighted_point_3
2016-11-03 13:04:43 +01:00
Laurent Rineau
f2e7050364
Merge pull request #1428 from sloriot/AABB_tree-fix_Closest_point
...
Fix implementation of AABB_traits::Closest_point
2016-10-17 10:03:20 +02:00
Sébastien Loriot
5c02296eb9
move internal code
2016-10-11 11:31:19 +02:00
Andreas Fabri
c12f285ee4
Dispatch the files in Kernel_23, Cartesian, Homogeneous
2016-09-22 08:38:53 +02:00
Sébastien Loriot
c751ab4310
Add operators for segment and triangle types in Construct_projected_point_3
...
the original implementation comes from the AABB-tree package
2016-09-01 16:04:55 +02:00
Laurent Rineau
3e4fcd8d90
Fix compilation error with gmpxx
...
That is a follow-up to the following commit:
> commit 6b51b12ab5
> Author: Laurent Rineau <laurent.rineau@cgal.org>
> Date: Fri Oct 4 16:42:13 2013 +0200
>
> Fix the case when FT is mpq_class
>
> If x and w are mpq_class objects, then the type of x/w is not mpq_class,
> but only a proxy type that is implicitly convertible to
> mpq_class. With the type deduction, CGAL::make_array(x/w, y/w,
> z/w) will not create an array<mpq_class> but an array of the proxy type.
>
> That creates the following compilation error, in a ternary operator:
>
> - with clang:
> include/CGAL/Cartesian/Vector_3.h:78:25: error: incompatible operand types ('array<__gmp_expr<[...], struct __gmp_binary_expr<class __gmp_expr<mpq_t, mpq_t>, class __gmp_expr<mpq_t, mpq_t>, struct __gmp_binary_divides>>, [...]>' and 'array<__gmp_expr<[...], __mpq_struct [1]>, [...]>')
> : base( w != FT_(1) ? CGAL::make_array(x/w, y/w, z/w)
> ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> - with g++:
> include/CGAL/Cartesian/Vector_3.h:78:25: error: no match for ternary 'operator?:' (operand types are 'bool', 'std::array<__gmp_expr<__mpq_struct [1], __gmp_binary_expr<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, __gmp_expr<__mpq_struct [1], __mpq_struct [1]>, __gmp_binary_divides> >, 3ul>', and 'std::array<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, 3ul>')
> : base( w != FT_(1) ? CGAL::make_array(x/w, y/w, z/w)
> ^
>
> The fix is to specify the template argument of CGAL::make_array.
The first patch in 2013 was on `Vector_3`, but `Vector_2` also suffers
from the issue.
2016-07-13 16:30:07 +02:00
Andreas Fabri
dd249bb1f0
Call opposite() when changing the order of arguments
2016-04-16 21:02:38 +02:00
Andreas Fabri
d00c04777e
Remove ambiguity reported by GCC
2016-04-15 10:31:33 +02:00
Andreas Fabri
2613be3c1b
Add specializations for Compare_distance_3 for points/segments
2016-04-13 12:35:00 +02:00
Simon Giraudot
1636ff238c
Remove useless copy constructor
2016-01-07 14:02:26 +01:00
Simon Giraudot
b5da6bb4f2
More efficient constructor for Rep
2015-12-17 08:32:33 +01:00
Simon Giraudot
85086088eb
Add default constructor to internal pair struct
2015-12-16 15:29:50 +01:00
Simon Giraudot
78d6384255
Add constructors to internal pair struct
2015-12-16 15:26:32 +01:00
Simon Giraudot
2cbaad50da
Bugfix: do not use std::pair in Line_3 to avoid is_convertible trouble with clang c++11
2015-12-16 12:25:56 +01:00
Andreas Fabri
ab2ad75091
Qualifying with CGAL:: solves the problem, but is it the bestsolution?
2015-08-25 16:19:56 +02:00
Jane Tournois
c19d370265
fix missing namespaces
...
fix compilation of advancing front for msvc 2015
2015-08-11 15:29:16 +02:00
Philipp Möller
5f99e2da4e
Make FT typedef public
...
This way we no longer trigger a hard error in strict C++03.
This is only a stop-gap solution. The actual issue is that the internal
namespace is full with unrelated components and does not fulfill its
purposee as an SFINAE barrier anymore.
Fixes #129
2015-08-06 12:17:17 +02:00
Laurent Rineau
f5343911a6
fix the link to the developers manual, in the code
2015-06-19 11:15:55 +02:00
Andreas Fabri
b7f9849599
Replace CGAL::get() with CGAL::get_pointee_or_identity() and remove using get::
2015-04-30 11:31:21 +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
Laurent Rineau
6500bd907f
Add Angle_3(Vector_3, Vector_3)
...
...by similarity with Angle_2.
2014-05-21 12:18:49 +02:00
Laurent Rineau
191b01b13b
Add Angle_3()(Point_3, Point_3, Point_3, Point_3)
2014-05-21 11:04:59 +02:00
Laurent Rineau
599d9bdf3d
Modify a comment, to make it more useful
2014-03-24 17:58:38 +01:00
Laurent Rineau
51dbec0387
Merge remote-tracking branch 'origin/Circular_kernel_3-Use_FMP-GF'
...
- In tests of CK_3:
- use Gmpq instead of MP_float
- replace usages of Quotient<Precise_integer> by Precise_rational
- In <CGAL/Cartesian/Vector_3.h>, fix a compilation error is FT is the
GMPXX type `mpq_class`.
Tested in CGAL-4.3-Ic-194
2013-10-09 14:22:08 +02:00
Laurent Rineau
6b51b12ab5
Fix the case when FT is mpq_class
...
If x and w are mpq_class objects, then the type of x/w is not mpq_class,
but only a proxy type that is implicitly convertible to
mpq_class. With the type deduction, CGAL::make_array(x/w, y/w,
z/w) will not create an array<mpq_class> but an array of the proxy type.
That creates the following compilation error, in a ternary operator:
- with clang:
include/CGAL/Cartesian/Vector_3.h:78:25: error: incompatible operand types ('array<__gmp_expr<[...], struct __gmp_binary_expr<class __gmp_expr<mpq_t, mpq_t>, class __gmp_expr<mpq_t, mpq_t>, struct __gmp_binary_divides>>, [...]>' and 'array<__gmp_expr<[...], __mpq_struct [1]>, [...]>')
: base( w != FT_(1) ? CGAL::make_array(x/w, y/w, z/w)
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- with g++:
include/CGAL/Cartesian/Vector_3.h:78:25: error: no match for ternary 'operator?:' (operand types are 'bool', 'std::array<__gmp_expr<__mpq_struct [1], __gmp_binary_expr<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, __gmp_expr<__mpq_struct [1], __mpq_struct [1]>, __gmp_binary_divides> >, 3ul>', and 'std::array<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, 3ul>')
: base( w != FT_(1) ? CGAL::make_array(x/w, y/w, z/w)
^
The fix is to specify the template argument of CGAL::make_array.
2013-10-04 16:42:13 +02:00
Sébastien Loriot
980edb4ced
rep() cannot be used outside of a predicates
...
This was preventing convertion from EPECK to any other kernel
2013-09-26 14:41:43 +02:00
Andreas Fabri
18dc806094
qualify compare with CGAL:: to avoid Koenig lookup
2013-03-19 08:31:32 +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
Laurent Rineau
26a7e70785
New license.txt files (eol changes)
...
The new version 2.13.0 of licensecheck has changed the spaces at eol.
2013-02-19 16:46:39 +01:00
Sébastien Loriot
7b266dc5ef
In the implementation details of PlaneC3, Point_3 is not necessarily PointC3
...
this is true in the case of a user defined Kernel with its own point type
2013-02-08 09:27:02 +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
797a146560
Missing const-ness of iterator
2012-12-10 17:07:03 +01:00
Philipp Möller
84d83bf996
Use the improved Type_mapper to implement parts of Cartesian_converter
2012-12-07 18:00:46 +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
Laurent Rineau
83f909ec77
Fix missing #include
2012-10-09 09:09:23 +00:00
Laurent Rineau
7bc300794d
Fix last errors in headers of CGAL foundations
...
All were missing #include.
2012-10-08 09:03:50 +00:00
Philipp Möller
17797b7271
Merge next into this branch. There have been conflicts in the
...
AABB_tree documentation, Intersections_3 and Arrangement_on_surface_2.
The merge also introduced a regression for a bug fixed in R68387 which
fixed a bug in Triangle_3 Segment_3 intersections. The relevant
testcase is in triangle_other_intersection_test.cpp.
2012-04-24 15:06:19 +00:00
Philipp Möller
542f5d9c51
Merged ^/branches/next here
2012-04-16 08:53:21 +00:00
Laurent Rineau
a37c74d534
Add license files, per package
2012-01-16 15:54:22 +00:00
Laurent Rineau
5b5dd33848
merge changes from next
2012-01-09 12:33:39 +00:00
Philipp Möller
b8a96e9114
Merged next to this branch.
2011-12-06 17:11:01 +00:00
Laurent Rineau
befa7c8e08
Add missing #include to <CGAL/Cartesian/Plane_3.h>.
...
The added #include is not really useful but to help a reader of the code to
understand where do functions come from.
2011-12-06 11:49:21 +00:00
Philipp Möller
0e0a200646
* Using result_of instead of Qualified_result_of
...
* limited refactoring in the lazy kernel
* still bugs in circular_3
* still specialization problem with iso_rectangle
2011-11-23 17:52:38 +00:00
Philipp Möller
94affd589d
Moved the Intersection_result concept into the functors and adapted code in the lazy kernel to that change.
2011-11-15 15:40:22 +00:00
Philipp Möller
9051768cea
Introduced Intersection_results as a Kernel concept for use in public APIs in favor over Intersection_traits.
2011-11-15 13:41:14 +00:00
Sébastien Loriot
91a5327fa8
change LGPLv2 -> LGPLv3
2011-10-10 13:48:25 +00:00
Sébastien Loriot
554f62d411
remove executable property from copyright files
2011-10-03 08:18:16 +00:00
Andreas Fabri
d10a333947
Add a file with the copyright holder(s) to the package_info
2011-09-29 20:45:16 +00:00
Sébastien Loriot
dff6dda8b3
Remove from copyright holder
...
Freie Universitaet Berlin (Germany), Martin-Luther-University Halle-Wittenberg
(Germany) and RISC Linz (Austria) as they transfer the copyright to other
sites.
2011-09-21 19:46:31 +00:00
Philipp Möller
cf39a595b3
Modified cartesian converter to support optionals and variants
2011-08-25 10:11:55 +00:00
Sébastien Loriot
0c092b2da3
static_cast<const XXX &> to avoid copy
2011-06-29 07:02:20 +00:00
Sébastien Loriot
cfd2c9fa94
Andreas' fix for handling vectors of points in CGAL::Object
...
when intersecting with Lazy_kernel. Add a testfile.
2011-06-21 13:36:00 +00:00
Marc Glisse
99cb4322df
Let Construct_point_* call the constructor of Point_* as an intermediate step before Construct_point_*(Return_base_tag...) to have less copying.
2011-04-14 09:48:15 +00:00