Commit Graph

206 Commits

Author SHA1 Message Date
Andreas Fabri 415e64411c Add functors of Convex_hull_projective_traits classes 2011-04-06 07:41:14 +00:00
Sébastien Loriot 8ce2048aea add #include<CGAL/config.h> before any directive CGAL_USE_* 2011-03-02 18:52:57 +00:00
Andreas Fabri 7f78d9d1b1 fix 2011-01-19 10:55:02 +00:00
Andreas Fabri 2071c33c81 Roll back to a projection on the xz instead of the zx plane 2011-01-19 10:36:52 +00:00
Andreas Fabri 1a48eaae74 Roll back to a projection on the xz instead of the zx plane 2011-01-19 10:27:51 +00:00
Sébastien Loriot 3e04fb16fb merge packages related to projection traits into the trunk. 2011-01-11 07:18:36 +00:00
Sébastien Loriot 78a8e36522 small features to add additional operator() to Angle_2.
This is a merge from the branch /branches/experimental-packages/More_robust_Triangulation_2-branch
2011-01-07 10:45:13 +00:00
Sébastien Loriot ace9c87934 revert dirty commit 60628 2011-01-07 10:37:54 +00:00
Sébastien Loriot 99dda59784 add operator() to Angle_2 functor (code,global function,doc,test).
That was submitted as small feature.
2011-01-07 10:04:06 +00:00
Laurent Rineau 8eac6ca650 Improvement: add static filters to Lazy_kernel (which is the EPEC kernel).
For that:

- Split internal::Static_filters into two classes: one with only filtered
functors, for Epeck, and one that use the filtered functors, but also use
directory unfiltered functors of the Cartesian kernel (for predicates that
only compare doubles).

- Add a functor Get_approx in <CGAL/internal/Static_filters/tools.h>, that
is the identity for all types but lazy types (in that case its returns
"x.approx()").

- Use Get_approx in static-filters versions of predicates, so that they can
be used with Lazy_kernel too.

- Use Static_filters<K_base, false> as base class of Lazy_kernel.

- Rewrite <CGAL/Exact_predicate_exact_constructions_kernel.h>, to use
  static filters for Epeck, but also to simplify that file by the use
  Exact_type_selector<double>::Type as number type.

(The testsuite of Kernel_23 is OK on the platform
x86-64_Linux-2.6_g++-4.4.4_F13).
2010-12-17 13:53:26 +00:00
Laurent Rineau 11c7844f61 Add comments on #else and #endif. 2010-12-16 16:40:00 +00:00
Marc Glisse ee07a88c30 unused 2010-11-10 21:14:11 +00:00
Laurent Rineau 0293802159 Revert those commits:
| ------------------------------------------------------------------------
  | r59170 | afabri | 2010-10-11 15:48:42 +0200 (Mon, 11 Oct 2010) | 1 line
  | Changed paths:
  |    A /trunk/Kernel_23/doc_tex/Kernel_23_ref/Projection_traits_xy_3.tex
  | 
  | Add  Projection_traits_xy_3
  | ------------------------------------------------------------------------
  | r59168 | afabri | 2010-10-11 15:35:17 +0200 (Mon, 11 Oct 2010) | 1 line
  | Changed paths:
  |    A /trunk/Kernel_23/include/CGAL/Projection_traits_xy_3.h (from /trunk/Kernel_23/include/CGAL/Triangulation_euclidean_traits_xy_3.h:59167)
  |    A /trunk/Kernel_23/include/CGAL/Projection_traits_xz_3.h (from /trunk/Kernel_23/include/CGAL/Triangulation_euclidean_traits_xz_3.h:59167)
  |    A /trunk/Kernel_23/include/CGAL/Projection_traits_yz_3.h (from /trunk/Kernel_23/include/CGAL/Triangulation_euclidean_traits_yz_3.h:59167)
  |    D /trunk/Kernel_23/include/CGAL/Triangulation_euclidean_traits_xy_3.h
  |    D /trunk/Kernel_23/include/CGAL/Triangulation_euclidean_traits_xz_3.h
  |    D /trunk/Kernel_23/include/CGAL/Triangulation_euclidean_traits_yz_3.h
  | 
  | Generalize name of traits class
  | ------------------------------------------------------------------------
  | r59167 | afabri | 2010-10-11 15:31:36 +0200 (Mon, 11 Oct 2010) | 1 line
  | Changed paths:
  |    A /trunk/Kernel_23/include/CGAL/Triangulation_euclidean_traits_xy_3.h (from /trunk/Triangulation_2/include/CGAL/Triangulation_euclidean_traits_xy_3.h:59165)
  |    A /trunk/Kernel_23/include/CGAL/Triangulation_euclidean_traits_xz_3.h (from /trunk/Triangulation_2/include/CGAL/Triangulation_euclidean_traits_xz_3.h:59165)
  |    A /trunk/Kernel_23/include/CGAL/Triangulation_euclidean_traits_yz_3.h (from /trunk/Triangulation_2/include/CGAL/Triangulation_euclidean_traits_yz_3.h:59165)
  | 
  | Add Projection_traits classes
  | ------------------------------------------------------------------------
  | r59166 | afabri | 2010-10-11 15:28:40 +0200 (Mon, 11 Oct 2010) | 1 line
  | Changed paths:
  |    M /trunk/Kernel_23/include/CGAL/internal/Projection_traits_3.h
  | 
  | Add Less_xy_2 and Less_yx, so that it becomes model of PolygonTraits_2
  | ------------------------------------------------------------------------
  | r59162 | afabri | 2010-10-11 15:19:16 +0200 (Mon, 11 Oct 2010) | 1 line
  | Changed paths:
  |    M /trunk/Kernel_23/include/CGAL/internal/Projection_traits_3.h
  | 
  | rename class inside the file
  | ------------------------------------------------------------------------
  | r59161 | afabri | 2010-10-11 15:17:15 +0200 (Mon, 11 Oct 2010) | 1 line
  | Changed paths:
  |    A /trunk/Kernel_23/include/CGAL/internal/Projection_traits_3.h (from /trunk/Kernel_23/include/CGAL/internal/Triangulation_euclidean_traits_projected_3.h:59160)
  |    D /trunk/Kernel_23/include/CGAL/internal/Triangulation_euclidean_traits_projected_3.h
  | 
  | Generalize name 
  | ------------------------------------------------------------------------
  | r59160 | afabri | 2010-10-11 15:15:20 +0200 (Mon, 11 Oct 2010) | 1 line
  | Changed paths:
  |    A /trunk/Kernel_23/include/CGAL/internal/Triangulation_euclidean_traits_projected_3.h (from /trunk/Triangulation_2/include/CGAL/internal/Triangulation_euclidean_traits_projected_3.h:59156)
  | 
  | Move implementation of Projection_traits from Triangulation_2 to Kernel
  | ------------------------------------------------------------------------
  | r59158 | afabri | 2010-10-11 15:12:54 +0200 (Mon, 11 Oct 2010) | 1 line
  | Changed paths:
  |    A /trunk/Kernel_23/include/CGAL/internal
  | 
  | Add directory for the Projection_traits
  | ------------------------------------------------------------------------
The work is now done is a branch.
2010-11-04 11:24:14 +00:00
Marc Glisse 6ca6e27978 rename private types for clang 2010-10-27 09:06:49 +00:00
Andreas Fabri 9064b74068 Generalize name of traits class 2010-10-11 13:35:17 +00:00
Andreas Fabri 6ce7d97cab Add Projection_traits classes 2010-10-11 13:31:36 +00:00
Andreas Fabri 1e2383151e Add Less_xy_2 and Less_yx, so that it becomes model of PolygonTraits_2 2010-10-11 13:28:40 +00:00
Andreas Fabri 4656f941a8 rename class inside the file 2010-10-11 13:19:16 +00:00
Andreas Fabri 80e6d72509 Generalize name 2010-10-11 13:17:15 +00:00
Andreas Fabri ab087f138c Move implementation of Projection_traits from Triangulation_2 to Kernel 2010-10-11 13:15:20 +00:00
Laurent Rineau 5b22e449e0 Kernel::Compare_distance_[23] with three objects, similar to
compare_distance_to_point, but with any object types
2010-10-11 11:10:32 +00:00
Christian Helbling 837409ebdc adding compare_lexicographically for Point_2 and Point_3 to improve compatibility with Point_d 2010-09-20 12:30:45 +00:00
Sylvain Pion 9d9b178cb7 Optimize solve().
before : 22 +, 48 *, 3 /
after  : 14 +, 24 *, 3 /
It might even be slightly more stable numerically.
2010-08-27 21:27:07 +00:00
Laurent Rineau 351c3233be - Deprecate operator()(T1, T2, T3, T4) of Kernel::CompareSquaredDistance_[23]
and move it to Kernel::CompareDistance_[23].
- Add CGAL::compare_distance(T1, T2, T3, T4).

(Test suite OK.)
2010-08-03 14:22:25 +00:00
Sylvain Pion 8bd3dce0e2 Replace typedefs Exact_predicates_[in]exact_constrictions_kernel by Epick and
Epeck to shorten error messages, mangling...
2010-07-27 14:16:39 +00:00
Laurent Rineau 665c0ea8c1 Kernel::Compare_Squared_distance_[23]::operator() has now the following
overloads:

  template <typename T1, typename T2> 
  Comparison_result 
  operator()(T1, T2, Kernel::FT);

and 

  template <typename T1, typename T2, typename T3, typename T4> 
  Comparison_result 
  operator()(T1, T2, T3, T4); // compare distances |t1, t2|^2 and |t3, t4|^2.

Before that revision, the types T_i were hardcoded to Kernel::Point_3
without any reason.

And Kernel::Compare_Squared_distance_2 and
Kernel::Compare_Squared_distance_3 now have the same implementation, and
almost the same documentation (but the set of admitted input types). The
implementations could even have been factorized.

(The Kernel_23 testsuite passes on Linux, as well as the doc_tex testsuite.)
2010-06-30 12:19:54 +00:00
Laurent Rineau a97730f073 Move Compare_squared_distance_[23] from Cartesian and Homogeneous to
Kernel_23: their implementation were identical.
2010-06-30 10:04:49 +00:00
Sébastien Loriot 2a1e9fe728 vertex function of triangle use Has_qrt
add specialization of Qualified_result_of for Iso_cuboid

(added because I needed to have const ref on triangle points)
2010-06-22 07:17:59 +00:00
Sébastien Loriot 52317dd49f add python script (replace_CGAL_NAMESPACE.py) to replace CGAL_BEGIN_NAMESPACE and CGAL_END_NAMESPACE
by namespace CGAL { and } //namespace CGAL. in all .h and .cpp files
in a directory.
Apply it to all packages in the trunk
Remove macro definition from the config.h file.
2010-06-09 07:37:13 +00:00
Sylvain Pion 85dc12f2a7 Remove empty lines at beginning and end of files
(apply Scripts/developer_scripts/remove_empty_lines.pl).
2010-02-01 12:55:28 +00:00
Sébastien Loriot 86d9865f2e add operator() with one point to compare_squared_radius functor 2009-10-13 08:34:43 +00:00
Stéphane Tayeb 8dceee4164 Add include<CGAL/assertions.h> in *_assertion files. 2009-10-07 13:16:13 +00:00
Stéphane Tayeb 770492c1c7 Use new version of script create_assertions.sh to generate *_assertions.h files.
Diffs are:
 * #undef added
 * in old files, (void)0 is replaced by static_cast<void>(0)
 * in old files, lines as "#  define CGAL_xxx_assertion 1" are added
 * in point_set_processing_assertions.h, surface_mesh_parameterization_assertions.h, surface_reconstruction_points_assertions.h, "|| defined(CGAL_NDEBUG)" is replaced by "|| defined (NDEBUG)"
 * protective macros (if any) are removed
 * included files if any (<CGAL/assertions.h>, <CGAL/trace.h>) are removed
2009-10-07 07:49:44 +00:00
Laurent Rineau e896a33ec6 We must either:
- include <CGAL/config.h>
  - or not use CGAL_BEGIN_NAMESPACE.
I prefer the second option.
2009-08-27 14:54:01 +00:00
Laurent Rineau 4a383b3197 In Compare_dihedral_angle_3, add the comparison between the dihedral angle
defined by four points (or three vectors), and a FT. The FT represents the
cosine of the angle.

The code passes the testsuite. Documentation coming...
2009-08-26 11:31:51 +00:00
Laurent Rineau a210c87658 Let's use v.squared_length() instead v*v. 2009-08-25 15:48:33 +00:00
Laurent Rineau 09c4682e0b Typo: s/cosinus/cosine/.
(Thanks to Sylvain for his review of my patch r51491.)
2009-08-25 15:26:08 +00:00
Laurent Rineau 146aa66bca Remove commented code. 2009-08-25 14:58:19 +00:00
Laurent Rineau 22798366ad Add a new predicate in the Kernel: Compare_dihedral_angle_3. 2009-08-25 14:48:41 +00:00
Sylvain Pion 8573fe26ce Rename CGALi to internal. 2009-08-24 17:10:04 +00:00
Laurent Rineau b9fcb4ff62 Revert that change:
-----------------------------------------------------------------
   | New Revision: 51399
   | Author: lrineau
   | Date: 2009-08-21 16:01:46 +0200 (Fri, 21 Aug 2009)
   |  
   | Log message:
   |  
   | Add a CGAL_kernel_assertion_code, in
   | Construct_circle_2::operator()(Point_3, Point_2, Point_2), to avoid some
   | unneeded calculus to be performed when NDEBUG is defined.
   -----------------------------------------------------------------
2009-08-24 09:52:55 +00:00
Laurent Rineau b0b7c5b629 Add a CGAL_kernel_assertion_code, in
Construct_circle_2::operator()(Point_3, Point_2, Point_2), to avoid some
unneeded calculus to be performed when NDEBUG is defined.
2009-08-21 14:01:46 +00:00
Sébastien Loriot 7e00f2fa49 remove warning uninitialized int (approved by RM) 2009-07-09 08:20:52 +00:00
Andreas Fabri a89ffb7be3 Add squared radius for a point to make kernels model of the alpha shape traits class 2009-07-07 10:33:38 +00:00
Sébastien Loriot ed59e89ad6 correct has_on pb 2009-06-26 14:14:54 +00:00
Sébastien Loriot b65aa72c49 has_on circle for plane_3 2009-06-25 05:55:14 +00:00
Sébastien Loriot 7537bdbeab add documented has_on for point and circle on a sphere 2009-06-24 16:26:17 +00:00
Sylvain Pion da8f43f45f Mark most one-argument constructors explicit. 2009-05-09 16:08:19 +00:00
Sylvain Pion f0ed774e37 Move CGAL::array to namespace CGAL::cpp0x, like tuple. 2009-04-30 14:03:52 +00:00
Andreas Fabri 9b6425f55c Forward argument 'orientation' 2008-12-08 14:47:16 +00:00