2 <!-- Copyright 2007 Aaron Windsor
4 Distributed under the Boost Software License, Version 1.0.
5 (See accompanying file LICENSE_1_0.txt or copy at
6 http://www.boost.org/LICENSE_1_0.txt)
10 <TITLE>Planar Face Visitor Concept
</TITLE>
12 <BODY BGCOLOR=
"#ffffff" LINK=
"#0000ee" TEXT=
"#000000" VLINK=
"#551a8b"
14 <IMG SRC=
"../../../boost.png"
15 ALT=
"C++ Boost" width=
"277" height=
"86">
19 <H1>Planar Face Visitor Concept
</H1>
21 This concept defines the visitor interface for
22 <a href=
"./planar_face_traversal.html"><tt>planar_face_traversal
</tt></a>.
23 Users can define a class with the Planar Face Visitor interface and pass an
24 object of the class to
<tt>planar_face_traversal
</tt>, thereby augmenting the
25 actions taken during the traversal. Note that objects passed to
26 <tt>planar_face_traversal
</tt> are passed by reference.
33 <td>A type that is a model of Planar Face Visitor.
</td>
38 <td>An object of type
<tt>V
</tt>.
</td>
43 <td>A type that is a model of Graph.
</td>
48 <td>An object of type
<tt>boost::graph_traits
<G
>::edge_descriptor
</tt>.
54 <td>An object of type
<tt>boost::graph_traits
<G
>::vertex_descriptor
</tt>.
61 <h3>Valid Expressions
</h3>
65 <th>Name
</th><th>Expression
</th><th>Return Type
</th><th>Description
</th>
69 <td>Begin Traversal
</td>
70 <td><tt>vis.begin_traversal()
</tt></td>
71 <td><tt>void
</tt></td>
73 This is invoked once per traversal, before the traversal begins.
79 <td><tt>vis.begin_face()
</tt></td>
80 <td><tt>void
</tt></td>
82 This is invoked once for each face, before any vertices or edges on the face
89 <td><tt>vis.next_vertex(v)
</tt></td>
90 <td><tt>void
</tt></td>
92 This is invoked when a vertex is encountered while traversing a face.
99 <td><tt>vis.next_edge(e)
</tt></td>
100 <td><tt>void
</tt></td>
102 This is invoked when an edge is encountered while traversing a face.
108 <td><tt>vis.end_face()
</tt></td>
109 <td><tt>void
</tt></td>
111 This is invoked once for each face, after all vertices and edges on the face
118 <td>End Traversal
</td>
119 <td><tt>vis.end_traversal()
</tt></td>
120 <td><tt>void
</tt></td>
122 This is invoked once per traversal, after the traversal ends.
131 <li> The file
<a href=
"../../../boost/graph/planar_face_traversal.hpp">
132 <tt>planar_face_traversal.hpp
</tt></a> contains a class
133 <tt>planar_face_traversal_visitor
</tt> that implements empty actions for
134 all event points of a Planar Face Visitor. In the case where only a few of the
135 event points of Planar Face Visitor need to be implemented, one can derive from
136 <tt>planar_face_traversal_visitor
</tt> and only implement the necessary event
137 points.
<li> The implementation of
<a href=
"./make_maximal_planar.html">
138 <tt>make_maximal_planar
</tt></a> uses a
<tt>triangulation_visitor
</tt> that is
139 a model of Planar Face Visitor.
145 Copyright
© 2007 Aaron Windsor (
<a href=
"mailto:aaron.windsor@gmail.com">
146 aaron.windsor@gmail.com
</a>)