Pedro Machado Manhaes de Castro
66b2705068
Changing Licenses from QPL to LGPL
2008-07-17 12:02:29 +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
Sylvain Pion
2eb0d8f9e9
certainly() -> possibly().
2008-07-14 11:16:41 +00:00
Sylvain Pion
32a9d86ec2
Fix header inclusion order problem by #including <CGAL/config.h> instead of <CGAL/basic.h>.
...
Really: <CGAL/basic.h> should go away!
2008-07-12 21:09:38 +00:00
Sylvain Pion
9d7a609ff2
Make assertions trigger an error only for *certain* conditions (using CGAL::certainly()).
...
This is useful for interval arithmetic code.
(replay of r44002 with the header order hopefully fixed)
2008-07-10 21:49:17 +00:00
Sylvain Pion
2b4ebf01f7
Undo r44002 as it's buggy
2008-07-06 20:47:29 +00:00
Sylvain Pion
514a17ad4f
Improve the interaction of assertions and interval computations.
...
Things like "CGAL_assertion(denominator != 0)" produced assertion failures for no gain.
So now, the assertion is triggered only if the condition is certain, using CGAL::certainly().
That is, change the following in all assertion files :
((EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__))
to :
(CGAL::certainly(EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__))
2008-07-06 17:05:47 +00:00
Pedro Machado Manhaes de Castro
4527058121
Fixing Lazy for Circle_3
2008-06-26 14:26:49 +00:00
Pedro Machado Manhaes de Castro
60e14a495e
Changed the typedef for Sphere_3 of Circle_3 from private to public temporarily so the stuffs of Sebastien (in Circular_kernel_3, Circular_arc_3 with reference sphere) keep working.
2008-06-09 16:16:44 +00:00
Pedro Machado Manhaes de Castro
95699dc3a6
Fixing Dimension Tags for Circle_3
2008-06-05 08:40:13 +00:00
Pedro Machado Manhaes de Castro
0061696f17
missin Circle_3 itself
2008-06-04 16:32:43 +00:00
Pedro Machado Manhaes de Castro
69c2b4d186
add radical_plane
2008-06-04 09:04:45 +00:00
Pedro Machado Manhaes de Castro
5cf2eb63cd
fixing the 03/06/2008 red mosaic
2008-06-04 07:52:01 +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
b997c33952
Added compare_squared_radius, its functor, doc, testsuite
2008-05-28 14:25:42 +00:00
Sylvain Pion
74db076d75
Remove too simplistic Intel compiler workaround, as it breaks
...
with the Intel compiler on Linux. If it's still needed,
a *proper* workaround should be put in place instead.
2008-05-21 13:48:05 +00:00
Sylvain Pion
0ba9bfbca4
Move that preliminary stuff to internal CGAL::Access namespace.
2008-04-17 14:43:41 +00:00
Sylvain Pion
7eeb87cf71
Add a Dimension typedef to the d-dim kernels.
...
Swap the order of the arguments of the Point<2, K> so that there can be a default for the dimension.
2008-04-17 14:02:06 +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
4477a9d986
Updates after the new d-dim stuff changes.
2008-04-15 13:53:58 +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
4416bee3de
Move all Handle* classes to STL_Extension. There's no geometry in them,
...
so the kernel is not the most appropriate place for them.
2008-04-12 10:38:07 +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
aad1552b8a
Add Dimension_tag<int dim> to help dispatching functions depending
...
on the dimension.
2008-04-11 19:29:30 +00:00
Sylvain Pion
ef71559164
Remove the Kernel Concept Archetypes.
2008-04-11 19:26:21 +00:00
Sylvain Pion
4873e53de2
Move:
...
<CGAL/Kernel/Cartesian_coordinate_iterator_2.h>
<CGAL/Kernel/Cartesian_coordinate_iterator_3.h>
To:
<CGAL/Filtered_kernel/Cartesian_coordinate_iterator_2.h>
<CGAL/Filtered_kernel/Cartesian_coordinate_iterator_3.h>
2008-04-09 18:06:00 +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
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
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
54648829af
Merge <CGAL/functions_on_enums.h> into <CGAL_enum.h>.
...
No need to have 2 separately documented headers for that.
2008-03-20 16:39:56 +00:00
Andreas Fabri
7f258ba048
Added functors to archetype kernel
2008-01-19 15:11:50 +00:00
Andreas Fabri
a322da0f0e
Added preconditions and made it more efficient
2008-01-18 13:42:39 +00:00
Andreas Fabri
e1f07a4bde
Added normal and unit_normal function ans functors
2008-01-18 12:56:56 +00:00
Sylvain Pion
06109ce606
Add <CGAL/basic.h> header.
2008-01-12 20:15:41 +00:00
Sylvain Pion
79f8bea447
Update following the enum types merge of 3.3.
...
(this file is unused, so it was undetected before, I nevertheless keep it, as it is cute)
2008-01-11 22:56:35 +00:00
Sylvain Pion
a582e0979f
Add missing includes.
2008-01-11 22:09:24 +00:00
Sylvain Pion
d49e006c53
Remove default argument "0" to calls to assertion_fail() et al,
...
as the default is now the empty string "".
It should fix the problem that we have lost the assertion messages
(seeing "what(): basic_string::_S_construct NULL not valid" instead),
for packages that use package-specific assertion macros.
2007-12-21 21:58:27 +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
90b39fe156
Replace abort() by CGAL_assertion*.
2007-11-05 10:08:04 +00:00
Sylvain Pion
e05221ceef
Iso_cuboid_3::transform had been dropped when doing shuffles for the Lazy_kernel.
2007-10-31 19:31:24 +00:00
Sylvain Pion
b976aea1b6
Remove 2 workarounds which are not needed anymore by the latest SunPRO:
...
CGAL_CFG_DEEP_DEPENDENT_TEMPLATE_BUG
CGAL_CFG_DEDUCABLE_CONTEXT_BUG
2007-08-24 12:57:55 +00:00
Sylvain Pion
e06d15e64e
Fix bug #3850 : add missing #include <CGAL/Bbox_2.h>.
2007-08-23 08:57:12 +00:00
Sylvain Pion
4f1170dcc4
Keep Bbox_3 and Bbox_2 in sync, and add missing documentation
...
for : dimension(), min(), max(), operator==, operator!=.
2007-08-22 12:12:48 +00:00
Sylvain Pion
a90de08bf3
Remove obsolete config flag CGAL_CFG_MATCHING_BUG_4 and its dependency CGAL_WRAP.
2007-08-08 15:15:20 +00:00
Sylvain Pion
79eb2c8ffa
Remove unused parameters.
2007-04-17 22:09:34 +00:00
Sylvain Pion
bda89ba1d6
Use CGAL_CFG_DEDUCABLE_CONTEXT_BUG to partially (but most probably sufficiently)
...
work around SunCC bug.
2007-03-30 17:18:22 +00:00
Andreas Fabri
e38380c619
workaround for Intel 9
2007-03-17 18:29:25 +00:00
Andreas Fabri
b0a58d5601
removed unused parameters
2007-03-17 09:51:49 +00:00
Michael Hemmer
47107d399e
include of proper CORE::Expr support file : CGAL/CORE_Expr.h
2007-03-15 10:47:09 +00:00
Joachim Reichel
4f47903a25
moved src/Core to src/CGALCore
...
moved include/CORE to include/CGAL/CORE
moved include/OpenNL to include/CGAL/OpenNL
renamed libcore++ to libCGALcore++
2007-03-13 18:10:39 +00:00
Andreas Fabri
bf08f44f3c
undo of change for Intel 9
2007-03-13 08:50:41 +00:00
Andreas Fabri
6def599d5b
help Intel 9
2007-03-12 18:18:37 +00:00
Sylvain Pion
21ae09f184
remove g++ 4.3 warning
2007-03-06 15:11:09 +00:00
Sylvain Pion
dc16641bec
remove warnings
2007-03-03 08:56:34 +00:00
Sylvain Pion
b760147492
remove empty first lines
2007-02-16 09:36:28 +00:00
Andreas Fabri
49df0a4603
Removed template member function. It is not clear why it is needed and causes trouble for the Circular_kernel_3 testsuite for VC++
2007-02-01 16:18:38 +00:00
Sylvain Pion
1ec1875a01
Add missing #include <CGAL/representation_tags.h>.
2007-01-23 15:43:06 +00:00
Sylvain Pion
70b3bee5af
Move 3D .bbox() to the functors to make Lazy_kernel pass, and enhance the test-suite to test .bbox()
2006-12-27 23:26:06 +00:00
Andreas Fabri
0be85d575d
The direction must be != 0 in the constructor of the rotation
2006-12-17 22:28:35 +00:00
Sylvain Pion
bd1e8bfc3a
Add operator[] in Point_3 (and test it).
2006-11-23 12:56:55 +00:00
Andreas Fabri
07658cbdc8
remove comment for workaround for VC++
2006-11-06 12:05:36 +00:00
Andreas Fabri
cea0f3bbf1
workaround for VC++
2006-11-06 10:18:16 +00:00
Sylvain Pion
14c04ed337
Sneak in Lazy_kernel without anyone noticing.
2006-10-27 19:01:33 +00:00
Andreas Meyer
e9e8387260
merged changes from CGAL_with_EXACUS branch into trunk.
...
revisions used:
(1) 32995:34537
(2) 34538:34906
2006-10-24 15:21:25 +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
1cdfe0a29b
Added a circle constructor with two points and bulge
2006-09-01 13:25:52 +00:00
Andreas Fabri
0b94820931
fixed min/max problem
2006-08-16 21:29:43 +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
6830557518
fixed min/max problem
2006-08-16 14:08: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
ef72d8ae7e
Remove the .rep() as they are useless since there is the automatic base class conversion (and see next change)
2006-08-11 11:36:01 +00:00
Sylvain Pion
cb4d5597bf
Add BOOST_STATIC_ASSERT() to check that CGAL::Point_2<R>
...
is only instantiated when R::Point_2 is itself.
2006-08-11 10:23:23 +00:00
Sylvain Pion
629c1dfddd
Ray_2.is_degenerate() was buggy.
2006-08-11 09:01:12 +00:00
Andreas Meyer
68c3715b5c
support for LEDA 5.x (mostly done by Eric Berberich)
2006-08-10 15:14:32 +00:00
Sylvain Pion
7ab36784b9
Merge the various constructors into a template to avoid ambiguities
2006-08-08 08:24:09 +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
12838a204a
- Add a distinguishing "int" template parameter
...
to First_if_different, defaulting to 0, which
allows to differentiate it in places where it's
needed.
2006-08-07 15:18:21 +00:00
Sylvain Pion
cb6639b85a
Introduce wmult_hw(), a new abstraction for Homogeneous/Cartesian,
...
similar to wmult(), for calls .hw() on the last argument
(i.e., does absolutely nothing in the Cartesian case).
2006-08-07 12:34:24 +00:00
Sylvain Pion
cd1cdd3188
Add missing #include.
2006-08-06 22:12:05 +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
c9de727dd2
New construction equi_distant_line(3 Point_3), with functor.
2006-08-04 15:03:16 +00:00
Sylvain Pion
fcbacc1284
Have squared_distance(Point_3, Point_3) call its functor.
2006-08-04 12:41:56 +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
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
64d8c5e77a
- Remove blanks at end of line
...
- Make Assign_[23]::result_type be bool instead of K::Bool_type.
(it can't be Uncertain<bool>).
2006-08-03 08:40:47 +00:00
Sylvain Pion
f84245c8d1
Add determinant() to the kernel archetype as well...
2006-08-02 19:14:03 +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
540406f767
Rename FT -> RT.
2006-08-02 18:19:18 +00:00
Andreas Meyer
d72148ffdb
bugfix for g++-3.3 : added missing #include <CGAL/Kernel/mpl.h>
...
( strange: for g++-3.4/4.x, there was no problem ... )
2006-08-02 16:54:57 +00:00
Sylvain Pion
7b120847c9
Do_intersect_3 is a predicate, not a construction.
2006-08-02 12:17:19 +00:00
Sylvain Pion
b69dd83c5f
Use CGAL_Kernel_obj.
2006-08-02 11:43:40 +00:00
Sylvain Pion
18b1d37259
Add a macro CGAL_Kernel_obj(X) in the same spirit
...
as CGAL_Kernel_pred(X,Y) and CGAL_Kernel_cons(X, Y),
but which lists all kernel objects (Point_2...).
2006-08-02 11:36:26 +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
91faa1fff3
Remove spurious comma triggering a warning with sunpro
2006-08-01 21:29:53 +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
0c5460ccfa
- Have free operator== and != call the Equal_3 functor for 3D kernel objects.
...
- Introduce .rep() in 3D kernel objects.
2006-08-01 07:56:38 +00:00
Sylvain Pion
5db77ed5d1
Add Compare_yx_2 functor to the kernel archetype.
2006-07-31 22:59:54 +00:00
Sylvain Pion
ead2e93fdb
- Add missing functor for compare_yx().
2006-07-31 16:22:08 +00:00
Andreas Fabri
fafaa14fc1
Fixed min max problem
2006-07-30 13:06:56 +00:00
Menelaos Karavelas
213aad8fc2
removed specializations of Pairify for Comparison_result and
...
Oriented_side; they are now taken care of by that of Sign.
2006-07-21 11:21:56 +00:00
Menelaos Karavelas
d1862ff4de
in Enum_converter: removed (dummy) conversions for Oriented_side and
...
Comparison_result; they should be taken care of by the conversion for
Sign, now that Sign, Oriented_side and Comparison_result are the same
type.
2006-07-18 09:36:56 +00:00
Christophe Delage
ff123ee544
- typedefed Oriented_side and Comparison_result to Sign
...
- added unary - and binary * operators for Sign
2006-07-18 07:01:03 +00:00
Sylvain Pion
45bfd07a83
Remove some #include <CGAL/Arithmetic_filter/...> (Filtered_exact stuff).
2006-07-12 12:03:52 +00:00
Efi Fogel
d083fa1323
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:40 +00:00
Andreas Fabri
02497d2b97
Removed the general operator in Equal_2
2006-04-20 08:32:23 +00:00
Marc Glisse
b13e3b5ec0
Last round of missing std:: before 3.2 (Andreas permission)
2006-04-19 16:56:12 +00:00
Laurent Saboret
312353dd51
Global fix of svn:executable property in trunk
2006-04-14 15:07:17 +00:00
Laurent Saboret
db6a8f948c
Change CVS keywords to SVN style
2006-02-16 14:30:13 +00:00
Laurent Saboret
1aad55d4cb
Change CVS keywords to SVN style
2006-02-14 10:08:15 +00:00
Laurent Saboret
a0a9b777bc
Move packages to trunk root
2006-02-14 08:58:16 +00:00