Commit Graph

133 Commits

Author SHA1 Message Date
Sébastien Loriot a19023e2ef Merge branch 'General-fix_warning-sloriot'
Successfully tested in 4.3-Ic-73
2013-06-27 08:38:30 +02:00
Sébastien Loriot 7dcfef5a53 Merge branch 'Polyhedron-demo_header_cleanup_and_new_plugins-sloriot'
Successfully tested in CGAL-4.3-Ic-68
approved by the Release Manager
2013-06-24 12:30:25 +02:00
Sébastien Loriot bff4e98d01 fix warnings mainly coming from the merge of the replace object feature branch 2013-06-24 08:44:47 +02:00
Sébastien Loriot 496d75c256 update licenses that were incorrect after merging replace object feature branch 2013-06-21 15:06:17 +02:00
Sébastien Loriot 3d23a59a73 Merge branch 'inside_polyhedron_test-GF'
Conflicts:
	Polyhedron/demo/Polyhedron/CMakeLists.txt
2013-06-20 16:34:02 +02:00
iyaz 43c8084ceb Merge branch 'inside_polyhedron_test-GF-old' into inside_polyhedron_test-GF
Conflicts:
	.gitattributes
2013-06-11 17:56:31 +03:00
Sébastien Loriot 88cc2621a1 Result is no longer used 2013-05-23 09:12:52 +02:00
Sébastien Loriot 14429d2b8e fix compilation errors 2013-03-14 18:32:14 +01:00
Sébastien Loriot f97d6b8bd9 s/boost::result_of/cpp11::result_of/g 2013-03-14 10:38:13 +01:00
Sébastien Loriot d6905c61be Merge branch 'Kernel-replace_object-pmoeller-old' into Kernel-replace_object-pmoeller
Conflicts:
	AABB_tree/include/CGAL/AABB_tree.h
	Circular_kernel_2/include/CGAL/Circular_kernel_2/internal_functions_on_line_arc_2.h
	Intersections_3/include/CGAL/Intersections_3/intersection_3_1_impl.h
	Kernel_23/doc/Kernel_23/CGAL/intersections.h
	Kernel_23/doc/Kernel_23/Concepts/FunctionObjectConcepts.h
	STL_Extension/doc/STL_Extension/CGAL/iterator.h
2013-03-14 10:29:31 +01:00
Laurent Rineau 2d8da664a3 Merge branch 'CGAL-fix_warnings-gdamiand'
Conflicts:
	.gitignore
	Skin_surface_3/examples/Skin_surface_3/CMakeLists.txt
2013-02-22 13:02:37 +01:00
Sébastien Loriot 0a0d1c1c5d fix conversion warning 2013-02-15 07:20:28 +01:00
Sébastien Loriot 32cd27f1d1 using coercions traits to determine a common type
in case FT is float, we need double as coercion_type
2013-02-14 10:20:35 +01:00
Sébastien Loriot 1ca5410df0 a plane is not a point! 2013-02-09 16:22:51 +01:00
Sébastien Loriot 0b21facc96 we must use the construction object 2013-02-08 09:26:16 +01:00
Philipp Möller 03151d7bb7 intersection_return now also uses result_of 2012-12-10 17:20:36 +01:00
Philipp Möller 81b8604c76 Move Circular intersection results from the traits to result_of 2012-12-10 15:56:09 +01:00
Philipp Möller 4c02c6d1d6 Remove unused variable 2012-12-07 18:00:46 +01:00
Philipp Möller 4764e5d361 call_test should also use result_of 2012-12-06 17:27:23 +01:00
Philipp Möller d198458ca7 Merge branch 'origin-gsoc2011-boost_object-pmoeller' into Kernel-replace_object-pmoeller
Conflicts:
	.gitattributes
	AABB_tree/doc_tex/AABB_tree_ref/AABBGeomTraits.tex
	AABB_tree/doc_tex/AABB_tree_ref/AABBTraits.tex
	AABB_tree/doc_tex/AABB_tree_ref/AABB_traits.tex
	AABB_tree/include/CGAL/AABB_traits.h
	AABB_tree/include/CGAL/AABB_tree.h
	AABB_tree/test/AABB_tree/AABB_test_util.h
	Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_queries.tex
	Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arr_trapezoid_ric_point_location.tex
	Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/intro.tex
	Arrangement_on_surface_2/include/CGAL/Arr_batched_point_location.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_lm_generator_base.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_lm_random_generator.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_trapezoid_ric_pl_impl.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_walk_along_line_pl_impl.h
	Arrangement_on_surface_2/include/CGAL/Arr_trapezoid_ric_point_location.h
	Arrangement_on_surface_2/test/Arrangement_on_surface_2/point_location.cpp
	Circular_kernel_2/include/CGAL/Circular_kernel_2/internal_functions_on_line_arc_2.h
	Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_circular_arc_3.h
	Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_line_arc_3.h
	Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_sphere_3.h
	Filtered_kernel/include/CGAL/Lazy.h
	Filtered_kernel/include/CGAL/Lazy_kernel.h
	Intersections_2/include/CGAL/Triangle_2_Iso_rectangle_2_intersection.h
	Intersections_2/test/Intersections_2/test_intersections_2.cpp
	Intersections_3/test/Intersections_3/test_intersections_3.cpp
	Kernel_23/doc_tex/Kernel_23_ref/intersection.tex
	Kernel_23/include/CGAL/Kernel/Type_mapper.h
	Kernel_d/doc_tex/Kernel_d_ref/Kernel.tex
2012-12-04 17:57:53 +01:00
Marc Glisse a758751485 Remove / comment out unused local typedefs. Fix one place where FT was used instead of RT (homogeneous coordinates, probably never compiled). 2012-07-28 06:21:06 +00:00
Sébastien Loriot f1bdb9c8a7 merge from next 2012-07-10 14:33:09 +00:00
Sébastien Loriot fb7a7e2e95 remove warning 2012-07-06 12:35:29 +00:00
Laurent Rineau eef769cf9a Fix Do_intersect_3(Bbox_3, Segment_3)
svn merge --reintegrate \^/branches/features/Intersection_3-fix_do_intersect_bbox_segment-lrineau
2012-06-25 08:37:32 +00:00
Philipp Möller 67fdbf93d1 Prevent spurious warning in the test-suite. Leave the one that is
actually suspicious.
2012-06-22 11:52:14 +00:00
Laurent Rineau 19ab08d6e9 Fix a warning from clang
The warning was:

[...]/include/CGAL/internal/Intersections_3/Bbox_3_Segment_3_do_intersect.h:353:9: warning: variable 'b' is used uninitialized whenever '||' condition is true [-Wsometimes-uninitialized]
    if( (px == qx) || // <=> (dmin == 0)
        ^~~~~~~~~~
[...]/include/CGAL/internal/Intersections_3/Bbox_3_Segment_3_do_intersect.h:408:12: note: in instantiation of function template specialization 'CGAL::internal::do_intersect_bbox_segment_aux<float, true, true, false>' requested here
    return do_intersect_bbox_segment_aux<FT, true, true, false>(
           ^
[...]/include/CGAL/Kernel/function_objects.h:2052:14: note: in instantiation of function template specialization 'CGAL::internal::do_intersect<CGAL::Simple_cartesian<float> >' requested here
    { return internal::do_intersect(t1, t2, K()); }
             ^
[...]/include/CGAL/internal/Intersections_3/Bbox_3_Segment_3_do_intersect.h:428:10: note: in instantiation of function template specialization 'CGAL::CommonKernelFunctors::Do_intersect_3<CGAL::Simple_cartesian<float> >::operator()<CGAL::Segment_3<CGAL::Simple_cartesian<float>>, CGAL::Bbox_3>' requested here
  return typename K::Do_intersect_3()(segment, bbox);
         ^
[...]/cmake/platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/test/Intersections_3/bbox_other_do_intersect_test.cpp:67:12: note: in instantiation of function template specialization 'CGAL::do_intersect<CGAL::Simple_cartesian<float> >' requested here
  bool b = CGAL::do_intersect(t,bbox);
           ^
[...]/cmake/platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/test/Intersections_3/bbox_other_do_intersect_test.cpp:416:12: note: in instantiation of function template specialization 'test_aux<CGAL::Segment_3<CGAL::Simple_cartesian<float>> >' requested here
  bool b = test_aux(s12,"s12",bbox,false);
           ^
[...]/cmake/platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/test/Intersections_3/bbox_other_do_intersect_test.cpp:665:12: note: in instantiation of function template specialization 'test<CGAL::Simple_cartesian<float> >' requested here
  bool b = test<K>(exact_predicates) &&
           ^
[...]/cmake/platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/test/Intersections_3/bbox_other_do_intersect_test.cpp:678:7: note: in instantiation of function template specialization 'test_kernel<CGAL::Simple_cartesian<float> >' requested here
  b = test_kernel<CGAL::Simple_cartesian<float> >(false);
      ^
[...]/include/CGAL/internal/Intersections_3/Bbox_3_Segment_3_do_intersect.h:360:25: note: uninitialized use occurs here
    if(is_indeterminate(b)) return b; // Note that the default-constructed
                        ^
[...]/include/CGAL/internal/Intersections_3/Bbox_3_Segment_3_do_intersect.h:353:9: note: remove the '||' if its condition is always false
    if( (px == qx) || // <=> (dmin == 0)
        ^~~~~~~~~~~~~
[...]/include/CGAL/internal/Intersections_3/Bbox_3_Segment_3_do_intersect.h:351:23: note: initialize the variable 'b' to silence this warning
    Is_greater_value b;
                      ^
                       = false
2012-06-20 10:32:46 +00:00
Laurent Rineau eecf1e94be Fix for MSVC: protect the CGAL::max calls to prevent macro substitution 2012-06-20 09:53:56 +00:00
Laurent Rineau 23ab39f2df Remove calls to CGAL::abs for Ray_3 and Segment_3
As t1 and t2 are, by construction, greater than 0, for rays and segments,
no need to call CGAL::abs on t[xyz]min and t[xyz]max.
2012-06-19 10:08:04 +00:00
Laurent Rineau ab28ccf740 Fix bugs in overflow/underflow handling 2012-06-18 16:05:29 +00:00
Laurent Rineau 5142588eb3 Better performance (~10-15% better)
By removing several tests (and use CGAL::max instead), the generated
assembly is more efficient.
2012-06-18 16:05:04 +00:00
Laurent Rineau 090b93f229 Fix compilation for MSVC 2012-06-18 09:41:39 +00:00
Laurent Rineau 6c240a4ae2 Cleanup: remove unused code. 2012-06-15 15:49:33 +00:00
Laurent Rineau 28c9507c17 Go back to the version of revision 69620. That was faster. 2012-06-15 15:38:45 +00:00
Laurent Rineau 02754f17f9 Revert previous commit for CGAL/internal/Intersections_3/Bbox_3_Line_3_do_intersect.h
The code cannot be easily reused because a line does not store
two points but the a, b, c, d coefficients.
2012-06-15 15:27:17 +00:00
Laurent Rineau a3587eabf3 A version with less branches and more numerical computation 2012-06-15 15:12:04 +00:00
Laurent Rineau 41ba29e19a Factorize code of Do_intersect(Bbox_3, <something>)
Uniform use of do_intersect_bbox_segment_aux(..) with various Boolean
template arguments.
2012-06-15 15:06:34 +00:00
Laurent Rineau a72bd80380 Pass the bbox as argument instead of the six coordinates
That increased the perfs! :-)
2012-06-14 17:04:35 +00:00
Laurent Rineau 503d441f1e merge changes from next 2012-06-13 15:51:29 +00:00
Philipp Möller 17797b7271 Merge next into this branch. There have been conflicts in the
AABB_tree documentation, Intersections_3 and Arrangement_on_surface_2.

The merge also introduced a regression for a bug fixed in R68387 which
fixed a bug in Triangle_3 Segment_3 intersections. The relevant
testcase is in triangle_other_intersection_test.cpp.
2012-04-24 15:06:19 +00:00
Sébastien Loriot 8db3036330 BUGFIX
correct error in intersection computation of triangle_3 segment_3
when the segment is collinear with a triangle edge.
2012-04-05 11:57:58 +00:00
Sébastien Loriot ab57806db7 missing enum_cast 2012-03-22 11:08:05 +00:00
Sébastien Loriot ba760bbdb2 need to use an enum for having the different cases:
when the end point is on the facet, any ray have the endpoint in the
plane of the facet.
2012-03-22 10:39:23 +00:00
Sébastien Loriot b058a2a4f3 modify the internal do_intersect Ray_3 vs Triangle_3 function
to be able to known whether the endpoint of the ray lies inside the
plane of the triangle. The running time is the public do_intersect function
should remain the same.
2012-03-21 18:20:04 +00:00
Laurent Rineau 672d2dd292 Commit work in progress 2012-03-21 16:58:29 +00:00
Laurent Rineau 439dd0abb9 Fix typo
- Remove a line that was rewritten but not removed.
- Add a comment
2012-03-21 14:34:53 +00:00
Laurent Rineau b5d987a4b5 Increasing the perf of the filtered predicate
When FT is Interval_nt, it is better that the
Do_intersect_bbox_segment_aux_is_greater returns a Uncertain<bool> instead
of a bool. That can delay the conversion of Uncertain<bool> to bool, and
hence better perf.
2012-03-21 14:24:31 +00:00
Laurent Rineau e940d97a75 Prepare the code factorization with the static filter of Do_intersect_3 2012-03-21 13:59:45 +00:00
Laurent Rineau 0e6dbc4b40 Reorganize expressions that are evaluation of the sign of a determinant
There are six of them in do_intersect(Bbox_3, Segment_3)
2012-03-21 11:49:30 +00:00
Laurent Rineau c291e92442 Less tests of sign of expressions
Followup to previous commit.

I have managed to transform most of the tests to simple comparison of input
coordinates. That will ease the writing of static filters. Only six
determinant signs have to be exactly determined.
2012-03-21 11:40:29 +00:00
Laurent Rineau 671464db4c Less tests of sign of expressions
I have managed to transform most of the tests to simple comparison of input
coordinates. That will ease the writing of static filters.
2012-03-21 11:13:19 +00:00