Commit Graph

232 Commits

Author SHA1 Message Date
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