Commit Graph

177 Commits

Author SHA1 Message Date
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 9e94ee6178 Change the Power_test 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 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 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
Andreas Fabri 18dc806094 qualify compare with CGAL:: to avoid Koenig lookup 2013-03-19 08:31:32 +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
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 542f5d9c51 Merged ^/branches/next here 2012-04-16 08:53:21 +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
Sébastien Loriot 91a5327fa8 change LGPLv2 -> LGPLv3 2011-10-10 13:48:25 +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
Sébastien Loriot 0c092b2da3 static_cast<const XXX &> to avoid copy 2011-06-29 07:02:20 +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
Sébastien Loriot e5a96255ba *remove warnings.
In particular remove UNTESTED_XXXXXXXXXXX unused variable that possibly hide true warnings. 
In those cases, the string printed while executed now starts with "NOTE: ".
*CGAL internal code no longer rely on depecrated features
2011-02-28 15:28:28 +00:00
Sébastien Loriot 78a8e36522 small features to add additional operator() to Angle_2.
This is a merge from the branch /branches/experimental-packages/More_robust_Triangulation_2-branch
2011-01-07 10:45:13 +00:00
Sébastien Loriot ace9c87934 revert dirty commit 60628 2011-01-07 10:37:54 +00:00
Sébastien Loriot 99dda59784 add operator() to Angle_2 functor (code,global function,doc,test).
That was submitted as small feature.
2011-01-07 10:04:06 +00:00
Laurent Rineau 212ea5a473 Merge in trunk the code of https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/Kernel::Has_filtered_predicates_tag 2010-12-16 16:09:23 +00:00