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
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
Marc Glisse
32b87fbc17
uglify private typedef for clang
2010-11-10 21:17:45 +00:00
Marc Glisse
6501cf181a
Rename private typedef for clang.
2010-10-28 06:56:55 +00:00
Marc Glisse
601d187c06
Rename private typedef for clang
2010-10-27 09:27:32 +00:00
Laurent Rineau
5b22e449e0
Kernel::Compare_distance_[23] with three objects, similar to
...
compare_distance_to_point, but with any object types
2010-10-11 11:10:32 +00:00
Laurent Rineau
531884edfb
Add a fwd-declaration of orientationC2 (for clang)
2010-09-22 16:05:43 +00:00
Laurent Rineau
351c3233be
- Deprecate operator()(T1, T2, T3, T4) of Kernel::CompareSquaredDistance_[23]
...
and move it to Kernel::CompareDistance_[23].
- Add CGAL::compare_distance(T1, T2, T3, T4).
(Test suite OK.)
2010-08-03 14:22:25 +00:00
Laurent Rineau
a97730f073
Move Compare_squared_distance_[23] from Cartesian and Homogeneous to
...
Kernel_23: their implementation were identical.
2010-06-30 10:04:49 +00:00
Laurent Rineau
7106e69e7a
Fix keyword $URL$ and $Id$: "$URL: " and "$Id: " are not correct Subversion keywords
2010-06-29 12:47:18 +00:00
Andreas Fabri
0d46b11509
For VC-10 we have to change FT* to cpp0x<>::const_iterator
2010-06-14 07:11:59 +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
546cd0a38b
Missing #include
2010-05-21 17:12:50 +00:00
Laurent Rineau
67928706cf
C++ conformance: calls to member templates of dependent names must be
...
qualified with the "template" keyword.
Example:
template <typenam T>
void f(T foobar) {
foobar.get<0>().foobar(); // error
}
must be written:
foobar.template get<0>().foobar();
2010-05-16 16:50:24 +00:00
Andreas Fabri
3af7501d6d
Another 'using' for strict ansi
2010-05-06 16:09:23 +00:00
Sébastien Loriot
b18ab2c555
add missing using detected by intel strict-ansi
2010-04-27 06:43:43 +00:00
Sylvain Pion
d2a078803b
Add a new Boolean constant in the kernel, Has_filtered_predicates.
2009-10-16 12:07:18 +00:00
Sébastien Loriot
48909a6a24
add operator() for one point to Compare_squared_radius
2009-10-13 08:35:40 +00:00
Andreas Fabri
c13fede7aa
sorry about breaking the testsuite
2009-08-25 07:14:39 +00:00
Sylvain Pion
8573fe26ce
Rename CGALi to internal.
2009-08-24 17:10:04 +00:00
Andreas Fabri
18084a7fbd
Add operator to Compare_squared_distance_3
2009-08-24 14:59:57 +00:00
Laurent Rineau
d12cfb478c
Fix indentation that was altered by the following revision:
...
| ------------------------------------------------------------------------
| r42811 | spion | 2008-04-09 15:35:34 +0200 (Wed, 09 Apr 2008) | 11 lines
|
| Rename the following functions:
| det2x2_by_formula
| det3x3_by_formula
| det4x4_by_formula
| det5x5_by_formula
| det6x6_by_formula
| to:
| determinant
|
| How cute... a name independent of the dimension, and even readable !
|
| ------------------------------------------------------------------------
2009-08-20 10:30:44 +00:00
Sylvain Pion
927b432b39
typo : mecanism -> mechanism.
2009-08-10 15:57:03 +00:00
Sébastien Loriot
ee8f225830
object_cast -> assign : remove warning uninitialized variables (approved by RM)
2009-07-09 08:38:56 +00:00
Sébastien Loriot
5b876a34f5
Remove a warning conversion from float to sign (approved by RM)
2009-07-09 08:17:11 +00:00
Andreas Fabri
3b2dedad68
Add squared radius for a point to make kernels model of the alpha shape traits class
2009-07-06 11:36:33 +00:00
Sébastien Loriot
0e76f6c8b4
correct has_on pb
2009-06-26 14:15:56 +00:00
Sébastien Loriot
88f5116094
remove duplicated operator() in Has_on_3
2009-06-25 05:54:18 +00:00
Sébastien Loriot
1d383069db
add documented has_on for point and circle on a sphere
2009-06-24 16:26:51 +00:00
Sylvain Pion
3e3725bccd
Paranoia is always good : make the constructors of the internal *C[23] classes also explicit.
2009-05-26 07:54:52 +00:00
Sylvain Pion
979e397b26
The compiler is getting lost with all those solve() functions,
...
so qualify this one by CGAL::.
2009-05-25 08:53:20 +00:00
Sylvain Pion
f529155cef
Missing #include in last change.
2009-05-20 10:43:29 +00:00
Sylvain Pion
685acc37d5
Move CGAL::solve to CGAL::Cartesian_internal::solver to protect bad lookups (AK_for_sphere is confused).
2009-05-20 09:58:52 +00:00
Sylvain Pion
f0ed774e37
Move CGAL::array to namespace CGAL::cpp0x, like tuple.
2009-04-30 14:03:52 +00:00
Laurent Rineau
16ab0cd242
Add a *useful* comment.
2009-02-02 13:09:25 +00:00
Andreas Fabri
89b1fa46fa
AND Uncertain with & in order to prevent assertion being triggered by interval arithmetic
2008-11-21 08:01:45 +00:00
Pedro Machado Manhaes de Castro
7236659148
o->p
2008-11-12 11:51:47 +00:00
Pedro Machado Manhaes de Castro
4caabbbed9
back
2008-11-12 11:40:52 +00:00
Pedro Machado Manhaes de Castro
d806a089ee
small fix a.rep().orientation() -> a.orientation()
2008-11-10 12:05:49 +00:00
Pedro Machado Manhaes de Castro
a65aceddf2
radical line as well
2008-10-20 14:44:37 +00:00
Sylvain Pion
4aa1cb057a
Remove my email adress from header files.
2008-10-11 20:21:08 +00:00
Pedro Machado Manhaes de Castro
8960a3dd58
Some forgotten operators on functors for Circle_3
2008-10-02 16:31:35 +00:00
Sylvain Pion
4c79d1d5cf
Rename Bool_type to Boolean.
2008-08-26 13:40:26 +00:00
Sylvain Pion
53f5c9679b
Add a using directive "using std::array" in namespace CGAL to import either:
...
- C++0x's std:array from <array>
- TR1's std::tr1::array from <tr1/array>
- boost::array from <boost/array.hpp>
Motivation : GCC's std::array is faster than boost::array.
Move CGALi:make_array to namespace CGAL.
Document CGAL::array.
2008-08-26 13:08:16 +00:00
Sylvain Pion
c1389c006d
Add a couple of handy functions:
...
bool are_sorted(const T & a, const T & b, const T & c)
bool are_strictly_sorted(const T & a, const T & b, const T & c)
bool are_ordered(const T & a, const T & b, const T & c)
bool are_strictly_ordered(const T & a, const T & b, const T & c)
2008-08-12 12:43:20 +00:00
Sylvain Pion
5c5f891fa5
Make some use of CGAL_AND.
2008-08-12 11:55:24 +00:00
Sylvain Pion
869f4ceae1
Use & instead of && (in assertions, using && does not make much sense).
2008-08-12 11:54:48 +00:00
Sylvain Pion
69e7b4f7c6
Remove buggy typedef for Orientation.
2008-07-27 18:58:04 +00:00
Sylvain Pion
623a9d5319
Add missing template keyword
2008-07-27 11:51:23 +00:00
Sylvain Pion
af2bb2adaf
Remove now useless <CGAL/utility.h> includes.
2008-07-25 15:06:44 +00:00
Sylvain Pion
0e682daf9a
Replace CGAL::Triple by boost::tuple
2008-07-25 14:40:53 +00:00
Sylvain Pion
b02bc7921b
Use boost::array instead of Twotuple
2008-07-25 11:19:03 +00:00
Sylvain Pion
edaa883845
Use boost::array instead of Threetuple
2008-07-25 11:01:57 +00:00
Sylvain Pion
a6092e4dc5
Use boost::array instead of Fourtuple
2008-07-25 10:53:56 +00:00
Sylvain Pion
dc3bf72707
Remove changes.txt files.
2008-07-24 17:47:16 +00:00
Sylvain Pion
79864c0c8e
Remove Arity_tag.
2008-07-22 12:29:01 +00:00
Pedro Machado Manhaes de Castro
e8663963f2
Constructing a Circle_3 passing through three points p, q, r
2008-07-17 14:08:50 +00:00
Sylvain Pion
6ee113f820
Document the kernel typedefs specifying the return types of the predicates:
...
Bool_type, Sign, Comparison_result, Orientation, Oriented_side, Bounded_side and Angle.
2008-07-16 13:59:26 +00:00
Sylvain Pion
173ef7c590
Allow propagation of Uncertain-ty in more places, to reduce the number of exceptions.
...
- Use K::Bool_type, K::Orientation... instead of bool, CGAL::Orientation...
- More functions around Uncertain<> : make_certain(), extract_singleton(),
possible conversions tightenning.
Many conversions still remain, e.g. for switch and if statements, &&, ||...
2008-07-16 13:45:13 +00:00
Pedro Machado Manhaes de Castro
cdb365613b
Fixing Lazy for Circle_3
2008-06-26 14:25:54 +00:00
Sylvain Pion
26ec89566c
Progress towards Circle_3 and Lazy_kernel.
2008-06-19 15:38:07 +00:00
Sylvain Pion
3c37473d47
Qualify get() with CGAL:: and add missing header <CGAL/Handle_for.h>.
2008-06-17 08:13:11 +00:00
Pedro Machado Manhaes de Castro
3897f61b55
fixing the converter (and the issues with Kernel_23)
2008-06-05 08:48:58 +00:00
Pedro Machado Manhaes de Castro
11f84afb3f
Compatibility with Homogeneous
2008-06-04 10:17:58 +00:00
Pedro Machado Manhaes de Castro
b2c09cd21c
fix place
2008-06-04 09:03:30 +00:00
Pedro Machado Manhaes de Castro
1da7b344f3
Fix place (radical_plane)
2008-06-04 08:56:14 +00:00
Pedro Machado Manhaes de Castro
2428cc644f
fix place
2008-06-04 08:55:44 +00:00
Pedro Machado Manhaes de Castro
e38ddac49c
radical_plane on the right file
2008-06-04 08:47:47 +00:00
Pedro Machado Manhaes de Castro
19d5ec8173
to -> constructions/
2008-06-04 08:46:51 +00:00
Pedro Machado Manhaes de Castro
a6724b4e74
radical_plane, thanks Sylvain
2008-06-04 08:39:22 +00:00
Pedro Machado Manhaes de Castro
9b698c6039
fixing the 03/06/2008 red mosaic
2008-06-04 07:51:25 +00:00
Pedro Machado Manhaes de Castro
f5ffaf5f5c
adding Circle_3 to the Kernel
2008-06-03 12:20:12 +00:00
Pedro Machado Manhaes de Castro
fc45f43179
Adding Circle_3 object to the Kernel.
2008-06-03 12:17:16 +00:00
Andreas Fabri
029d9416cc
Added Compare_squared_radius_3
2008-05-29 09:30:10 +00:00
Sylvain Pion
55d538b335
"Ambient" is not spelled "Ambiant" in English...
2008-04-17 10:13:31 +00:00
Sylvain Pion
bbd100121b
Add barycenter computation.
2008-04-15 15:13:17 +00:00
Sylvain Pion
2389cdcc1e
Dimension detecting stuff rewrite.
...
There is now Ambiant_dimension and Feature_dimension.
The handling of the dynamic dimension case is now done by having
the di,ension tag as the first thing provided, with the integral
constant value available only when it makes sense (INT_MAX no longer needed).
2008-04-13 12:38:48 +00:00
Sylvain Pion
02e543a294
Add Dimension<T, K> whose nested "value" is the dimension of the ambiant
...
space. A special constant CGAL::Dynamic_dimension (equal to INT_MAX)
indicates the case where the dimension is only known at run time.
2008-04-11 21:03:22 +00:00
Sylvain Pion
7ace759d8e
Remove the reference-counting inside Point_2 and Point_3, as they now store
...
only a Vector_2 and Vector_3 which is responsible for the reference-counting.
2008-04-10 14:41:35 +00:00
Sylvain Pion
fbd6c53000
Make Point_2/Point_3 store a Vector_2/Vector_3.
...
This factorizes code and goes in the direction of having
a linear algebra layer.
2008-04-10 14:02:38 +00:00
Sylvain Pion
11bbf3e2de
Vector_2 and Vector_3 now also provide a Cartesian_const_iterator.
2008-04-09 17:58:57 +00:00
Sylvain Pion
ccff0db36d
Use new style with make_array(), more compact and efficient
2008-04-09 14:25:17 +00:00
Sylvain Pion
1d8779b171
Rename the following functions:
...
det2x2_by_formula
det3x3_by_formula
det4x4_by_formula
det5x5_by_formula
det6x6_by_formula
to:
determinant
How cute... a name independent of the dimension, and even readable !
2008-04-09 13:35:34 +00:00
Sylvain Pion
643ea487a0
Remove casts to Comparison_result.
...
They are useless since we merged the various enum types.
2008-04-09 12:46:22 +00:00
Sylvain Pion
b0f2c77fdc
Remove casts to Oriented_side.
...
They are useless since we merged the various enum types.
2008-04-09 12:35:10 +00:00
Sylvain Pion
b740e90de0
Rename the following functions:
...
sign_of_determinant2x2
sign_of_determinant3x3
sign_of_determinant4x4
sign_of_determinant5x5
sign_of_determinant6x6
to:
sign_of_determinant
So that we have less dimension-dependent namings, at least internally...
2008-04-09 12:20:25 +00:00
Sylvain Pion
cab843595b
Replace {Two|Three|Four}tuple<FT> or <RT> by boost::array.
...
It makes more code parameterized by the dimension as template argument.
It provides iterators and a few basic functions already such as operator==...
I added CGALi::make_array() to easily and efficiently construct them.
2008-04-09 11:44:28 +00:00
Sylvain Pion
95e3f12c58
Add operator* and comparison operators for Uncertain<>.
...
Update one predicate that could not cope with that change
(due to operator?: not being overloadable).
2008-04-02 08:52:08 +00:00
Sylvain Pion
edab7e2433
Remove some useless enum_cast<> (since some enum types have been merged).
2008-03-20 16:15:04 +00:00
Sylvain Pion
8ad227b79f
Remove most probably obsolete SunPRO workaround.
2008-01-20 22:34:19 +00:00
Sylvain Pion
9f5bad92a1
Remove my name from maintainer files where it does not resonnably make any sense anymore.
2008-01-19 14:29:27 +00:00
Sylvain Pion
7f6f380b11
Final step at the removal of CGAL_REP_CLASS_DEFINED.
2008-01-03 19:26:12 +00:00
Sylvain Pion
a46b55bf71
The files "changes.txt", "description.txt", "long_description.txt" and "maintainer"
...
are now under /trunk/$Package/package_info/$Package/ .
2007-12-02 15:06:42 +00:00
Andreas Meyer
fdeedcf8b0
some low level code cleanup. renamed
...
* CGAL_error to CGAL_error_msg
* introduced a macro CGAL_error()
* added some words about CGAL_error to the developers manual
* renamed most of assert(x) into CGAL_assertion(x)
* renamed exit(x) with x != 0 , CGAL_assertion(false) and assert(false) into CGAL_error
* CORE left untouched, OpenNL changed
2007-11-07 16:51:18 +00:00
Sylvain Pion
a980bcb7e4
some updates.
2007-10-26 20:11:40 +00:00
Sylvain Pion
a3def1c3eb
Remove obsolete config flag CGAL_CFG_USING_BASE_MEMBER_BUG.
2007-08-09 09:55:09 +00:00
Sylvain Pion
448f38f407
Move 3D .bbox() to the functors to make Lazy_kernel pass, and enhance the test-suite to test .bbox()
2006-12-27 23:25:47 +00:00
Sylvain Pion
fbe285ca94
New predicates :
...
compare_squared_distance(Point_[23], Point_[23], FT), with
CompareSquaredDistance_[23] functors.
2006-10-24 05:24:31 +00:00
Sylvain Pion
ed36e763c7
Second part of Return_base_tag changes.
2006-08-16 16:38:49 +00:00
Sylvain Pion
2eb12d7441
- First part of introduction of Return_base_tag workaround for lack
...
of "forwarding constructors".
Quoting some comment in the code:
"
This is a simple tag which is used as additional (first) argument in
some kernel functors, to tell them to return the base (rep) class,
instead of the main type (e.g. Kernel_base::Point_2 instead
of Kernel::Point_2). This is a minor optimization which prevents
useless copies of the "reps".
Those functors are only those used in the constructors of the kernel
types like Point_2, so it's limited.
The real solution will be to use "forwarding constructors", when they
will be available in C++.
In the mean time, this should be a mostly/hopefully internal hack.
"
2006-08-16 14:56:11 +00:00
Andreas Fabri
b927eb413d
fixed min/max problem
2006-08-16 14:24:44 +00:00
Sylvain Pion
daee2152ec
Make the return type of the function operator() of the
...
Construct_point_2 functors be the Rep class (the base).
This avoids conversions Rep -> Point_2 -> Rep, hence
useless copies of objects.
The result_type of the functors does not change
(we therefore return a type which is only convertible
to result_type, but hopefully this is fine, and what standard
requirements on functors are anyway).
A real fix for this would require the language addition of
"forwarding constructors".
2006-08-11 11:48:16 +00:00
Sylvain Pion
23104c32ee
Ray_2.is_degenerate() was buggy.
2006-08-11 09:01:04 +00:00
Sylvain Pion
7f0f39cd1a
Use constant<FT,int> to compute .hw() and make it return by const-ref.
2006-08-08 15:38:23 +00:00
Sylvain Pion
08da24539d
Remove local functors in functors, as they bloat memory,
...
and we have no use for this so far, and if we get some
use for this at some point, the ordering between functors
will need to be specified anyway.
2006-08-07 17:44:02 +00:00
Sylvain Pion
078c86aec6
- Use CGAL_Kernel_obj to iterate over objects
...
- Fixes (?) for vector<Object> handling.
2006-08-07 17:43:04 +00:00
Sylvain Pion
c50783f08f
Bad luck: "equi-distant" -> "equidistant" (thanks Andreas).
2006-08-07 16:11:40 +00:00
Sylvain Pion
38853d1b10
- Optimize equi_distant_line() by merging the calls to
...
circumcenter() and cross_product().
- Add ctors to Point_[23] and Vector_[23] that take
int, double, and FT coordinates, instead of only RT.
2006-08-07 15:57:40 +00:00
Sylvain Pion
99394f2bed
Prefer .to_vector() to .direction() when converting Line_3 as this is what is stored
2006-08-07 12:41:26 +00:00
Sylvain Pion
f9c1159ed4
inline calls to circumcenterC3() in the functors to avoid
...
dummy default ctors.
2006-08-07 11:54:41 +00:00
Sylvain Pion
cc7624fa5c
Last bunch of I/O changes to alloz Lazy_kernel to pass the kernel-I/O test-suite.
2006-08-06 16:37:35 +00:00
Sylvain Pion
5d3ca03180
You believed this could be something else ? : Move Plane_3 I/O to user class level
2006-08-06 16:06:39 +00:00
Sylvain Pion
812a7c8cbd
You guessed right : Move Tetrahedron_3 I/O to user class level
2006-08-06 15:59:24 +00:00
Sylvain Pion
02414e55f0
Guess what : Move Iso_cuboid_3 I/O to user class level
2006-08-06 15:55:58 +00:00
Sylvain Pion
e6f5182e7a
Move Triangle_3 I/O to user class level
2006-08-06 15:50:48 +00:00
Sylvain Pion
38c91de538
Move Ray_3 I/O to user class level
2006-08-06 15:45:55 +00:00
Sylvain Pion
cce78c4286
Move Line_3 I/O to user class level
2006-08-06 15:40:06 +00:00
Sylvain Pion
ac192e33ec
Move Segment_3 I/O to user class level
2006-08-06 15:35:57 +00:00
Sylvain Pion
3634f311e2
Move Direction_3 I/O to user class level
2006-08-06 15:29:08 +00:00
Sylvain Pion
ab88a8e595
Move Vector_3 I/O to user class level
2006-08-06 15:18:37 +00:00
Sylvain Pion
ef0f5d103f
Move Triangle_2 I/O to user class level
2006-08-05 23:31:09 +00:00
Sylvain Pion
45e65df64c
Move Ray_2 I/O to user class level
2006-08-05 23:18:30 +00:00
Sylvain Pion
aa9fb702a0
Move Segment_2 I/O to user class level
2006-08-05 23:04:36 +00:00
Sylvain Pion
eb4be2820d
Move Direction_2 I/O to user class level
2006-08-05 22:55:06 +00:00
Sylvain Pion
0e7340c184
Move Vector_2 I/O to user class level
2006-08-05 22:34:47 +00:00
Sylvain Pion
48390a019a
Move Sphere_3 I/O to user class level.
2006-08-05 22:17:02 +00:00
Sylvain Pion
c7f1f68b40
Move Point_3 I/O to user class level.
2006-08-04 12:08:14 +00:00
Sylvain Pion
f4be5b9920
Add overloads of circumcenter() taking only 2 Point_2 (or Point_3),
...
that is, the same thing as midpoint(), but with a uniform notation.
Same thing for the corresponding functor.
2006-08-03 17:07:39 +00:00
Sylvain Pion
9424d0e9d8
Remove some assertions, as they must not pop-up, since they are
...
used by Cartesian_converter/Homogeneous_converter, where we
absolutely must not throw.
TODO : find a way to keep the assertion while having the
converters still work. (should types come with their
own conversions, like they all have .bbox() ?)
2006-08-03 11:29:12 +00:00
Sylvain Pion
ea748e53d4
Add new constructor to Iso_rectangle_2(Point_2, Point_2, int).
...
The additional dummy "int" specifies that the 2 points are
the lower-left and upper-right corner. This is more efficient
when one knows they are already in this configuration.
Same thing for Iso_cuboid_3, and the functors.
Use them in Cartesian_converter and Homogeneous_converter.
2006-08-03 09:40:12 +00:00
Sylvain Pion
89d1821b6f
Remove blanks at end of lines
2006-08-03 08:39:26 +00:00
Sylvain Pion
6ee4e656e7
Add determinant(Vector_2, Vector_2)
...
Add determinant(Vector_3, Vector_3, Vector_3)
And corresponding functor.
2006-08-02 18:57:40 +00:00
Sylvain Pion
b7614eee4e
More code move towards user classes, and improve 3D support for LazyK.
2006-08-02 11:23:56 +00:00
Sylvain Pion
a63e4909f9
Move some Vector_3 functions to user class level.
2006-08-02 08:32:23 +00:00
Sylvain Pion
38956c9b10
Move yet another bunch of code to user classes...
2006-08-01 16:15:07 +00:00
Sylvain Pion
ca7ca6c0bc
More code move to user classes.
2006-08-01 15:39:37 +00:00
Sylvain Pion
4408fa1c2a
More code move to user classes.
2006-08-01 14:10:09 +00:00
Sylvain Pion
a04f166f1f
- Move more code to the "user classes".
2006-08-01 13:17:03 +00:00
Sylvain Pion
cbd6fc9417
Move .transform() in the 3D user classes.
...
Move some functions in the 3D user classes instead of the internal
rep classes.
2006-08-01 12:09:47 +00:00
Sylvain Pion
04b834db9a
Move .transform() functions to the "user classes" level.
2006-08-01 09:08:28 +00:00
Sylvain Pion
ee5a821e91
- Remove old useles "FIXME : construction" comments.
...
- Replace calls to Direction_2.to_vector().x() by Direction_2.dx().
2006-08-01 08:18:19 +00:00
Sylvain Pion
ead2e93fdb
- Add missing functor for compare_yx().
2006-07-31 16:22:08 +00:00
Sylvain Pion
e208720200
Comment out compare_deltax_deltay() predicate, as it is undocumented,
...
unused in CGAL, and does not have corresponding functor.
2006-07-31 15:52:21 +00:00
Sylvain Pion
29ae445a5b
Remove obsolete /*CGAL_NO_FILTER*/ markers (they were used by Filtered_exact).
2006-07-30 13:02:57 +00:00
Sylvain Pion
72e208d8dd
<CGAL/Interval_arithmetic.h> is deprecated -> <CGAL/Interval_nt.h>
2006-07-12 13:14:19 +00:00
Sylvain Pion
45bfd07a83
Remove some #include <CGAL/Arithmetic_filter/...> (Filtered_exact stuff).
2006-07-12 12:03:52 +00:00
Efi Fogel
41b290310d
renamed Bool to Bool_type to avoid a conflict between a macro of the same name defined in Xlib.h
2006-06-13 14:35:19 +00:00
Andreas Fabri
26a8725c3b
If its a class members must become public (thanks Sylvain)
2006-04-21 12:06:39 +00:00