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
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
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
72e208d8dd
<CGAL/Interval_arithmetic.h> is deprecated -> <CGAL/Interval_nt.h>
2006-07-12 13:14:19 +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
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
Andreas Fabri
ea43a393c4
Changed Construct_point_2::operator()(Line)
2006-03-29 07:57:25 +00:00
Sylvain Pion
c599c7600a
- Add missing #include <CGAL/Handle_for.h> .
2006-03-06 13:08:09 +00:00