123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- <HTML>
- <!-- Copyright 2007 Aaron Windsor
-
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
-
- -->
- <HEAD>
- <TITLE>Planar Face Visitor Concept</TITLE>
- </HEAD>
- <BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
- ALINK="#ff0000">
- <IMG SRC="../../../boost.png"
- ALT="C++ Boost" width="277" height="86">
- <BR Clear>
- <H1>Planar Face Visitor Concept</H1>
- This concept defines the visitor interface for
- <a href="./planar_face_traversal.html"><tt>planar_face_traversal</tt></a>.
- Users can define a class with the Planar Face Visitor interface and pass an
- object of the class to <tt>planar_face_traversal</tt>, thereby augmenting the
- actions taken during the traversal. Note that objects passed to
- <tt>planar_face_traversal</tt> are passed by reference.
- <h3>Notation</h3>
- <table>
- <tbody><tr>
- <td><tt>V</tt></td>
- <td>A type that is a model of Planar Face Visitor.</td>
- </tr>
- <tr>
- <td><tt>vis</tt></td>
- <td>An object of type <tt>V</tt>.</td>
- </tr>
- <tr>
- <td><tt>G</tt></td>
- <td>A type that is a model of Graph.</td>
- </tr>
- <tr>
- <td><tt>e</tt></td>
- <td>An object of type <tt>boost::graph_traits<G>::edge_descriptor</tt>.
- </td>
- </tr>
- <tr>
- <td><tt>v</tt></td>
- <td>An object of type <tt>boost::graph_traits<G>::vertex_descriptor</tt>.
- </td>
- </tr>
- </tbody></table>
- <h3>Valid Expressions</h3>
- <table border="1">
- <tbody><tr>
- <th>Name</th><th>Expression</th><th>Return Type</th><th>Description</th>
- </tr>
- <tr>
- <td>Begin Traversal</td>
- <td><tt>vis.begin_traversal()</tt></td>
- <td><tt>void</tt></td>
- <td>
- This is invoked once per traversal, before the traversal begins.
- </td>
- </tr>
- <tr>
- <td>Begin Face</td>
- <td><tt>vis.begin_face()</tt></td>
- <td><tt>void</tt></td>
- <td>
- This is invoked once for each face, before any vertices or edges on the face
- are visited.
- </td>
- </tr>
- <tr>
- <td>Next Vertex</td>
- <td><tt>vis.next_vertex(v)</tt></td>
- <td><tt>void</tt></td>
- <td>
- This is invoked when a vertex is encountered while traversing a face.
- </td>
- </tr>
- <tr>
- <td>Next Edge</td>
- <td><tt>vis.next_edge(e)</tt></td>
- <td><tt>void</tt></td>
- <td>
- This is invoked when an edge is encountered while traversing a face.
- </td>
- </tr>
- <tr>
- <td>End Face</td>
- <td><tt>vis.end_face()</tt></td>
- <td><tt>void</tt></td>
- <td>
- This is invoked once for each face, after all vertices and edges on the face
- are visited.
- </td>
- </tr>
- <tr>
- <td>End Traversal</td>
- <td><tt>vis.end_traversal()</tt></td>
- <td><tt>void</tt></td>
- <td>
- This is invoked once per traversal, after the traversal ends.
- </td>
- </tr>
- </tbody></table>
- <h3>Models</h3>
- <ul>
- <li> The file <a href="../../../boost/graph/planar_face_traversal.hpp">
- <tt>planar_face_traversal.hpp</tt></a> contains a class
- <tt>planar_face_traversal_visitor</tt> that implements empty actions for
- all event points of a Planar Face Visitor. In the case where only a few of the
- event points of Planar Face Visitor need to be implemented, one can derive from
- <tt>planar_face_traversal_visitor</tt> and only implement the necessary event
- points. <li> The implementation of <a href="./make_maximal_planar.html">
- <tt>make_maximal_planar</tt></a> uses a <tt>triangulation_visitor</tt> that is
- a model of Planar Face Visitor.
- </li>
- </ul>
- <br>
- <HR>
- Copyright © 2007 Aaron Windsor (<a href="mailto:aaron.windsor@gmail.com">
- aaron.windsor@gmail.com</a>)
- </BODY>
- </HTML>
|