]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/graph/doc/PlanarFaceVisitor.html
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / graph / doc / PlanarFaceVisitor.html
CommitLineData
7c673cae
FG
1<HTML>
2<!-- Copyright 2007 Aaron Windsor
3
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)
7
8 -->
9<HEAD>
10<TITLE>Planar Face Visitor Concept</TITLE>
11</HEAD>
12<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
13 ALINK="#ff0000">
14<IMG SRC="../../../boost.png"
15 ALT="C++ Boost" width="277" height="86">
16
17<BR Clear>
18
19<H1>Planar Face Visitor Concept</H1>
20
21This concept defines the visitor interface for
22<a href="./planar_face_traversal.html"><tt>planar_face_traversal</tt></a>.
23Users can define a class with the Planar Face Visitor interface and pass an
24object of the class to <tt>planar_face_traversal</tt>, thereby augmenting the
25actions taken during the traversal. Note that objects passed to
26<tt>planar_face_traversal</tt> are passed by reference.
27
28<h3>Notation</h3>
29
30<table>
31<tbody><tr>
32<td><tt>V</tt></td>
33<td>A type that is a model of Planar Face Visitor.</td>
34</tr>
35
36<tr>
37<td><tt>vis</tt></td>
38<td>An object of type <tt>V</tt>.</td>
39</tr>
40
41<tr>
42<td><tt>G</tt></td>
43<td>A type that is a model of Graph.</td>
44</tr>
45
46<tr>
47<td><tt>e</tt></td>
48<td>An object of type <tt>boost::graph_traits&lt;G&gt;::edge_descriptor</tt>.
49</td>
50</tr>
51
52<tr>
53<td><tt>v</tt></td>
54<td>An object of type <tt>boost::graph_traits&lt;G&gt;::vertex_descriptor</tt>.
55</td>
56</tr>
57
58</tbody></table>
59
60
61<h3>Valid Expressions</h3>
62
63<table border="1">
64<tbody><tr>
65<th>Name</th><th>Expression</th><th>Return Type</th><th>Description</th>
66</tr>
67
68<tr>
69<td>Begin Traversal</td>
70<td><tt>vis.begin_traversal()</tt></td>
71<td><tt>void</tt></td>
72<td>
73This is invoked once per traversal, before the traversal begins.
74</td>
75</tr>
76
77<tr>
78<td>Begin Face</td>
79<td><tt>vis.begin_face()</tt></td>
80<td><tt>void</tt></td>
81<td>
82This is invoked once for each face, before any vertices or edges on the face
83are visited.
84</td>
85</tr>
86
87<tr>
88<td>Next Vertex</td>
89<td><tt>vis.next_vertex(v)</tt></td>
90<td><tt>void</tt></td>
91<td>
92This is invoked when a vertex is encountered while traversing a face.
93</td>
94</tr>
95
96
97<tr>
98<td>Next Edge</td>
99<td><tt>vis.next_edge(e)</tt></td>
100<td><tt>void</tt></td>
101<td>
102This is invoked when an edge is encountered while traversing a face.
103</td>
104</tr>
105
106<tr>
107<td>End Face</td>
108<td><tt>vis.end_face()</tt></td>
109<td><tt>void</tt></td>
110<td>
111This is invoked once for each face, after all vertices and edges on the face
112are visited.
113</td>
114</tr>
115
116
117<tr>
118<td>End Traversal</td>
119<td><tt>vis.end_traversal()</tt></td>
120<td><tt>void</tt></td>
121<td>
122This is invoked once per traversal, after the traversal ends.
123</td>
124</tr>
125
126</tbody></table>
127
128<h3>Models</h3>
129
130<ul>
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
134all event points of a Planar Face Visitor. In the case where only a few of the
135event 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
137points. <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
139a model of Planar Face Visitor.
140</li>
141</ul>
142
143<br>
144<HR>
145Copyright &copy; 2007 Aaron Windsor (<a href="mailto:aaron.windsor@gmail.com">
146aaron.windsor@gmail.com</a>)
147</BODY>
148</HTML>