From aa67e8c997e0261296f451809e5a79e82230d10c Mon Sep 17 00:00:00 2001 From: Eric Berberich Date: Mon, 28 Jan 2008 10:15:02 +0000 Subject: [PATCH] renamed torus to dupin cyclide --- ... => Arr_dupin_cyclide_batched_pl_helper.h} | 25 ++-- ...> Arr_dupin_cyclide_construction_helper.h} | 16 +-- ...h => Arr_dupin_cyclide_insertion_helper.h} | 29 ++-- ...r.h => Arr_dupin_cyclide_overlay_helper.h} | 18 +-- ...rr_dupin_cyclide_topology_traits_2_impl.h} | 130 ++++++++++-------- 5 files changed, 116 insertions(+), 102 deletions(-) rename Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/{Arr_torus_batched_pl_helper.h => Arr_dupin_cyclide_batched_pl_helper.h} (84%) rename Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/{Arr_torus_construction_helper.h => Arr_dupin_cyclide_construction_helper.h} (96%) rename Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/{Arr_torus_insertion_helper.h => Arr_dupin_cyclide_insertion_helper.h} (87%) rename Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/{Arr_torus_overlay_helper.h => Arr_dupin_cyclide_overlay_helper.h} (93%) rename Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/{Arr_torus_topology_traits_2_impl.h => Arr_dupin_cyclide_topology_traits_2_impl.h} (92%) diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_torus_batched_pl_helper.h b/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_dupin_cyclide_batched_pl_helper.h similarity index 84% rename from Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_torus_batched_pl_helper.h rename to Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_dupin_cyclide_batched_pl_helper.h index cdc44dd8c4d..d2c96001665 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_torus_batched_pl_helper.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_dupin_cyclide_batched_pl_helper.h @@ -18,11 +18,11 @@ // Author(s) : Baruch Zukerman // Ron Wein -#ifndef CGAL_ARR_TORUS_BATCHED_PL_HELPER_H -#define CGAL_ARR_TORUS_BATCHED_PL_HELPER_H +#ifndef CGAL_ARR_DUPIN_CYCLIDE_BATCHED_PL_HELPER_H +#define CGAL_ARR_DUPIN_CYCLIDE_BATCHED_PL_HELPER_H /*! - * Definition of the Arr_torus_batched_pl_helper class-template. + * Definition of the Arr_dupin_cyclide_batched_pl_helper class-template. */ #include @@ -31,13 +31,13 @@ CGAL_BEGIN_NAMESPACE #include -/*! \class Arr_torus_batched_pl_helper +/*! \class Arr_dupin_cyclide_batched_pl_helper * A helper class for the batched point-location sweep-line visitor, suitable * for an Arrangement_on_surface_2 instantiated with a topology-traits class * for unbounded curves in the plane. */ template -class Arr_torus_batched_pl_helper +class Arr_dupin_cyclide_batched_pl_helper { public: @@ -68,7 +68,7 @@ public: * Constructor. * \param arr The arrangement. */ - Arr_torus_batched_pl_helper (const Arrangement_2 *arr) : + Arr_dupin_cyclide_batched_pl_helper (const Arrangement_2 *arr) : m_top_traits (arr->topology_traits()) {} @@ -91,7 +91,7 @@ public: #if 0 return (m_top_fict->face()); #endif - CGAL_error_msg( "Arr_torus_batched_pl_helper::top_face not yet implemented" ); + CGAL_error_msg( "Arr_dupin_cyclide_batched_pl_helper::top_face not yet implemented" ); return; } }; @@ -104,7 +104,7 @@ public: // A notification issued before the sweep process starts. // template -void Arr_torus_batched_pl_helper::before_sweep () +void Arr_dupin_cyclide_batched_pl_helper::before_sweep () { #if 0 // Initialize the fictitious halfedge lying on the top edge of the @@ -129,7 +129,7 @@ void Arr_torus_batched_pl_helper::before_sweep () return; #endif - CGAL_error_msg( "Arr_torus_batched_pl_helper::before_sweep not yet implemented" ); + CGAL_error_msg( "Arr_dupin_cyclide_batched_pl_helper::before_sweep not yet implemented" ); return; } @@ -138,7 +138,7 @@ void Arr_torus_batched_pl_helper::before_sweep () // event. // template -void Arr_torus_batched_pl_helper::after_handle_event +void Arr_dupin_cyclide_batched_pl_helper::after_handle_event (Event* event) { #if 0 @@ -156,10 +156,11 @@ void Arr_torus_batched_pl_helper::after_handle_event return; #endif - CGAL_error_msg( "Arr_torus_batched_pl_helper::after_handle_event not yet implemenet" ); + CGAL_error_msg( "Arr_dupin_cyclide_batched_pl_helper::after_handle_event not yet implemenet" ); return; } CGAL_END_NAMESPACE -#endif // ARR_TORUS_BATCHED_PL_HELPER +#endif // ARR_DUPIN_CYCLIDE_BATCHED_PL_HELPER +// EOF diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_torus_construction_helper.h b/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_dupin_cyclide_construction_helper.h similarity index 96% rename from Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_torus_construction_helper.h rename to Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_dupin_cyclide_construction_helper.h index 287c9f87415..72fff517494 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_torus_construction_helper.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_dupin_cyclide_construction_helper.h @@ -21,11 +21,11 @@ // Efi Fogel // Eric Berberich -#ifndef CGAL_ARR_TORUS_CONSTRUCTION_HELPER_H -#define CGAL_ARR_TORUS_CONSTRUCTION_HELPER_H +#ifndef CGAL_ARR_DUPIN_CYCLIDE_CONSTRUCTION_HELPER_H +#define CGAL_ARR_DUPIN_CYCLIDE_CONSTRUCTION_HELPER_H /*! \file - * Definition of the Arr_torus_construction_helper class-template. + * Definition of the Arr_dupin_cyclide_construction_helper class-template. */ #include @@ -33,13 +33,13 @@ CGAL_BEGIN_NAMESPACE -/*! \class Arr_torus_construction_helper +/*! \class Arr_dupin_cyclide_construction_helper * A helper class for the construction sweep-line visitor, suitable * for an Arrangement_on_surface_2 instantiated with a topology-traits class * for curves on an ellipsoid */ template -class Arr_torus_construction_helper +class Arr_dupin_cyclide_construction_helper { public: typedef Traits_ Traits_2; @@ -85,14 +85,14 @@ protected: public: /*! Constructor. */ - Arr_torus_construction_helper(Arrangement_2 * arr) : + Arr_dupin_cyclide_construction_helper(Arrangement_2 * arr) : m_top_traits(arr->topology_traits()), m_arr_access(*arr), m_he_ind_map_p(NULL) {} /*! Destructor. */ - virtual ~Arr_torus_construction_helper() {} + virtual ~Arr_dupin_cyclide_construction_helper() {} /// \name Notification functions. //@{ @@ -334,4 +334,4 @@ public: CGAL_END_NAMESPACE -#endif // CGAL_ARR_TORUS_CONSTRUCTION_HELPER +#endif // CGAL_ARR_DUPIN_CYCLIDE_CONSTRUCTION_HELPER diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_torus_insertion_helper.h b/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_dupin_cyclide_insertion_helper.h similarity index 87% rename from Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_torus_insertion_helper.h rename to Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_dupin_cyclide_insertion_helper.h index 1b81622f170..1ec6aa6f29f 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_torus_insertion_helper.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_dupin_cyclide_insertion_helper.h @@ -20,26 +20,26 @@ // Ron Wein // Eric Berberich -#ifndef CGAL_ARR_TORUS_INSERTION_HELPER_H -#define CGAL_ARR_TORUS_INSERTION_HELPER_H +#ifndef CGAL_ARR_DUPIN_CYCLIDE_INSERTION_HELPER_H +#define CGAL_ARR_DUPIN_CYCLIDE_INSERTION_HELPER_H /*! - * Definition of the Arr_torus_insertion_helper class-template. + * Definition of the Arr_dupin_cyclide_insertion_helper class-template. */ #include -#include +#include CGAL_BEGIN_NAMESPACE -/*! \class Arr_torus_insertion_helper +/*! \class Arr_dupin_cyclide_insertion_helper * A helper class for the insertion sweep-line visitors, suitable * for an Arrangement_on_surface_2 instantiated with a topology-traits class * for unbounded curves in the plane. */ template -class Arr_torus_insertion_helper : - public Arr_torus_construction_helper { public: @@ -53,7 +53,7 @@ public: typedef typename Traits_2::Point_2 Point_2; - typedef Arr_torus_construction_helper Base; @@ -62,7 +62,7 @@ public: Subcurve, Event> Base_visitor; - typedef Arr_torus_insertion_helper Self; @@ -83,12 +83,12 @@ protected: public: /*! Constructor. */ - Arr_torus_insertion_helper (Arrangement_2 *arr) : + Arr_dupin_cyclide_insertion_helper (Arrangement_2 *arr) : Base (arr) {} /*! Destructor. */ - virtual ~Arr_torus_insertion_helper(){} + virtual ~Arr_dupin_cyclide_insertion_helper(){} /// \name Notification functions. //@{ @@ -112,7 +112,7 @@ public: // A notification issued before the sweep process starts. // template -void Arr_torus_insertion_helper::before_sweep () +void Arr_dupin_cyclide_insertion_helper::before_sweep () { this->m_top_face = Face_handle(this->m_top_traits->bottom_face()); } @@ -122,7 +122,7 @@ void Arr_torus_insertion_helper::before_sweep () // event. // template -void Arr_torus_insertion_helper::before_handle_event +void Arr_dupin_cyclide_insertion_helper::before_handle_event (Event* event) { // Ignore events that do not have boundary conditions. @@ -184,4 +184,5 @@ void Arr_torus_insertion_helper::before_handle_event CGAL_END_NAMESPACE -#endif +#endif // CGAL_ARR_DUPIN_CYCLIDE_INSERTION_HELPER_H +// EOF diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_torus_overlay_helper.h b/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_dupin_cyclide_overlay_helper.h similarity index 93% rename from Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_torus_overlay_helper.h rename to Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_dupin_cyclide_overlay_helper.h index a3e9b2ee64f..b3d74f0c77c 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_torus_overlay_helper.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_dupin_cyclide_overlay_helper.h @@ -18,18 +18,18 @@ // Author(s) : Eric Berberich // Ron Wein -#ifndef CGAL_ARR_TORUS_OVERLAY_HELPER_H -#define CGAL_ARR_TORUS_OVERLAY_HELPER_H +#ifndef CGAL_ARR_DUPIN_CYCLIDE_OVERLAY_HELPER_H +#define CGAL_ARR_DUPIN_CYCLIDE_OVERLAY_HELPER_H /*! - * Definition of the Arr_torus_overlay_helper class-template. + * Definition of the Arr_dupin_cyclide_overlay_helper class-template. */ -#include +#include CGAL_BEGIN_NAMESPACE -/*! \class Arr_torus_overlay_helper +/*! \class Arr_dupin_cyclide_overlay_helper * A helper class for the overlay sweep-line visitor, suitable for the overlay * of Arrangement_on_surface_2 objects instantiated with a topology-traits * class for unbounded curves in the plane. @@ -40,7 +40,7 @@ template -class Arr_torus_overlay_helper +class Arr_dupin_cyclide_overlay_helper { public: @@ -67,7 +67,7 @@ public: Vertex_handle_blue; // Define the helper class for the construction visitor. - typedef Arr_torus_construction_helper Construction_helper; @@ -86,7 +86,7 @@ protected: public: /*! Constructor, given the input red and blue arrangements. */ - Arr_torus_overlay_helper (const Arrangement_red_2 *red_arr, + Arr_dupin_cyclide_overlay_helper (const Arrangement_red_2 *red_arr, const Arrangement_blue_2 *blue_arr) : m_red_top_traits (red_arr->topology_traits()), m_blue_top_traits (blue_arr->topology_traits()) @@ -213,4 +213,4 @@ public: CGAL_END_NAMESPACE -#endif +#endif // CGAL_ARR_DUPIN_CYCLIDE_OVERLAY_HELPER_H diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_torus_topology_traits_2_impl.h b/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_dupin_cyclide_topology_traits_2_impl.h similarity index 92% rename from Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_torus_topology_traits_2_impl.h rename to Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_dupin_cyclide_topology_traits_2_impl.h index f3aacb1fe62..0ba2a9ea923 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_torus_topology_traits_2_impl.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_dupin_cyclide_topology_traits_2_impl.h @@ -18,12 +18,12 @@ // Author(s) : Eric Berberich // Ron Wein -#ifndef CGAL_ARR_TORUS_TOPOLOGY_TRAITS_2_IMPL_H -#define CGAL_ARR_TORUS_TOPOLOGY_TRAITS_2_IMPL_H +#ifndef CGAL_ARR_DUPIN_CYCLIDE_TOPOLOGY_TRAITS_2_IMPL_H +#define CGAL_ARR_DUPIN_CYCLIDE_TOPOLOGY_TRAITS_2_IMPL_H /*! \file * Member-function definitions for the - * Arr_torus_topology_traits_2 class. + * Arr_dupin_cyclide_topology_traits_2 class. */ CGAL_BEGIN_NAMESPACE @@ -32,8 +32,8 @@ CGAL_BEGIN_NAMESPACE // Default constructor. // template -Arr_torus_topology_traits_2:: -Arr_torus_topology_traits_2() : +Arr_dupin_cyclide_topology_traits_2:: +Arr_dupin_cyclide_topology_traits_2() : _m_own_traits (true), _m_f_top(NULL) { @@ -48,8 +48,8 @@ Arr_torus_topology_traits_2() : // Constructor with a geometry-traits class. // template -Arr_torus_topology_traits_2:: -Arr_torus_topology_traits_2 (Geometry_traits_2 *tr) : +Arr_dupin_cyclide_topology_traits_2:: +Arr_dupin_cyclide_topology_traits_2 (Geometry_traits_2 *tr) : _m_own_traits(false), _m_f_top(NULL) { @@ -64,10 +64,10 @@ Arr_torus_topology_traits_2 (Geometry_traits_2 *tr) : // Assign the contents of another topology-traits class. // template -void Arr_torus_topology_traits_2::assign (const Self& other) -{ +void Arr_dupin_cyclide_topology_traits_2:: +assign(const Self& other) { // status: correct - //std::cout << "Arr_torus_topology_traits_2 assign" << std::endl; + //std::cout << "Arr_dupin_cyclide_topology_traits_2 assign" << std::endl; // Assign the class. // Clear the current DCEL and duplicate the other DCEL. @@ -94,7 +94,7 @@ void Arr_torus_topology_traits_2::assign (const Self& other) // Make the necessary updates after the DCEL structure have been updated. // template -void Arr_torus_topology_traits_2::dcel_updated () +void Arr_dupin_cyclide_topology_traits_2::dcel_updated () { // status: missing location of f_top @@ -245,10 +245,10 @@ void Arr_torus_topology_traits_2::dcel_updated () // Initialize an empty DCEL structure. // template -void Arr_torus_topology_traits_2::init_dcel () +void Arr_dupin_cyclide_topology_traits_2::init_dcel () { // status: correct - //std::cout << "Arr_torus_topology_traits_2 init_dcel" + //std::cout << "Arr_dupin_cyclide_topology_traits_2 init_dcel" // << std::endl; // Clear the current DCEL. @@ -277,11 +277,11 @@ void Arr_torus_topology_traits_2::init_dcel () // template Comparison_result -Arr_torus_topology_traits_2:: +Arr_dupin_cyclide_topology_traits_2:: compare_y_at_x (const Point_2& p, const Halfedge* he) const { // status: correct - //std::cout << "Arr_torus_topology_traits_2 compare_y_at_x" + //std::cout << "Arr_dupin_cyclide_topology_traits_2 compare_y_at_x" // << std::endl; // all edges are valid, therefore just compare p to its associated curve. @@ -292,13 +292,13 @@ compare_y_at_x (const Point_2& p, const Halfedge* he) const // Check if the given vertex is associated with the given curve end. // template -bool Arr_torus_topology_traits_2:: +bool Arr_dupin_cyclide_topology_traits_2:: are_equal (const Vertex *v, const X_monotone_curve_2& cv, Arr_curve_end ind, Arr_parameter_space ps_x, Arr_parameter_space ps_y) const { // status: correct - //std::cout << "Arr_torus_topology_traits_2 are_equal" + //std::cout << "Arr_dupin_cyclide_topology_traits_2 are_equal" // << std::endl; CGAL_precondition(_valid(ps_x, ps_y)); @@ -346,13 +346,13 @@ are_equal (const Vertex *v, // template CGAL::Object -Arr_torus_topology_traits_2:: +Arr_dupin_cyclide_topology_traits_2:: place_boundary_vertex (Face *f, const X_monotone_curve_2& cv, Arr_curve_end ind, Arr_parameter_space ps_x, Arr_parameter_space ps_y) { // status: correct - //std::cout << "Arr_torus_topology_traits_2 place_boundary_vertex" + //std::cout << "Arr_dupin_cyclide_topology_traits_2 place_boundary_vertex" // << std::endl; CGAL_precondition(_valid(ps_x, ps_y)); @@ -397,15 +397,16 @@ place_boundary_vertex (Face *f, // vertex with boundary conditions. // template -typename Arr_torus_topology_traits_2::Halfedge* -Arr_torus_topology_traits_2:: +typename Arr_dupin_cyclide_topology_traits_2::Halfedge* +Arr_dupin_cyclide_topology_traits_2:: locate_around_boundary_vertex (Vertex *v, const X_monotone_curve_2& cv, Arr_curve_end ind, Arr_parameter_space ps_x, Arr_parameter_space ps_y) const { // status: correct - //std::cout << "Arr_torus_topology_traits_2 locate_around_boundary_vertex" + //std::cout << "Arr_dupin_cyclide_topology_traits_2 " + // << "locate_around_boundary_vertex" // << std::endl; CGAL_precondition(_valid(ps_x, ps_y)); @@ -502,7 +503,7 @@ locate_around_boundary_vertex (Vertex *v, // template void -Arr_torus_topology_traits_2:: +Arr_dupin_cyclide_topology_traits_2:: notify_on_boundary_vertex_creation (Vertex *v, const X_monotone_curve_2& cv, Arr_curve_end ind, @@ -510,7 +511,7 @@ notify_on_boundary_vertex_creation (Vertex *v, Arr_parameter_space ps_y) const { // status: correct - //std::cout << "Arr_torus_topology_traits_2::" + //std::cout << "Arr_dupin_cyclide_topology_traits_2::" // << "notify_on_boundary_vertex_creation" // << std::endl; @@ -612,16 +613,16 @@ notify_on_boundary_vertex_creation (Vertex *v, // Locate curve end with respect to dcel template CGAL::Object -Arr_torus_topology_traits_2:: +Arr_dupin_cyclide_topology_traits_2:: locate_curve_end (const X_monotone_curve_2& cv, Arr_curve_end ind, Arr_parameter_space ps_x, Arr_parameter_space ps_y) const { // status: to implement - //std::cout << "Arr_torus_topology_traits_2 locate_curve_end" + //std::cout << "Arr_dupin_cyclide_topology_traits_2 locate_curve_end" // << std::endl; CGAL_precondition(_valid(ps_x, ps_y)); - // torus does not contain unbounded curves + // dupin_cyclide does not contain unbounded curves Vertex* v = NULL; typename Identification_NS::iterator ns_it; @@ -678,13 +679,14 @@ locate_curve_end (const X_monotone_curve_2& cv, Arr_curve_end ind, // template std::pair -Arr_torus_topology_traits_2:: +Arr_dupin_cyclide_topology_traits_2:: face_split_after_edge_insertion (const Halfedge *prev1, const Halfedge *prev2, const X_monotone_curve_2& cv) const { // status: correct - //std::cout << "Arr_torus_topology_traits_2 face_split" << std::endl; + //std::cout << "Arr_dupin_cyclide_topology_traits_2 face_split" + // << std::endl; CGAL_precondition (prev1->is_on_inner_ccb()); CGAL_precondition (prev2->is_on_inner_ccb()); @@ -700,7 +702,7 @@ face_split_after_edge_insertion (const Halfedge *prev1, // TODO use arr function for to check perimetry bool perimetric = (sign_12 != CGAL::ZERO && sign_21 != CGAL::ZERO); - // on a torus except for one case, there is a face split + // on a dupin_cyclide except for one case, there is a face split if (perimetric) { // must be topface if (prev1->inner_ccb()->face() == top_face()) { @@ -730,18 +732,19 @@ face_split_after_edge_insertion (const Halfedge *prev1, // template bool -Arr_torus_topology_traits_2:: +Arr_dupin_cyclide_topology_traits_2:: hole_creation_after_edge_removal (const Halfedge *he) const { // status: to implement - std::cout << "Arr_torus_topology_traits_2 hole_creation" << std::endl; + std::cout << "Arr_dupin_cyclide_topology_traits_2 hole_creation" + << std::endl; - CGAL_error(); // hole_creation not finally implemented for torus + CGAL_error(); // hole_creation not finally implemented for dupin_cyclide CGAL_precondition (! he->is_on_inner_ccb()); CGAL_precondition (! he->opposite()->is_on_inner_ccb()); - // TODO hole_creation for torus + // TODO hole_creation for dupin_cyclide // TODO use arr function for to check perimetry @@ -782,7 +785,8 @@ hole_creation_after_edge_removal (const Halfedge *he) const return (true); } // else - // In this case we disconnect a perimetric cycle around the torus, + // In this case we disconnect a perimetric cycle + // around the dupin_cyclide, // causing two perimetric faces to merge. // The remainder of the cycle // becomes an inner CCB (a hole) in the merged face. @@ -800,13 +804,13 @@ hole_creation_after_edge_removal (const Halfedge *he) const // template bool -Arr_torus_topology_traits_2:: +Arr_dupin_cyclide_topology_traits_2:: is_on_new_perimetric_face_boundary (const Halfedge *prev1, const Halfedge *prev2, const X_monotone_curve_2& cv) const { // status: correct - //std::cout << "Arr_torus_topology_traits_2::" + //std::cout << "Arr_dupin_cyclide_topology_traits_2::" // << "is_on_new_perimetric_face_boundary" // << std::endl; @@ -830,11 +834,12 @@ is_on_new_perimetric_face_boundary (const Halfedge *prev1, // template bool -Arr_torus_topology_traits_2:: +Arr_dupin_cyclide_topology_traits_2:: boundaries_of_same_face (const Halfedge *e1, const Halfedge *e2) const { // status: correct - //std::cout << " Arr_torus_topology_traits_2::boundaries_of_same_face" + //std::cout << " Arr_dupin_cyclide_topology_traits_2::" + // << "boundaries_of_same_face" // << std::endl; // This predicate is only used for case 3.3.2 of the insertion process @@ -860,14 +865,14 @@ boundaries_of_same_face (const Halfedge *e1, const Halfedge *e2) const { // Determine whether the given vertex lies in the interior of the given face. // template -bool Arr_torus_topology_traits_2:: +bool Arr_dupin_cyclide_topology_traits_2:: is_in_face (const Face *f, const Point_2& p, const Vertex *v) const { // status: not implemented - std::cout << "TODO: Arr_torus_topology_traits_2::is_in_face" + std::cout << "TODO: Arr_dupin_cyclide_topology_traits_2::is_in_face" << std::endl; - CGAL_error(); // is_in_face not implemented for torus + CGAL_error(); // is_in_face not implemented for dupin_cyclide // TODO is_in_face NEEDED for incremental insertion return false; @@ -877,12 +882,14 @@ is_in_face (const Face *f, const Point_2& p, const Vertex *v) const // Determine whether a boundary vertex is redundant // template -bool Arr_torus_topology_traits_2::is_redundant +bool Arr_dupin_cyclide_topology_traits_2::is_redundant (const Vertex *v) const { // status: correct - //std::cout << "Arr_torus_topology_traits_2 is_redundant" << std::endl; - CGAL_precondition(_valid(v->parameter_space_in_x(),v->parameter_space_in_y())); + //std::cout << "Arr_dupin_cyclide_topology_traits_2 is_redundant" + // << std::endl; + CGAL_precondition(_valid(v->parameter_space_in_x(), + v->parameter_space_in_y())); // if there are not incident edges just remove it // TASK: check whether isolated or degree == 0 is needed! @@ -893,15 +900,17 @@ bool Arr_torus_topology_traits_2::is_redundant // Determine whether a boundary vertex is redundant // template -typename Arr_torus_topology_traits_2::Halfedge* -Arr_torus_topology_traits_2:: +typename Arr_dupin_cyclide_topology_traits_2::Halfedge* +Arr_dupin_cyclide_topology_traits_2:: erase_redundant_vertex (Vertex *v) { // status: correct - //std::cout << "Arr_torus_topology_traits_2 erase_redundant_vertex" + //std::cout << "Arr_dupin_cyclide_topology_traits_2 " + // << "erase_redundant_vertex" // << std::endl; - CGAL_precondition(_valid(v->parameter_space_in_x(),v->parameter_space_in_y())); + CGAL_precondition(_valid(v->parameter_space_in_x(), + v->parameter_space_in_y())); // no incident curve-end can give us the key // -> but we stored something else useful: find iterator @@ -937,7 +946,7 @@ erase_redundant_vertex (Vertex *v) // template CGAL::Sign -Arr_torus_topology_traits_2:: +Arr_dupin_cyclide_topology_traits_2:: _sign_of_subpath(const Halfedge* he1, const Halfedge* he2) const { CGAL::Sign result = CGAL::ZERO; @@ -1043,7 +1052,7 @@ _sign_of_subpath(const Halfedge* he1, const Halfedge* he2) const { // template CGAL::Sign -Arr_torus_topology_traits_2:: +Arr_dupin_cyclide_topology_traits_2:: _sign_of_subpath (const Halfedge* he1, const X_monotone_curve_2& cv2, const CGAL::Arr_curve_end& end2) const { @@ -1195,12 +1204,12 @@ _sign_of_subpath (const Halfedge* he1, // template CGAL::Sign -Arr_torus_topology_traits_2:: +Arr_dupin_cyclide_topology_traits_2:: _sign_of_path(const Halfedge* he1, const Halfedge* he2) const { // status: move to arr - //std::cout << "Arr_torus_topology_traits: " + //std::cout << "Arr_dupin_cyclide_topology_traits: " // << "_sign_of_subpath" << std::endl; CGAL::Sign result = CGAL::ZERO; @@ -1260,7 +1269,7 @@ _sign_of_path(const Halfedge* he1, const Halfedge* he2) const { // template CGAL::Sign -Arr_torus_topology_traits_2:: +Arr_dupin_cyclide_topology_traits_2:: _sign_of_path (const Halfedge* he1, const Halfedge* he2, const X_monotone_curve_2& cv) const { @@ -1372,8 +1381,8 @@ _sign_of_path (const Halfedge* he1, const Halfedge* he2, * on the line of discontinuity. */ template -typename Arr_torus_topology_traits_2::Face * -Arr_torus_topology_traits_2:: +typename Arr_dupin_cyclide_topology_traits_2::Face * +Arr_dupin_cyclide_topology_traits_2:: _face_before_vertex_on_identifications (Vertex * v) const { // status: correct @@ -1466,9 +1475,11 @@ _face_before_vertex_on_identifications (Vertex * v) const { Halfedge *rightmost_bottom = NULL; do { - typename Traits_adaptor_2::Parameter_space_in_x_2 parameter_space_in_x = + typename Traits_adaptor_2::Parameter_space_in_x_2 + parameter_space_in_x = _m_traits->parameter_space_in_x_2_object(); - typename Traits_adaptor_2::Parameter_space_in_y_2 parameter_space_in_y = + typename Traits_adaptor_2::Parameter_space_in_y_2 + parameter_space_in_y = _m_traits->parameter_space_in_y_2_object(); CGAL::Arr_curve_end ind = CGAL::ARR_MIN_END; @@ -1498,7 +1509,8 @@ _face_before_vertex_on_identifications (Vertex * v) const { // same for BOTTOM-side if ((rightmost_bottom == NULL) || - (rightmost_bottom->direction() == CGAL::ARR_RIGHT_TO_LEFT && + (rightmost_bottom->direction() == CGAL::ARR_RIGHT_TO_LEFT + && rightmost_bottom->direction() != curr->direction()) || (rightmost_bottom->direction() == curr->direction() && compare_x(curr->curve(), ind,