* bugfix in first_dart: remove null_handle when cmap is empty and not null_dart_handle

* update friend declarations
* remove useless this->set_current_dart(this->mmap->null_handle) in Dart_iterators.h
* Use inner definition CMap::Dart_of_cell_basic_const_range<i> instead of directly the class CGAL::CMap_dart_const_iterator_basic_of_cell in internal/Combinatorial_map_internal_functors.h (more generic)
This commit is contained in:
Guillaume Damiand 2014-06-13 11:31:32 +02:00
parent 2969f3fdad
commit 174dfc336e
4 changed files with 20 additions and 19 deletions

View File

@ -70,13 +70,13 @@ namespace CGAL {
template < unsigned int, class, class, class, class >
friend class Combinatorial_map_base;
template < unsigned int, class, class, class, class >
friend class Generalized_map_base;
template <unsigned int, typename>
friend struct Dart;
template < unsigned int, class, class, class >
friend class Generalized_map_base;
template <int, typename>
template <unsigned int, typename>
friend struct GMap_dart;
template <class, class, class>
@ -182,13 +182,13 @@ namespace CGAL {
template < unsigned int, class, class, class, class >
friend class Combinatorial_map_base;
template < unsigned int, class, class, class, class >
friend class Generalized_map_base;
template <unsigned int, typename>
friend struct Dart;
template < unsigned int, class, class, class >
friend class Generalized_map_base;
template <int, typename>
template <unsigned int, typename>
friend struct GMap_dart;
template <class, class, class>
@ -300,6 +300,9 @@ namespace CGAL {
template < unsigned int, class, class, class, class >
friend class Combinatorial_map_base;
template < unsigned int, class, class, class, class >
friend class Generalized_map_base;
template <class, class, class>
friend class Compact_container;
@ -329,6 +332,9 @@ namespace CGAL {
template < unsigned int, class, class, class, class >
friend class Combinatorial_map_base;
template < unsigned int, class, class, class, class >
friend class Generalized_map_base;
template <class, class, class>
friend class Compact_container;

View File

@ -475,12 +475,12 @@ namespace CGAL {
*/
Dart_handle first_dart()
{
if (darts().begin() == darts().end()) return null_dart_handle;
if (darts().begin() == darts().end()) return null_handle;
return mdarts.begin();
}
Dart_const_handle first_dart() const
{
if (darts().begin() == darts().end()) return null_dart_handle;
if (darts().begin() == darts().end()) return null_handle;
return mdarts.begin();
}

View File

@ -1246,7 +1246,6 @@ namespace CGAL {
else
{
this->mprev_op = OP_END;
this->set_current_dart(this->mmap->null_handle);
}
}
@ -1343,7 +1342,6 @@ namespace CGAL {
else
{
this->mprev_op = OP_END;
this->set_current_dart(this->mmap->null_handle);
}
}
@ -1484,7 +1482,6 @@ namespace CGAL {
else
{
this->mprev_op = OP_END;
this->set_current_dart(this->mmap->null_handle);
}
}
@ -1977,7 +1974,6 @@ namespace CGAL {
else
{
this->mprev_op = OP_END;
this->set_current_dart(this->mmap->null_handle);
}
}
@ -2098,7 +2094,6 @@ namespace CGAL {
else
{
this->mprev_op = OP_END;
this->set_current_dart(this->mmap->null_handle);
}
}
@ -2197,7 +2192,6 @@ namespace CGAL {
else
{
this->mprev_op = OP_END;
this->set_current_dart(this->mmap->null_handle);
}
}
@ -2323,7 +2317,6 @@ namespace CGAL {
else
{
this->mprev_op = OP_END;
this->set_current_dart(this->mmap->null_handle);
}
}

View File

@ -208,8 +208,10 @@ struct Test_is_valid_attribute_functor
a=amap->template attribute<i>(adart);
unsigned int nb = 0;
for ( CGAL::CMap_dart_const_iterator_basic_of_cell<CMap,i>
it(*amap, adart, amark); it.cont(); ++it )
for ( typename
CMap::template Dart_of_cell_basic_const_range<i>::const_iterator
it=amap->template darts_of_cell_basic<i>(adart, amark).begin();
it.cont(); ++it )
{
if ( amap->template attribute<i>(it) != a )
{