is compiling now. Corrected some privacy problems

This commit is contained in:
Peter Hachenberger 2006-03-10 15:47:29 +00:00
parent 1d1401375b
commit 3363e66d42
1 changed files with 31 additions and 29 deletions

View File

@ -20,42 +20,44 @@
CGAL_BEGIN_NAMESPACE CGAL_BEGIN_NAMESPACE
template<typename Const_decorator, typename Mark> template<typename Decorator, typename Mark>
class Volume_setter { class Volume_setter {
typedef typename Const_decorator::Vertex_const_handle typedef typename Decorator::Vertex_handle
Vertex_const_handle; Vertex_handle;
typedef typename Const_decorator::Halfedge_const_handle typedef typename Decorator::Halfedge_handle
Halfedge_const_handle; Halfedge_handle;
typedef typename Const_decorator::Halffacet_const_handle typedef typename Decorator::Halffacet_handle
Halffacet_const_handle; Halffacet_handle;
typedef typename Const_decorator::SHalfedge_const_handle typedef typename Decorator::SHalfedge_handle
SHalfedge_const_handle; SHalfedge_handle;
typedef typename Const_decorator::SHalfloop_const_handle typedef typename Decorator::SHalfloop_handle
SHalfloop_const_handle; SHalfloop_handle;
typedef typename Const_decorator::SFace_const_handle typedef typename Decorator::SFace_handle
SFace_const_handle; SFace_handle;
Mark m; Mark m;
public: public:
Volume_setter(Mark m_in = true) : m(m_in) {} Volume_setter(Mark m_in = true) : m(m_in) {}
void visit(Vertex_const_handle v) {} void visit(Vertex_handle v) {}
void visit(Halfedge_const_handle e) {} void visit(Halfedge_handle e) {}
void visit(Halffacet_const_handle f) {} void visit(Halffacet_handle f) {}
void visit(SHalfedge_const_handle se) {} void visit(SHalfedge_handle se) {}
void visit(SHalfloop_const_handle sl) {} void visit(SHalfloop_handle sl) {}
void visit(SFace_const_handle sf) {sf->mark() = m;} void visit(SFace_handle sf) {sf->mark() = m;}
}; };
template<typename Nef_3> template<typename Nef_3>
class Mark_bounded_volumes : public Modifier_base<typename Nef_3::SNC_structure> class Mark_bounded_volumes : public Modifier_base<typename Nef_3::SNC_structure>
{ typedef typename Nef_3::SNC_structure SNC_structure; { typedef typename Nef_3::SNC_structure SNC_structure;
typedef typename SNC_structure::Infi_box Infi_box; typedef typename SNC_structure::SNC_decorator SNC_decorator;
typedef typename Nef_3::Volume_iterator Volume_iterator; typedef typename SNC_structure::Infi_box Infi_box;
typedef typename Nef_3::Shell_entry_const_iterator typedef typename Nef_3::SFace_handle SFace_handle;
Shell_entry_const_iterator; typedef typename Nef_3::Volume_iterator Volume_iterator;
typedef typename Nef_3::Mark Mark; typedef typename Nef_3::Shell_entry_iterator
Shell_entry_iterator;
typedef typename Nef_3::Mark Mark;
Mark flag; Mark flag;
@ -69,13 +71,13 @@ public:
if ( Infi_box::extended_kernel() ) ++vol_it; // skip Infi_box if ( Infi_box::extended_kernel() ) ++vol_it; // skip Infi_box
CGAL_assertion ( vol_it != snc.volumes_end() ); CGAL_assertion ( vol_it != snc.volumes_end() );
++vol_it; // skip unbounded volume ++vol_it; // skip unbounded volume
Volume_setter<Nef_3,Mark> vs(flag); Volume_setter<SNC_structure,Mark> vs(flag);
Nef_3 cd(snc); SNC_decorator D(snc);
for (; vol_it != snc.volumes_end(); ++vol_it) for (; vol_it != snc.volumes_end(); ++vol_it)
{ vol_it->mark() = flag; // mark { vol_it->mark() = flag; // mark
Shell_entry_const_iterator it; Shell_entry_iterator it;
CGAL_forall_shells_of(it,vol_it) CGAL_forall_shells_of(it,vol_it)
cd.visit_shell_objects(SFace_const_handle(it),vs); D.visit_shell_objects(SFace_handle(it),vs);
} }
// simplify(); // in Nef_3.delegate() // simplify(); // in Nef_3.delegate()
} }