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
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
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
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
edab7e2433
Remove some useless enum_cast<> (since some enum types have been merged).
2008-03-20 16:15:04 +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
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