diff --git a/Envelope_3/doc_tex/Envelope_3/envelope.tex b/Envelope_3/doc_tex/Envelope_3/envelope.tex index 867af8c5d8e..ab31e1a4faf 100644 --- a/Envelope_3/doc_tex/Envelope_3/envelope.tex +++ b/Envelope_3/doc_tex/Envelope_3/envelope.tex @@ -46,7 +46,7 @@ defined for upper envelopes. In the rest of this chapter, we refer to both these diagrams as {\em envelope diagrams}. It is easy to see that an envelope diagram is no more than a planar -arrangement (see Chapter~\ref{chapterArrangement_2}), represented +arrangement (see Chapter~\ref{chapterArrangement_on_surface_2}), represented using an extended {\sc Dcel} structure, such that every {\sc Dcel} record (namely each face, halfedge and vertex) stores an additional container of it originators: the $xy$-monotone surfaces that induce diff --git a/Envelope_3/include/CGAL/Env_sphere_traits_3.h b/Envelope_3/include/CGAL/Env_sphere_traits_3.h index 88438e72e10..70a33b2d883 100644 --- a/Envelope_3/include/CGAL/Env_sphere_traits_3.h +++ b/Envelope_3/include/CGAL/Env_sphere_traits_3.h @@ -16,8 +16,12 @@ // // Author(s) : Michal Meyerovitch // Baruch Zukerman +<<<<<<< .mine +// Ron Wein +======= // Ron Wein // Efi Fogel +>>>>>>> .r38855 #ifndef CGAL_ENV_SPHERE_TRAITS_3_H #define CGAL_ENV_SPHERE_TRAITS_3_H @@ -30,7 +34,11 @@ CGAL_BEGIN_NAMESPACE +<<<<<<< .mine +template +======= template +>>>>>>> .r38855 class Env_sphere_traits_3 : public ConicTraits_2 { public: @@ -78,7 +86,7 @@ public: // create xy-monotone surfaces from a general surface // return a past-the-end iterator - template + template OutputIterator operator()(const Surface_3& s, bool is_lower, OutputIterator o) @@ -111,7 +119,7 @@ public: // insert into the OutputIterator all the (2d) curves of the boundary of // the vertical projection of the surface on the xy-plane // the OutputIterator value type is X_monotone_curve_2 - template + template OutputIterator operator()(const Xy_monotone_surface_3& s, OutputIterator o) { @@ -171,7 +179,7 @@ public: // insert into OutputIterator all the (2d) projections on the xy plane of // the intersection objects between the 2 surfaces // the data type of OutputIterator is Object - template + template OutputIterator operator()(const Xy_monotone_surface_3& s1, const Xy_monotone_surface_3& s2, @@ -467,7 +475,7 @@ public: Rational lb = envelope_coef*2*b_diff*sign_c_diff; Rational lc = envelope_coef*sign_c_diff*(2*c_diff*z_plane - m); - if (ellipse_is_point) + if (ellipse_is_point) { // as specified in the is_valid_conic_equation method, the // intersection point is: @@ -1138,7 +1146,7 @@ public: // r*x^2 + s*y^2 + t*xy + u*x + v*y + w = 0 // has real solutions // is_point is set to true if the equation represents just one point - template + template bool is_valid_conic_equation(const NT& r, const NT& s, const NT& t, const NT& u, const NT& v, const NT& w, bool &is_point) const @@ -1221,7 +1229,7 @@ public: return cv.get_point_at_x(pt); } - template + template OutputIterator add_curve_to_output(const Curve_2& c, OutputIterator oi) { Object objs[2]; @@ -1256,9 +1264,15 @@ protected: * Compare two spheres: first compare their center points in an * xyz-lexicographic order, then by their radii. */ +<<<<<<< .mine +template +bool operator< (const typename Kernel::Sphere_3& a, + const typename Kernel::Sphere_3& b) +======= template bool operator< (const CGAL::Sphere_3 & a, const CGAL::Sphere_3 & b) +>>>>>>> .r38855 { Kernel k; Comparison_result res = k.compare_xyz_3_object()(a.center(), b.center()); @@ -1267,16 +1281,27 @@ bool operator< (const CGAL::Sphere_3 & a, { res = CGAL::compare (a.squared_radius(), b.squared_radius()); } +<<<<<<< .mine + + return (res == SMALLER); +======= return (res == SMALLER); +>>>>>>> .r38855 } /*! * Compare two spheres for equality. */ +<<<<<<< .mine +template +bool operator== (const typename Kernel::Sphere_3& a, + const typename Kernel::Sphere_3& b) +======= template bool operator== (const typename Kernel::Sphere_3& a, const typename Kernel::Sphere_3& b) +>>>>>>> .r38855 { Kernel k; diff --git a/Envelope_3/test/Envelope_3/spheres_test.cpp b/Envelope_3/test/Envelope_3/spheres_test.cpp index b29c86a490b..9096fb43153 100644 --- a/Envelope_3/test/Envelope_3/spheres_test.cpp +++ b/Envelope_3/test/Envelope_3/spheres_test.cpp @@ -132,3 +132,12 @@ int main(int argc, char **argv) return success; } +#if 0 +CGAL_BEGIN_NAMESPACE +inline bool operator< (const CGAL::Cartesian::Sphere_3& a, + const CGAL::Cartesian::Sphere_3& b) +{ + return SMALLER; +} +CGAL_END_NAMESPACE +#endif