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
Andreas Fabri
87266e83b6
Unify class/struct
2010-11-18 09:17:05 +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
2b800fe1bd
Fixes (for clang, but other compilers should complain the same way):
...
#include <CGAL/Handle_for.h>
prefix get with CGAL::
2010-09-22 16:05:05 +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
911104a7e0
Remove extra typename (broken testsuite) after revision 56725:
...
| ------------------------------------------------------------------------
| r56725 | afabri | 2010-06-14 09:08:25 +0200 (Mon, 14 Jun 2010) | 1 line
| Changed paths:
| M /trunk/Homogeneous_kernel/include/CGAL/Homogeneous/Homogeneous_base.h
| M /trunk/Homogeneous_kernel/include/CGAL/Homogeneous/VectorH2.h
| M /trunk/Homogeneous_kernel/include/CGAL/Homogeneous/VectorH3.h
|
| For VC-10 we have to change FT* to cpp0x<>::const_iterator
| ------------------------------------------------------------------------
2010-06-14 20:29:51 +00:00
Andreas Fabri
88fda0de9b
For VC-10 we have to change FT* to cpp0x<>::const_iterator
2010-06-14 07:08:25 +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
Olivier Devillers
fcc1151878
remove test of useless preconditions
...
Side_of_oriented_sphere/circle
2010-05-28 15:35:47 +00:00
Laurent Rineau
148ae4ac0f
Add missing #include (for get, which is not a dependant-name).
2010-05-22 12:02:41 +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
a59f9dcdc2
fixed base class for 'using' statement
2010-05-13 08:40:38 +00:00
Andreas Fabri
1cd0d69d80
Add 'using' for ansi compliance
2010-05-11 09:49:14 +00:00
Sylvain Pion
d2a078803b
Add a new Boolean constant in the kernel, Has_filtered_predicates.
2009-10-16 12:07:18 +00:00
Andreas Fabri
4b10227f1f
Add operator to Compare_squared_distance_3
2009-08-24 15:00:14 +00:00
Sylvain Pion
927b432b39
typo : mecanism -> mechanism.
2009-08-10 15:57:03 +00:00
Andreas Fabri
477980f0f4
Add squared radius for a point to make kernels model of the alpha shape traits class
2009-07-06 11:36:23 +00:00
Sylvain Pion
f0ed774e37
Move CGAL::array to namespace CGAL::cpp0x, like tuple.
2009-04-30 14:03:52 +00:00
Pedro Machado Manhaes de Castro
e76dfad626
Fixing a bug (homegenous version of Construct_radical_line_2)
2008-10-21 13:31:56 +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
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
39e7a3537e
Remove unused file (Homogeneous uses Cartesian's Ray_2 since quite some time).
2008-08-26 12:40:44 +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
79864c0c8e
Remove Arity_tag.
2008-07-22 12:29:01 +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
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
c63a8519f5
fixing the 03/06/2008 red mosaic
2008-06-04 07:52:42 +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
0b371caf7e
Added Compare_squared_radius_3
2008-05-29 09:35:50 +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
92257a66a2
Add constructors of Vector_? taking mixed types (e.g. int, double).
...
Spotted by the Min_ellipse_2 test-suite. Regression due to my latest changes
to store Vectors in Points.
2008-04-12 10:03:45 +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
853437f640
Replace Cartesian_coordinate_iterator_[23] by Cartesian_const_iterator_d,
...
as it does not depend on the Point type, and I want to use it next for Vectors.
(I can't remove the old one yet as it's still used by Lazy_kernel)
2008-04-09 16:53:35 +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
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
57d48d8d83
Replace useless forwarding function orientationH2() by sign_of_determinant3x3().
2008-03-21 08:45:04 +00:00
Sylvain Pion
c825d8c774
Remove some useless enum_cast<>.
...
Optimize some sign(a*b) to sign(a)*sign(b).
2008-03-20 16:28:35 +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
a3def1c3eb
Remove obsolete config flag CGAL_CFG_USING_BASE_MEMBER_BUG.
2007-08-09 09:55:09 +00:00
Andreas Fabri
0290ab619d
removed unused parameters
2007-03-17 09:50:18 +00:00
Andreas Fabri
bd5835aeb0
Use boost::mpl instead of the preprocessor
2007-03-17 08:31:51 +00:00
Sylvain Pion
75766b0470
remove warning
2007-03-03 08:59:11 +00:00
Sylvain Pion
de87319cf1
remove warning
2007-03-03 08:58:28 +00:00
Sylvain Pion
eae1175147
forgot to remove one .bbox() function in last revision
2006-12-27 23:28:15 +00:00
Sylvain Pion
370e6a1695
Move 3D .bbox() to the functors to make Lazy_kernel pass, and enhance the test-suite to test .bbox()
2006-12-27 23:25:54 +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
Andreas Fabri
f5c431bedb
fix for min/max problem
2006-08-20 21:18:19 +00:00
Sylvain Pion
63e78107de
New compiler bug in g++ 3.3 : CGAL_CFG_BOOL_IN_TEMPLATE_BUG
2006-08-18 21:30:12 +00:00
Sylvain Pion
c206dcd8e1
Fix ambiguities in constructors of PointH?,
...
as convertibility between RT<->FT<->int was a problem.
Use enable_if<> and is_convertible<> for this.
2006-08-17 11:05:53 +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
12dbb148a9
fixed min/max problem
2006-08-16 14:43:19 +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
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
02414e55f0
Guess what : Move Iso_cuboid_3 I/O to user class level
2006-08-06 15:55:58 +00:00
Sylvain Pion
38c91de538
Move Ray_3 I/O to user class level
2006-08-06 15:45:55 +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
45e65df64c
Move Ray_2 I/O to user class level
2006-08-05 23:18:30 +00:00
Sylvain Pion
eb4be2820d
Move Direction_2 I/O to user class level
2006-08-05 22:55:06 +00:00
Sylvain Pion
7494d17845
Move Vector_2 I/O to user class level
2006-08-05 22:39:59 +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
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
72e208d8dd
<CGAL/Interval_arithmetic.h> is deprecated -> <CGAL/Interval_nt.h>
2006-07-12 13:14:19 +00:00
Marc Glisse
453af1b9cd
Simplify orientationH2 (and do one operation less).
2006-06-13 16:47:59 +00:00
Efi Fogel
2b3cb150b8
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:53 +00:00
Sylvain Pion
290a24c95e
Sphere_3::orthogonal_transform fixes:
...
- was only declared in Homogeneous
- was buggy in Cartesian
- was not tested
2006-04-03 13:16:31 +00:00
Sylvain Pion
0ec1b0efcc
- Merge H2 and H3 into Homogeneous_kernel.
2006-03-06 23:51:27 +00:00