Commit Graph

74 Commits

Author SHA1 Message Date
Andreas Fabri 9b6425f55c Forward argument 'orientation' 2008-12-08 14:47:16 +00:00
Andreas Fabri bde0aee592 In deep derivation hierarchies VC8 has problems when we use the same name for a template parameter at several hierarchy levels, so we rename it here 2008-10-21 12:29:38 +00:00
Pedro Machado Manhaes de Castro a65aceddf2 radical line as well 2008-10-20 14:44:37 +00:00
Pedro Machado Manhaes de Castro 8960a3dd58 Some forgotten operators on functors for Circle_3 2008-10-02 16:31:35 +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 7d5dda0438 Propagate Uncertain-ty. 2008-08-22 15:22:00 +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
Michael Hoffmann 8dd4cd38ca Remove functional_base include. 2008-07-23 14:50:58 +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
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 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
Pedro Machado Manhaes de Castro 4527058121 Fixing Lazy for Circle_3 2008-06-26 14:26:49 +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 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 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 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 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
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 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 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 b0a58d5601 removed unused parameters 2007-03-17 09:51:49 +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 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
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
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 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 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