update face type to give access to the ccb containers

This commit is contained in:
Sébastien Loriot 2015-09-27 15:48:14 +02:00
parent e6c2511ef6
commit d81b0b4545
3 changed files with 15 additions and 6 deletions

View File

@ -279,10 +279,8 @@ protected:
};
int flags; // Face flags.
public:
Outer_ccbs_container outer_ccbs; // The outer CCBs of the faces.
Inner_ccbs_container inner_ccbs; // The inner CCBs of the face.
protected:
Isolated_vertices_container iso_verts; // The isolated vertices inside
// the face.

View File

@ -116,6 +116,17 @@ public:
m_info &= ~VISITED;
}
typename Arr_face_base::Outer_ccbs_container&
_outer_ccbs()
{
return this->outer_ccbs;
}
typename Arr_face_base::Inner_ccbs_container&
_inner_ccbs()
{
return this->inner_ccbs;
}
};

View File

@ -1149,12 +1149,12 @@ protected:
}
//collect for reuse/removal all inner and outer ccbs
BOOST_FOREACH(void* ptr, _face(*it)->outer_ccbs)
BOOST_FOREACH(void* ptr, _face(*it)->_outer_ccbs())
outer_ccbs_to_remove.push_back( static_cast<typename Aos_2::Dcel::Halfedge*>(ptr)->outer_ccb() );
BOOST_FOREACH(void* ptr, _face(*it)->inner_ccbs)
BOOST_FOREACH(void* ptr, _face(*it)->_inner_ccbs())
inner_ccbs_to_remove.push_back( static_cast<typename Aos_2::Dcel::Halfedge*>(ptr)->inner_ccb() );
_face(*it)->outer_ccbs.clear();
_face(*it)->inner_ccbs.clear();
_face(*it)->_outer_ccbs().clear();
_face(*it)->_inner_ccbs().clear();
}
// accessor for low-level arrangement fonctionalities