diff --git a/Nef_3/include/CGAL/Nef_3/SNC_FM_decorator.h b/Nef_3/include/CGAL/Nef_3/SNC_FM_decorator.h index 515f3d39d37..04555411602 100644 --- a/Nef_3/include/CGAL/Nef_3/SNC_FM_decorator.h +++ b/Nef_3/include/CGAL/Nef_3/SNC_FM_decorator.h @@ -346,7 +346,7 @@ public: typedef CGAL::Halffacet_geometry Halffacet_geometry; - + using Base::debug; using Base::link_as_facet_cycle; using Base::info; using Base::link_as_interior_loop; protected: Halffacet_handle f_; public: diff --git a/Nef_3/include/CGAL/Nef_3/SNC_SM_overlayer.h b/Nef_3/include/CGAL/Nef_3/SNC_SM_overlayer.h index ba216736642..baa692b7479 100644 --- a/Nef_3/include/CGAL/Nef_3/SNC_SM_overlayer.h +++ b/Nef_3/include/CGAL/Nef_3/SNC_SM_overlayer.h @@ -223,6 +223,24 @@ class SNC_SM_overlayer typedef typename Map::Infi_box Infi_box; + using SM_decorator::clear_face_cycle_entries; + using SM_decorator::link_as_loop; + using SM_decorator::link_as_prev_next_pair; + using SM_decorator::is_closed_at_source; + using SM_decorator::is_closed_at_target; + using SM_decorator::delete_edge_pair; + using SM_decorator::set_face; + using SM_decorator::is_isolated; + using SM_decorator::delete_vertex_only; + using SM_decorator::delete_face_only; + using SM_decorator::first_out_edge; + using SM_decorator::set_first_out_edge; + using SM_decorator::has_outdeg_two; + using SM_decorator::store_sm_boundary_object; + using SM_decorator::is_sm_boundary_object; + using SM_decorator::undo_sm_boundary_object; + using SM_decorator::delete_edge_pair_only; + public: SNC_SM_overlayer(Map* M, const Sphere_kernel& G = Sphere_kernel()) diff --git a/Nef_3/include/CGAL/Nef_3/SNC_constructor.h b/Nef_3/include/CGAL/Nef_3/SNC_constructor.h index 9b3999f924b..583ab726265 100644 --- a/Nef_3/include/CGAL/Nef_3/SNC_constructor.h +++ b/Nef_3/include/CGAL/Nef_3/SNC_constructor.h @@ -1858,6 +1858,8 @@ class SNC_constructor typedef typename SNC_structure::Mark Mark; + using Base::create_from_plane; + public: SNC_constructor( SNC_structure& W) : Base(W) {} diff --git a/Nef_3/include/CGAL/Nef_3/SNC_external_structure.h b/Nef_3/include/CGAL/Nef_3/SNC_external_structure.h index 28376a757c4..b3017e34b6e 100644 --- a/Nef_3/include/CGAL/Nef_3/SNC_external_structure.h +++ b/Nef_3/include/CGAL/Nef_3/SNC_external_structure.h @@ -387,7 +387,7 @@ public: Halfedge_handle e2 = *itl; while(normalized(e1->vector()) != normalized(-e2->vector())) { ++itl; - make_twins(e1,*itl); + this->make_twins(e1,*itl); e1 = e2; ++itl; e2 = *itl; @@ -395,7 +395,7 @@ public: CGAL_NEF_TRACEN(" " << e1->source()->point() << " -> " << e2->source()->point()); CGAL_NEF_TRACEN(e1->vector()<<" -> "<<-e2->vector()); - make_twins(e1,e2); + this->make_twins(e1,e2); CGAL_assertion(e1->mark()==e2->mark()); // discard temporary sphere_point ? @@ -414,7 +414,7 @@ public: Halfedge_handle e2 = *itl; while(normalized(e1->vector()) != normalized(-e2->vector())) { ++itl; - make_twins(e1,*itl); + this->make_twins(e1,*itl); e1 = e2; ++itl; e2 = *itl; @@ -422,7 +422,7 @@ public: CGAL_NEF_TRACEN(" " << e1->source()->point() << " -> " << e2->source()->point()); CGAL_NEF_TRACEN(e1->vector()<<" -> "<<-e2->vector()); - make_twins(e1,e2); + this->make_twins(e1,e2); CGAL_assertion(e1->mark()==e2->mark()); // discard temporary sphere_point ? diff --git a/Nef_3/include/CGAL/Nef_3/SNC_point_locator.h b/Nef_3/include/CGAL/Nef_3/SNC_point_locator.h index 903a7746cee..38690a6b1e9 100644 --- a/Nef_3/include/CGAL/Nef_3/SNC_point_locator.h +++ b/Nef_3/include/CGAL/Nef_3/SNC_point_locator.h @@ -66,6 +66,7 @@ class SNC_point_locator { public: class Intersection_call_back; + typedef SNC_decorator Base; typedef SNC_point_locator Self; typedef typename SNC_decorator::Decorator_traits Decorator_traits; typedef typename SNC_decorator::SNC_structure SNC_structure; @@ -92,6 +93,7 @@ public: typedef typename Decorator_traits::Halfedge_iterator Halfedge_iterator; typedef typename Decorator_traits::Halffacet_iterator Halffacet_iterator; + const char* version() { return version_; } virtual Object_handle locate(const Point_3& p) const = 0; @@ -214,6 +216,7 @@ public: // typedef typename SNC_candidate_provider::Objects_around_box Objects_around_box; + using Base::get_visible_facet; public: SNC_point_locator_by_spatial_subdivision() : initialized(false), candidate_provider(0) {} @@ -305,7 +308,7 @@ public: virtual void initialize(SNC_structure* W) { #ifdef CGAL_NEF_LIST_OF_TRIANGLES - set_snc(*W); + this->set_snc(*W); candidate_provider = new SNC_candidate_provider(W); #else // CGAL_NEF_LIST_OF_TRIANGLES CGAL_NEF_TIMER(ct_t.start()); @@ -317,7 +320,7 @@ public: #endif CGAL_assertion( W != NULL); // (Base) *this = SNC_decorator(*W); - set_snc(*W); + this->set_snc(*W); Object_list objects; Vertex_iterator v; Halfedge_iterator e; diff --git a/Nef_3/include/CGAL/Nef_3/SNC_simplify.h b/Nef_3/include/CGAL/Nef_3/SNC_simplify.h index 659d06aa619..8960720bfbd 100644 --- a/Nef_3/include/CGAL/Nef_3/SNC_simplify.h +++ b/Nef_3/include/CGAL/Nef_3/SNC_simplify.h @@ -697,6 +697,8 @@ class SNC_simplify typedef typename SNC_structure::SHalfedge_around_facet_circulator SHalfedge_around_facet_circulator; + using Base::is_part_of_edge; + public: SNC_simplify(SNC_structure& sncs) : Base(sncs) {} diff --git a/Nef_3/include/CGAL/Nef_3/SNC_sphere_map.h b/Nef_3/include/CGAL/Nef_3/SNC_sphere_map.h index 4f5b012b742..b5435df2993 100644 --- a/Nef_3/include/CGAL/Nef_3/SNC_sphere_map.h +++ b/Nef_3/include/CGAL/Nef_3/SNC_sphere_map.h @@ -134,7 +134,7 @@ class SNC_sphere_map : public Items_::template Vertex() const - { this->CGAL_nef_assertion_msg(0,"not impl."); return Object_handle(); } + { CGAL_assertion_msg(0,"not impl."); return Object_handle(); } }; class SFace_cycle_const_iterator : public Object_const_iterator @@ -259,7 +259,7 @@ class SNC_sphere_map : public Items_::template Vertex() const - { this->CGAL_nef_assertion_msg(0,"not impl."); return Object_handle(); } + { CGAL_assertion_msg(0,"not impl."); return Object_handle(); } }; SFace_cycle_const_iterator sface_cycles_begin(SFace_const_handle f) const diff --git a/Nef_3/include/CGAL/Nef_polyhedron_3.h b/Nef_3/include/CGAL/Nef_polyhedron_3.h index f42e40a1ce1..24d14399e38 100644 --- a/Nef_3/include/CGAL/Nef_polyhedron_3.h +++ b/Nef_3/include/CGAL/Nef_polyhedron_3.h @@ -173,6 +173,9 @@ class Nef_polyhedron_3 : public CGAL::Handle_for< Nef_polyhedron_3_rep > Decorator; + //using Decorator::set_snc; + struct Polylines_tag {}; enum Boundary { EXCLUDED=0, INCLUDED=1 };