...one of the most highly
regarded and expertly designed C++ library projects in the
world.

— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards

template <typename Graph, typename GridPositionMap, typename VertexIndexMap> bool is_straight_line_drawing(const Graph& g, GridPositionMap drawing, VertexIndexMap vm);

If `drawing` is a property map modeling the PositionMap
concept, `is_straight_line_drawing` returns true exactly when no two of
the line segments induced by edges in the graph under `drawing`
intersect. This function works correctly in the presence of self-loops and
parallel edges, and can be used to verify the output of the function
`
chrobak_payne_straight_line_embedding.
`

`boost/graph/is_straight_line_drawing.hpp`

An undirected graph. The graph type must be a model of Edge List GraphIN:

A Readable LValue Property Map that models the Position Map concept. The Position Map concept requires that the value mapped to be an object that has membersIN:xandy. For example, ifpmodels PositionMap andvis a vertex in the graph,p[v].xandp[v].yare valid expressions. The type ofxandymust be implicitly convertable tostd::size_t.

A Readable Property Map that maps vertices fromgto distinct integers in the range[0, num_vertices(g) )

Default:get(vertex_index,g)

`examples/straight_line_drawing.cpp`

Copyright © 2007 Aaron Windsor (aaron.windsor@gmail.com)