mirror of https://github.com/CGAL/cgal
Revert "Add some descriptor validity preconditions to BGL iterators"
This reverts commit e67b73e849.
Some code such as copy_face_graph() uses iterators while building graphs
This commit is contained in:
parent
a7f2aeb75c
commit
bcf2f60be2
|
|
@ -815,7 +815,6 @@ Iterator_range<Halfedge_around_source_iterator<Graph> >
|
||||||
halfedges_around_source(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
|
halfedges_around_source(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
|
||||||
{
|
{
|
||||||
typedef Halfedge_around_source_iterator<Graph> I;
|
typedef Halfedge_around_source_iterator<Graph> I;
|
||||||
CGAL_precondition(is_valid_halfedge_descriptor(h, g));
|
|
||||||
return make_range(I(h,g), I(h,g,1));
|
return make_range(I(h,g), I(h,g,1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -827,7 +826,6 @@ template<typename Graph>
|
||||||
Iterator_range<Halfedge_around_source_iterator<Graph> >
|
Iterator_range<Halfedge_around_source_iterator<Graph> >
|
||||||
halfedges_around_source(typename boost::graph_traits<Graph>::vertex_descriptor v, const Graph& g)
|
halfedges_around_source(typename boost::graph_traits<Graph>::vertex_descriptor v, const Graph& g)
|
||||||
{
|
{
|
||||||
CGAL_precondition(is_valid_vertex_descriptor(v, g));
|
|
||||||
return halfedges_around_source(opposite(halfedge(v,g),g),g);
|
return halfedges_around_source(opposite(halfedge(v,g),g),g);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -840,7 +838,6 @@ Iterator_range<Halfedge_around_target_iterator<Graph> >
|
||||||
halfedges_around_target(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
|
halfedges_around_target(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
|
||||||
{
|
{
|
||||||
typedef Halfedge_around_target_iterator<Graph> I;
|
typedef Halfedge_around_target_iterator<Graph> I;
|
||||||
CGAL_precondition(is_valid_halfedge_descriptor(h, g));
|
|
||||||
return make_range(I(h,g), I(h,g,1));
|
return make_range(I(h,g), I(h,g,1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -852,7 +849,6 @@ template<typename Graph>
|
||||||
Iterator_range<Halfedge_around_target_iterator<Graph> >
|
Iterator_range<Halfedge_around_target_iterator<Graph> >
|
||||||
halfedges_around_target(typename boost::graph_traits<Graph>::vertex_descriptor v, const Graph& g)
|
halfedges_around_target(typename boost::graph_traits<Graph>::vertex_descriptor v, const Graph& g)
|
||||||
{
|
{
|
||||||
CGAL_precondition(is_valid_vertex_descriptor(v, g));
|
|
||||||
return halfedges_around_target(halfedge(v,g),g);
|
return halfedges_around_target(halfedge(v,g),g);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -865,7 +861,6 @@ Iterator_range<Halfedge_around_face_iterator<Graph> >
|
||||||
halfedges_around_face(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
|
halfedges_around_face(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
|
||||||
{
|
{
|
||||||
typedef Halfedge_around_face_iterator<Graph> I;
|
typedef Halfedge_around_face_iterator<Graph> I;
|
||||||
CGAL_precondition(is_valid_halfedge_descriptor(h, g));
|
|
||||||
return make_range(I(h,g), I(h,g,1));
|
return make_range(I(h,g), I(h,g,1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -970,7 +965,6 @@ Iterator_range<Face_around_target_iterator<Graph> >
|
||||||
faces_around_target(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
|
faces_around_target(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
|
||||||
{
|
{
|
||||||
typedef Face_around_target_iterator<Graph> I;
|
typedef Face_around_target_iterator<Graph> I;
|
||||||
CGAL_precondition(is_valid_halfedge_descriptor(h, g));
|
|
||||||
return make_range(I(h,g), I(h,g,1));
|
return make_range(I(h,g), I(h,g,1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -983,7 +977,6 @@ Iterator_range<Face_around_face_iterator<Graph> >
|
||||||
faces_around_face(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
|
faces_around_face(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
|
||||||
{
|
{
|
||||||
typedef Face_around_face_iterator<Graph> I;
|
typedef Face_around_face_iterator<Graph> I;
|
||||||
CGAL_precondition(is_valid_halfedge_descriptor(h, g));
|
|
||||||
return make_range(I(h,g), I(h,g,1));
|
return make_range(I(h,g), I(h,g,1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1124,7 +1117,6 @@ Iterator_range<Opposite_edge_around_face_iterator<Graph> >
|
||||||
opposite_edges_around_face(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
|
opposite_edges_around_face(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
|
||||||
{
|
{
|
||||||
typedef Opposite_edge_around_face_iterator<Graph> I;
|
typedef Opposite_edge_around_face_iterator<Graph> I;
|
||||||
CGAL_precondition(is_valid_halfedge_descriptor(h, g));
|
|
||||||
return make_range(I(h,g), I(h,g,1));
|
return make_range(I(h,g), I(h,g,1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1160,10 +1152,11 @@ Iterator_range<Edge_around_face_iterator<Graph> >
|
||||||
edges_around_face(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
|
edges_around_face(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
|
||||||
{
|
{
|
||||||
typedef Edge_around_face_iterator<Graph> I;
|
typedef Edge_around_face_iterator<Graph> I;
|
||||||
CGAL_precondition(is_valid_halfedge_descriptor(h, g));
|
|
||||||
return make_range(I(h,g), I(h,g,1));
|
return make_range(I(h,g), I(h,g,1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \ingroup PkgBGLIterators
|
* \ingroup PkgBGLIterators
|
||||||
* A bidirectional circulator with value type `boost::graph_traits<Graph>::%vertex_descriptor` over all vertices adjacent to the same vertex.
|
* A bidirectional circulator with value type `boost::graph_traits<Graph>::%vertex_descriptor` over all vertices adjacent to the same vertex.
|
||||||
|
|
@ -1280,16 +1273,15 @@ Iterator_range<Vertex_around_target_iterator<Graph> >
|
||||||
adjacent_vertices(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
|
adjacent_vertices(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
|
||||||
{
|
{
|
||||||
typedef Vertex_around_target_iterator<Graph> I;
|
typedef Vertex_around_target_iterator<Graph> I;
|
||||||
CGAL_precondition(is_valid_halfedge_descriptor(h, g));
|
|
||||||
return make_range(I(h,g), I(h,g,1));
|
return make_range(I(h,g), I(h,g,1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template <typename Graph>
|
template <typename Graph>
|
||||||
Iterator_range<Vertex_around_target_iterator<Graph> >
|
Iterator_range<Vertex_around_target_iterator<Graph> >
|
||||||
adjacent_vertices(typename boost::graph_traits<Graph>::vertex_descriptor v, const Graph& g)
|
adjacent_vertices(typename boost::graph_traits<Graph>::vertex_descriptor v, const Graph& g)
|
||||||
{
|
{
|
||||||
typedef Vertex_around_target_iterator<Graph> I;
|
typedef Vertex_around_target_iterator<Graph> I;
|
||||||
CGAL_precondition(is_valid_vertex_descriptor(v, g));
|
|
||||||
return make_range(I(halfedge(v,g),g), I(halfedge(v,g),g,1));
|
return make_range(I(halfedge(v,g),g), I(halfedge(v,g),g,1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1302,7 +1294,6 @@ Iterator_range<Vertex_around_target_iterator<Graph> >
|
||||||
vertices_around_target(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
|
vertices_around_target(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
|
||||||
{
|
{
|
||||||
typedef Vertex_around_target_iterator<Graph> I;
|
typedef Vertex_around_target_iterator<Graph> I;
|
||||||
CGAL_precondition(is_valid_halfedge_descriptor(h, g));
|
|
||||||
return make_range(I(h,g), I(h,g,1));
|
return make_range(I(h,g), I(h,g,1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1311,7 +1302,6 @@ Iterator_range<Vertex_around_target_iterator<Graph> >
|
||||||
vertices_around_target(typename boost::graph_traits<Graph>::vertex_descriptor v, const Graph& g)
|
vertices_around_target(typename boost::graph_traits<Graph>::vertex_descriptor v, const Graph& g)
|
||||||
{
|
{
|
||||||
typedef Vertex_around_target_iterator<Graph> I;
|
typedef Vertex_around_target_iterator<Graph> I;
|
||||||
CGAL_precondition(is_valid_vertex_descriptor(v, g));
|
|
||||||
return make_range(I(halfedge(v,g),g), I(halfedge(v,g),g,1));
|
return make_range(I(halfedge(v,g),g), I(halfedge(v,g),g,1));
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
|
@ -1323,7 +1313,6 @@ Iterator_range<Vertex_around_face_iterator<Graph> >
|
||||||
vertices_around_face(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
|
vertices_around_face(typename boost::graph_traits<Graph>::halfedge_descriptor h, const Graph& g)
|
||||||
{
|
{
|
||||||
typedef Vertex_around_face_iterator<Graph> I;
|
typedef Vertex_around_face_iterator<Graph> I;
|
||||||
CGAL_precondition(is_valid_halfedge_descriptor(h, g));
|
|
||||||
return make_range(I(h,g), I(h,g,1));
|
return make_range(I(h,g), I(h,g,1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1366,6 +1355,9 @@ private:
|
||||||
typename boost::graph_traits<Graph>::edge_descriptor dereference() const { return opp(*this->base_reference()); }
|
typename boost::graph_traits<Graph>::edge_descriptor dereference() const { return opp(*this->base_reference()); }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
template <class Graph>
|
template <class Graph>
|
||||||
class In_edge_iterator
|
class In_edge_iterator
|
||||||
: public boost::iterator_adaptor<
|
: public boost::iterator_adaptor<
|
||||||
|
|
@ -1404,6 +1396,12 @@ public:
|
||||||
typename boost::graph_traits<Graph>::edge_descriptor dereference() const { return fct(*this->base_reference()); }
|
typename boost::graph_traits<Graph>::edge_descriptor dereference() const { return fct(*this->base_reference()); }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
} // CGAL
|
} // CGAL
|
||||||
|
|
||||||
|
|
||||||
#endif /* CGAL_BGL_ITERATORS_H */
|
#endif /* CGAL_BGL_ITERATORS_H */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue