Philipp Möller
58a6c86cbc
* fixed include issue
...
* some work to make Lazy work with C++11
2011-12-15 15:45:39 +00:00
Philipp Möller
15c57cba6d
* those two work correctly now
2011-12-14 16:43:28 +00:00
Philipp Möller
659d2295d0
Added tests to verify the types returned by boost::result_of match the
...
real tests and ajusted the type of Construct_vertex_3 for Iso_cuboid_3
2011-12-13 15:13:07 +00:00
Philipp Möller
f455f63045
removed Qualified_result_of
2011-11-23 17:53:04 +00:00
Philipp Möller
0e0a200646
* Using result_of instead of Qualified_result_of
...
* limited refactoring in the lazy kernel
* still bugs in circular_3
* still specialization problem with iso_rectangle
2011-11-23 17:52:38 +00:00
Philipp Möller
94affd589d
Moved the Intersection_result concept into the functors and adapted code in the lazy kernel to that change.
2011-11-15 15:40:22 +00:00
Philipp Möller
9051768cea
Introduced Intersection_results as a Kernel concept for use in public APIs in favor over Intersection_traits.
2011-11-15 13:41:14 +00:00
Philipp Möller
450f438518
IT shortcut not circumvents specifying a kernel making it an actual shortcut and nicer for exposure in APIs
2011-11-10 11:06:26 +00:00
Philipp Möller
a6f4cb16ae
Macro for versioning the intersections and support for both versions in the top level function.
2011-11-08 11:56:57 +00:00
Laurent Rineau
ab3753c62c
Merge from next
2011-10-13 16:16:59 +00:00
Laurent Rineau
414f9319f4
Fix artificial dependency of Kernel_23 to Triangulation_2
...
This file was moved from Triangulation_2 to the kernel, a few months
ago. That explains why <CGAL/triangulation_assertions.h> was used.
2011-10-13 14:10:38 +00:00
Sébastien Loriot
961d58fa4b
update files with incorrect license headers (QPL but should be LGPL)
2011-10-10 16:07:44 +00:00
Sébastien Loriot
91a5327fa8
change LGPLv2 -> LGPLv3
2011-10-10 13:48:25 +00:00
Andreas Fabri
cbfe32ce37
Add declspecs for Visual C++ so that we can build dlls
2011-10-05 19:12:23 +00:00
Sébastien Loriot
dff6dda8b3
Remove from copyright holder
...
Freie Universitaet Berlin (Germany), Martin-Luther-University Halle-Wittenberg
(Germany) and RISC Linz (Austria) as they transfer the copyright to other
sites.
2011-09-21 19:46:31 +00:00
Guillaume Damiand
a29c905ee0
Replace BOOST_STATIC_ASSERT by CGAL_static_assertion.
2011-08-31 14:30:07 +00:00
Philipp Möller
5b925d6f6e
* Reworked Intersection_traits into a single traits, adjusted
...
intersections accordingly, turned on IT<....> as return type
* removed result_type from the intersection functors
2011-08-25 10:18:31 +00:00
Philipp Möller
2f9b36d618
* intersection and do_intersection now pick their appropriate
...
overloads automatically;
* a test for the availability of all calls has been added
2011-07-12 16:53:49 +00:00
Sébastien Loriot
f1fe27620e
BUGFIX: copy-paste typo
2011-06-23 11:59:29 +00:00
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
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
Sylvain Pion
4aa1cb057a
Remove my email adress from header files.
2008-10-11 20:21:08 +00:00
Pedro Machado Manhaes de Castro
5a40803e35
Fixing has_on member function of Circle_3
2008-10-06 10:31:28 +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
759a865e5a
member functions on Circle_3
2008-10-02 16:21:54 +00:00
Pedro Machado Manhaes de Castro
a8647958ae
member functions on Circle_3
2008-10-02 16:19:04 +00:00
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
Sylvain Pion
a582e0979f
Add missing includes.
2008-01-11 22:09:24 +00:00
Sylvain Pion
d49e006c53
Remove default argument "0" to calls to assertion_fail() et al,
...
as the default is now the empty string "".
It should fix the problem that we have lost the assertion messages
(seeing "what(): basic_string::_S_construct NULL not valid" instead),
for packages that use package-specific assertion macros.
2007-12-21 21:58:27 +00:00
Andreas Meyer
fdeedcf8b0
some low level code cleanup. renamed
...
* CGAL_error to CGAL_error_msg
* introduced a macro CGAL_error()
* added some words about CGAL_error to the developers manual
* renamed most of assert(x) into CGAL_assertion(x)
* renamed exit(x) with x != 0 , CGAL_assertion(false) and assert(false) into CGAL_error
* CORE left untouched, OpenNL changed
2007-11-07 16:51:18 +00:00
Sylvain Pion
90b39fe156
Replace abort() by CGAL_assertion*.
2007-11-05 10:08:04 +00:00
Sylvain Pion
e05221ceef
Iso_cuboid_3::transform had been dropped when doing shuffles for the Lazy_kernel.
2007-10-31 19:31:24 +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
e06d15e64e
Fix bug #3850 : add missing #include <CGAL/Bbox_2.h>.
2007-08-23 08:57:12 +00:00
Sylvain Pion
4f1170dcc4
Keep Bbox_3 and Bbox_2 in sync, and add missing documentation
...
for : dimension(), min(), max(), operator==, operator!=.
2007-08-22 12:12:48 +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
e38380c619
workaround for Intel 9
2007-03-17 18:29:25 +00:00
Andreas Fabri
b0a58d5601
removed unused parameters
2007-03-17 09:51:49 +00:00
Michael Hemmer
47107d399e
include of proper CORE::Expr support file : CGAL/CORE_Expr.h
2007-03-15 10:47:09 +00:00
Joachim Reichel
4f47903a25
moved src/Core to src/CGALCore
...
moved include/CORE to include/CGAL/CORE
moved include/OpenNL to include/CGAL/OpenNL
renamed libcore++ to libCGALcore++
2007-03-13 18:10:39 +00:00
Andreas Fabri
bf08f44f3c
undo of change for Intel 9
2007-03-13 08:50:41 +00:00
Andreas Fabri
6def599d5b
help Intel 9
2007-03-12 18:18:37 +00:00
Sylvain Pion
21ae09f184
remove g++ 4.3 warning
2007-03-06 15:11:09 +00:00
Sylvain Pion
dc16641bec
remove warnings
2007-03-03 08:56:34 +00:00
Sylvain Pion
b760147492
remove empty first lines
2007-02-16 09:36:28 +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
1ec1875a01
Add missing #include <CGAL/representation_tags.h>.
2007-01-23 15:43:06 +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
Andreas Fabri
0be85d575d
The direction must be != 0 in the constructor of the rotation
2006-12-17 22:28:35 +00:00
Sylvain Pion
bd1e8bfc3a
Add operator[] in Point_3 (and test it).
2006-11-23 12:56:55 +00:00
Andreas Fabri
07658cbdc8
remove comment for workaround for VC++
2006-11-06 12:05:36 +00:00
Andreas Fabri
cea0f3bbf1
workaround for VC++
2006-11-06 10:18:16 +00:00
Sylvain Pion
14c04ed337
Sneak in Lazy_kernel without anyone noticing.
2006-10-27 19:01:33 +00:00
Andreas Meyer
e9e8387260
merged changes from CGAL_with_EXACUS branch into trunk.
...
revisions used:
(1) 32995:34537
(2) 34538:34906
2006-10-24 15:21:25 +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
Andreas Fabri
0b94820931
fixed min/max problem
2006-08-16 21:29:43 +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
ef72d8ae7e
Remove the .rep() as they are useless since there is the automatic base class conversion (and see next change)
2006-08-11 11:36:01 +00:00
Sylvain Pion
cb4d5597bf
Add BOOST_STATIC_ASSERT() to check that CGAL::Point_2<R>
...
is only instantiated when R::Point_2 is itself.
2006-08-11 10:23:23 +00:00
Sylvain Pion
629c1dfddd
Ray_2.is_degenerate() was buggy.
2006-08-11 09:01:12 +00:00
Andreas Meyer
68c3715b5c
support for LEDA 5.x (mostly done by Eric Berberich)
2006-08-10 15:14:32 +00:00
Sylvain Pion
7ab36784b9
Merge the various constructors into a template to avoid ambiguities
2006-08-08 08:24:09 +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
cd1cdd3188
Add missing #include.
2006-08-06 22:12:05 +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
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
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
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
64d8c5e77a
- Remove blanks at end of line
...
- Make Assign_[23]::result_type be bool instead of K::Bool_type.
(it can't be Uncertain<bool>).
2006-08-03 08:40:47 +00:00
Sylvain Pion
f84245c8d1
Add determinant() to the kernel archetype as well...
2006-08-02 19:14:03 +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
540406f767
Rename FT -> RT.
2006-08-02 18:19:18 +00:00
Andreas Meyer
d72148ffdb
bugfix for g++-3.3 : added missing #include <CGAL/Kernel/mpl.h>
...
( strange: for g++-3.4/4.x, there was no problem ... )
2006-08-02 16:54:57 +00:00
Sylvain Pion
7b120847c9
Do_intersect_3 is a predicate, not a construction.
2006-08-02 12:17:19 +00:00
Sylvain Pion
b69dd83c5f
Use CGAL_Kernel_obj.
2006-08-02 11:43:40 +00:00
Sylvain Pion
18b1d37259
Add a macro CGAL_Kernel_obj(X) in the same spirit
...
as CGAL_Kernel_pred(X,Y) and CGAL_Kernel_cons(X, Y),
but which lists all kernel objects (Point_2...).
2006-08-02 11:36:26 +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
91faa1fff3
Remove spurious comma triggering a warning with sunpro
2006-08-01 21:29:53 +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
0c5460ccfa
- Have free operator== and != call the Equal_3 functor for 3D kernel objects.
...
- Introduce .rep() in 3D kernel objects.
2006-08-01 07:56:38 +00:00
Sylvain Pion
5db77ed5d1
Add Compare_yx_2 functor to the kernel archetype.
2006-07-31 22:59:54 +00:00
Sylvain Pion
ead2e93fdb
- Add missing functor for compare_yx().
2006-07-31 16:22:08 +00:00
Andreas Fabri
fafaa14fc1
Fixed min max problem
2006-07-30 13:06:56 +00:00
Menelaos Karavelas
213aad8fc2
removed specializations of Pairify for Comparison_result and
...
Oriented_side; they are now taken care of by that of Sign.
2006-07-21 11:21:56 +00:00
Menelaos Karavelas
d1862ff4de
in Enum_converter: removed (dummy) conversions for Oriented_side and
...
Comparison_result; they should be taken care of by the conversion for
Sign, now that Sign, Oriented_side and Comparison_result are the same
type.
2006-07-18 09:36:56 +00:00
Christophe Delage
ff123ee544
- typedefed Oriented_side and Comparison_result to Sign
...
- added unary - and binary * operators for Sign
2006-07-18 07:01:03 +00:00
Sylvain Pion
45bfd07a83
Remove some #include <CGAL/Arithmetic_filter/...> (Filtered_exact stuff).
2006-07-12 12:03:52 +00:00
Efi Fogel
d083fa1323
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:40 +00:00
Andreas Fabri
02497d2b97
Removed the general operator in Equal_2
2006-04-20 08:32:23 +00:00
Marc Glisse
b13e3b5ec0
Last round of missing std:: before 3.2 (Andreas permission)
2006-04-19 16:56:12 +00:00
Laurent Saboret
312353dd51
Global fix of svn:executable property in trunk
2006-04-14 15:07:17 +00:00
Laurent Saboret
db6a8f948c
Change CVS keywords to SVN style
2006-02-16 14:30:13 +00:00
Laurent Saboret
1aad55d4cb
Change CVS keywords to SVN style
2006-02-14 10:08:15 +00:00
Laurent Saboret
a0a9b777bc
Move packages to trunk root
2006-02-14 08:58:16 +00:00