]> git.proxmox.com Git - ceph.git/blob - 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
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
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.
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>
73 This 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>
82 This is invoked once for each face, before any vertices or edges on the face
83 are 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>
92 This 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>
102 This 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>
111 This is invoked once for each face, after all vertices and edges on the face
112 are 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>
122 This 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
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.
140 </li>
141 </ul>
142
143 <br>
144 <HR>
145 Copyright &copy; 2007 Aaron Windsor (<a href="mailto:aaron.windsor@gmail.com">
146 aaron.windsor@gmail.com</a>)
147 </BODY>
148 </HTML>