| advanced |

## CGAL::Pm_drawer<Planar_map, Window>

### Definition

The Pm_drawer<Planar_map, Window> class is inherited from the File_header class. This class contains functions for sending Planar map components to a given graphic stream. Users have to make sure that methods for writing Point_2 and X_curve_2 defined in the Planar map traits class are provided when using the graphic stream they choose to work with. This class is templated with Planar map and the graphic stream type, and hence the user can work with Pm_drawer<Planar_map, Window> with its own Planar map and graphic stream.

### Types

The following handles and iterators have appropriate constant counterparts. The mutable types are assignable to their constant counterparts. The iterators are assignable to the respective handle types. Wherever the handles appear in function parameter lists, the appropriate iterator can be used as well.

Pm_drawer<Planar_map, Window>::Vertex_handle
| handle to the Planar map vertex.
Pm_drawer<Planar_map, Window>::Halfedge_handle
| handle to the Planar map halfedge.
Pm_drawer<Planar_map, Window>::Face_handle
| handle to the Planar map face

.

Pm_drawer<Planar_map, Window>::Vertex_iterator
| a bidirectional iterator over the vertices of the Planar map.
Pm_drawer<Planar_map, Window>::Halfedge_iterator
| a bidirectional iterator over the halfedges of the Planar map.
Pm_drawer<Planar_map, Window>::Face_iterator
| a bidirectional iterator over the faces of the Planar map.

### Creation

Pm_drawer<Planar_map, Window> pm_drawer ( Window& w);
| constructs Pm_drawer<Planar_map, Window> for a given graphic stream.

### Operations

Window& | pm_drawer.window ()
|  | return the graphic stream the Planar map is written to.
void | pm_drawer.draw_vertex ( Vertex_handle v)
|  | writes a vertex of the Planar map to the graphic stream.
void | pm_drawer.draw_halfedge ( Halfedge_handle h)
|  | writes an halfedge of the Planar map to the graphic stream.
void | pm_drawer.draw_face ( Face_handle f)
|  | writes a face of the Planar map to the graphic stream.

void

pm_drawer.draw_vertices ( | Vertex_iterator Vertices_begin, Vertex_iterator Vertices_end)

|  | writes all the vertices in the range [Vertices_begin, Vertices_end) to the graphic stream.

void

pm_drawer.draw_halfedges ( | Halfedge_const_iterator Halfedges_begin, Halfedge_const_iterator Halfedges_end)

|  | writes all the halfedges in the range [Halfedges_begin, Halfedges_end) to the graphic stream.

void

pm_drawer.draw_write_faces ( | Face_iterator Faces_begin, Face_iterator Faces_end)

|  | writes all the faces in the range [Faces_begin, Faces_end) to the graphic stream.

| advanced |