Commit Graph

149 Commits

Author SHA1 Message Date
Pedro Machado Manhaes de Castro 7b44979a90 Convention to allow Circle_3 c = Circle_3(p1, p2, p3); Sphere_3 s = c; Plane_3 p = c; 2008-09-16 13:04:08 +00:00
Pedro Machado Manhaes de Castro 642a419079 Is_degenerate_3 functor for Circle_3 2008-09-16 12:48:45 +00:00
Pedro Machado Manhaes de Castro 0ce9d35d32 Construct_supporting_plane => Construct_plane, Construct_diametral_sphere => Construct_sphere 2008-09-16 12:45: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 7d5dda0438 Propagate Uncertain-ty. 2008-08-22 15:22:00 +00:00
Sylvain Pion 2f0abc4b6f Move CGAL::Object from Kernel_23 to STL_Extension. 2008-07-29 15:26:38 +00:00
Sylvain Pion 0a76cd42f7 Remove the deprecated linear kernel functors Construct_supporting_line_2 and
Construct_supporting_line_3.  (they were deprecated in 2004).
2008-07-28 16:07:28 +00:00
Sylvain Pion 91ded52d27 Replace Sixtuple and Fourtuple by boost::array in Bbox_[23]. 2008-07-25 09:50:56 +00:00
Pedro Machado Manhaes de Castro 65e7bd6974 Cleaning stuffs temporarily 2008-07-24 13:13:12 +00:00
Michael Hoffmann 8dd4cd38ca Remove functional_base include. 2008-07-23 14:50:58 +00:00
Sylvain Pion d52770ff46 Add missing new typedefs 2008-07-22 14:04:17 +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
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