SFCGAL 1.4.0
|
[private]Represents the vertices and edges for a list of geometries. More...
#include <GeometryGraph.h>
Public Types | |
typedef VertexProperties | vertex_properties |
typedef EdgeProperties | edge_properties |
typedef boost::adjacency_list< boost::listS, boost::listS, boost::bidirectionalS, vertex_properties, edge_properties > | graph_t |
the wrapped graphEdgeProperties More... | |
typedef boost::graph_traits< graph_t >::vertex_descriptor | vertex_descriptor |
typedef boost::graph_traits< graph_t >::edge_descriptor | edge_descriptor |
typedef boost::graph_traits< graph_t >::vertex_iterator | vertex_iterator |
typedef boost::graph_traits< graph_t >::edge_iterator | edge_iterator |
typedef std::pair< edge_descriptor, EdgeDirection > | directed_edge_descriptor |
An edge descriptor, with a direction. More... | |
typedef boost::graph_traits< graph_t >::in_edge_iterator | in_edge_iterator |
typedef boost::graph_traits< graph_t >::out_edge_iterator | out_edge_iterator |
Public Member Functions | |
size_t | numVertices () const |
[vertex]returns the number of vertices More... | |
std::pair< vertex_iterator, vertex_iterator > | vertices () const |
[iterator]return vertex iterator More... | |
vertex_descriptor | addVertex (const vertex_properties &properties=vertex_properties()) |
[vertex]add a vertex to the graph More... | |
void | removeVertex (const vertex_descriptor &vertex) |
[vertex]Remove a vertex (and all its adjacent edges) More... | |
size_t | numEdges () const |
[edge]returns the number of vertices More... | |
std::pair< edge_iterator, edge_iterator > | edges () const |
[iterator]return edge iterator More... | |
edge_descriptor | addEdge (const vertex_descriptor &source, const vertex_descriptor &target, const EdgeProperties &properties=EdgeProperties()) |
[edge]Add an Edge to the Graph More... | |
vertex_descriptor | source (const edge_descriptor &edge) const |
[edge]get the source vertex for an edge More... | |
vertex_descriptor | source (const edge_descriptor &edge, const EdgeDirection &direction) const |
[edge]get the source vertex for an edge More... | |
vertex_descriptor | source (const directed_edge_descriptor &edge) const |
[edge]get the source vertex for an edge with a direction More... | |
vertex_descriptor | target (const edge_descriptor &edge) const |
[edge]get the target vertex for an edge More... | |
vertex_descriptor | target (const edge_descriptor &edge, const EdgeDirection &direction) const |
[edge]get the target vertex for an edge with a direction More... | |
vertex_descriptor | target (const directed_edge_descriptor &edge) const |
[edge]get the target vertex for an edge with a direction More... | |
void | removeEdge (const edge_descriptor &edge) |
[edge]Remove an edge More... | |
std::vector< directed_edge_descriptor > | edges (const vertex_descriptor &a, const vertex_descriptor &b) const |
[edge]Get edges from a to b and from b to a More... | |
size_t | degree (const vertex_descriptor &vertex) const |
returns the degree of a vertex More... | |
std::vector< edge_descriptor > | inEdges (const vertex_descriptor &vertex) |
[adjacency]get in edges More... | |
std::vector< edge_descriptor > | outEdges (const vertex_descriptor &vertex) const |
[adjacency]get out edges More... | |
std::vector< directed_edge_descriptor > | inOutEdges (const vertex_descriptor &vertex) const |
[adjacency]get in/out edges More... | |
std::set< vertex_descriptor > | adjacentVertices (const vertex_descriptor &vertex, bool withReverseDirection=true) |
[adjacency]Returns the list of the adjacent vertices using both DIRECT and REVERSE direction More... | |
bool | areOpposite (const edge_descriptor &a, const edge_descriptor &b) const |
[helper]indicates if edges are opposite More... | |
bool | areParallel (const edge_descriptor &a, const edge_descriptor &b) const |
[helper]indicates if edges are opposite More... | |
void | reverse (std::vector< edge_descriptor > &edges) |
[EdgeString]revert the order of a list of edges. More... | |
const vertex_properties & | operator[] (const vertex_descriptor &vertex) const |
returns the VertexProperties attached to a Vertex More... | |
vertex_properties & | operator[] (const vertex_descriptor &vertex) |
returns the VertexProperties attached to a Vertex More... | |
const edge_properties & | operator[] (const edge_descriptor &edge) const |
returns the VertexProperties attached to a Vertex More... | |
edge_properties & | operator[] (const edge_descriptor &edge) |
returns the VertexProperties attached to a Vertex More... | |
graph_t & | graph () |
returns the wrapped boost::graph More... | |
const graph_t & | graph () const |
returns the wrapped boost::graph More... | |
operator graph_t & (void) | |
implicit cast to the wrapped boost graph in order to keep boost graph interface More... | |
operator const graph_t & (void) const | |
implicit cast to the wrapped boost graph in order to keep boost graph interface More... | |
[private]Represents the vertices and edges for a list of geometries.
A boost::adjancency_list is wrapped in order to be able to annex some information and to provide basic functionalities.
typedef std::pair< edge_descriptor, EdgeDirection> SFCGAL::graph::GeometryGraphT< VertexProperties, EdgeProperties >::directed_edge_descriptor |
An edge descriptor, with a direction.
From the vertex point of view, out edges are DIRECT, in edges are REVERSE.
typedef boost::graph_traits<graph_t>::edge_descriptor SFCGAL::graph::GeometryGraphT< VertexProperties, EdgeProperties >::edge_descriptor |
typedef boost::graph_traits<graph_t>::edge_iterator SFCGAL::graph::GeometryGraphT< VertexProperties, EdgeProperties >::edge_iterator |
typedef EdgeProperties SFCGAL::graph::GeometryGraphT< VertexProperties, EdgeProperties >::edge_properties |
typedef boost::adjacency_list< boost::listS, boost::listS, boost::bidirectionalS, vertex_properties, edge_properties > SFCGAL::graph::GeometryGraphT< VertexProperties, EdgeProperties >::graph_t |
the wrapped graphEdgeProperties
typedef boost::graph_traits<graph_t>::in_edge_iterator SFCGAL::graph::GeometryGraphT< VertexProperties, EdgeProperties >::in_edge_iterator |
typedef boost::graph_traits<graph_t>::out_edge_iterator SFCGAL::graph::GeometryGraphT< VertexProperties, EdgeProperties >::out_edge_iterator |
typedef boost::graph_traits<graph_t>::vertex_descriptor SFCGAL::graph::GeometryGraphT< VertexProperties, EdgeProperties >::vertex_descriptor |
typedef boost::graph_traits<graph_t>::vertex_iterator SFCGAL::graph::GeometryGraphT< VertexProperties, EdgeProperties >::vertex_iterator |
typedef VertexProperties SFCGAL::graph::GeometryGraphT< VertexProperties, EdgeProperties >::vertex_properties |
|
inline |
[edge]Add an Edge to the Graph
|
inline |
[vertex]add a vertex to the graph
|
inline |
[adjacency]Returns the list of the adjacent vertices using both DIRECT and REVERSE direction
vertex | input vertex |
withReverseDirection | indicates if in_edges are used |
|
inline |
[helper]indicates if edges are opposite
|
inline |
[helper]indicates if edges are opposite
|
inline |
returns the degree of a vertex
|
inline |
[iterator]return edge iterator
|
inline |
[edge]Get edges from a to b and from b to a
|
inline |
returns the wrapped boost::graph
|
inline |
returns the wrapped boost::graph
|
inline |
[adjacency]get in edges
|
inline |
[adjacency]get in/out edges
|
inline |
[edge]returns the number of vertices
|
inline |
[vertex]returns the number of vertices
|
inline |
implicit cast to the wrapped boost graph in order to keep boost graph interface
|
inline |
implicit cast to the wrapped boost graph in order to keep boost graph interface
|
inline |
returns the VertexProperties attached to a Vertex
|
inline |
returns the VertexProperties attached to a Vertex
|
inline |
returns the VertexProperties attached to a Vertex
|
inline |
returns the VertexProperties attached to a Vertex
|
inline |
[adjacency]get out edges
|
inline |
[edge]Remove an edge
|
inline |
[vertex]Remove a vertex (and all its adjacent edges)
|
inline |
[EdgeString]revert the order of a list of edges.
Old edges are removed from the graph, new ones are created.
|
inline |
[edge]get the source vertex for an edge with a direction
|
inline |
[edge]get the source vertex for an edge
|
inline |
[edge]get the source vertex for an edge
|
inline |
[edge]get the target vertex for an edge with a direction
|
inline |
[edge]get the target vertex for an edge
|
inline |
[edge]get the target vertex for an edge with a direction
|
inline |
[iterator]return vertex iterator