|
SFCGAL
2.3.0
|
[private]Represents the vertices and edges for a list of geometries. More...
#include <GeometryGraph.h>
Public Types | |
| using | vertex_properties = VertexProperties |
| Vertex properties type. More... | |
| using | edge_properties = EdgeProperties |
| Edge properties type. More... | |
| 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 |
| Vertex descriptor type from boost graph. More... | |
| typedef boost::graph_traits< graph_t >::edge_descriptor | edge_descriptor |
| Edge descriptor type from boost graph. More... | |
| typedef boost::graph_traits< graph_t >::vertex_iterator | vertex_iterator |
| Vertex iterator type. More... | |
| typedef boost::graph_traits< graph_t >::edge_iterator | edge_iterator |
| Edge iterator type. More... | |
| using | directed_edge_descriptor = std::pair< edge_descriptor, EdgeDirection > |
| An edge descriptor, with a direction. More... | |
| typedef boost::graph_traits< graph_t >::in_edge_iterator | in_edge_iterator |
| Incoming edge iterator type. More... | |
| typedef boost::graph_traits< graph_t >::out_edge_iterator | out_edge_iterator |
| Outgoing edge iterator type. More... | |
Public Member Functions | |
| size_t | numVertices () const |
| Returns the number of vertices. More... | |
| std::pair< vertex_iterator, vertex_iterator > | vertices () const |
| Return vertex iterator pair. More... | |
| vertex_descriptor | addVertex (const vertex_properties &properties=vertex_properties()) |
| Add a vertex to the graph. More... | |
| void | removeVertex (const vertex_descriptor &vertex) |
| Remove a vertex (and all its adjacent edges) More... | |
| size_t | numEdges () const |
| Returns the number of edges. More... | |
| std::pair< edge_iterator, edge_iterator > | edges () const |
| Return edge iterator pair. More... | |
| edge_descriptor | addEdge (const vertex_descriptor &source, const vertex_descriptor &target, const EdgeProperties &properties=EdgeProperties()) |
| Add an Edge to the Graph. More... | |
| vertex_descriptor | source (const edge_descriptor &edge) const |
| Get the source vertex for an edge. More... | |
| vertex_descriptor | source (const edge_descriptor &edge, const EdgeDirection &direction) const |
| Get the source vertex for an edge with direction. More... | |
| vertex_descriptor | source (const directed_edge_descriptor &edge) const |
| Get the source vertex for a directed edge. More... | |
| vertex_descriptor | target (const edge_descriptor &edge) const |
| Get the target vertex for an edge. More... | |
| vertex_descriptor | target (const edge_descriptor &edge, const EdgeDirection &direction) const |
| Get the target vertex for an edge with direction. More... | |
| vertex_descriptor | target (const directed_edge_descriptor &edge) const |
| Get the target vertex for a directed edge. More... | |
| void | removeEdge (const edge_descriptor &edge) |
| Remove an edge. More... | |
| std::vector< directed_edge_descriptor > | edges (const vertex_descriptor &a, const vertex_descriptor &b) const |
| 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) |
| Get in edges for a vertex. More... | |
| std::vector< edge_descriptor > | outEdges (const vertex_descriptor &vertex) const |
| Get out edges for a vertex. More... | |
| std::vector< directed_edge_descriptor > | inOutEdges (const vertex_descriptor &vertex) const |
| Get in/out edges for a vertex. More... | |
| std::set< vertex_descriptor > | adjacentVertices (const vertex_descriptor &vertex, bool withReverseDirection=true) |
| 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 |
| Indicates if edges are opposite. More... | |
| bool | areParallel (const edge_descriptor &a, const edge_descriptor &b) const |
| Indicates if edges are parallel. More... | |
| void | reverse (std::vector< edge_descriptor > &edges) |
| 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 EdgeProperties attached to an Edge. More... | |
| edge_properties & | operator[] (const edge_descriptor &edge) |
| Returns the EdgeProperties attached to an Edge. 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.
| using SFCGAL::graph::GeometryGraphT< VertexProperties, EdgeProperties >::directed_edge_descriptor = std::pair<edge_descriptor, EdgeDirection> |
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 |
Edge descriptor type from boost graph.
| typedef boost::graph_traits<graph_t>::edge_iterator SFCGAL::graph::GeometryGraphT< VertexProperties, EdgeProperties >::edge_iterator |
Edge iterator type.
| using SFCGAL::graph::GeometryGraphT< VertexProperties, EdgeProperties >::edge_properties = EdgeProperties |
Edge properties type.
| 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 |
Incoming edge iterator type.
| typedef boost::graph_traits<graph_t>::out_edge_iterator SFCGAL::graph::GeometryGraphT< VertexProperties, EdgeProperties >::out_edge_iterator |
Outgoing edge iterator type.
| typedef boost::graph_traits<graph_t>::vertex_descriptor SFCGAL::graph::GeometryGraphT< VertexProperties, EdgeProperties >::vertex_descriptor |
Vertex descriptor type from boost graph.
| typedef boost::graph_traits<graph_t>::vertex_iterator SFCGAL::graph::GeometryGraphT< VertexProperties, EdgeProperties >::vertex_iterator |
Vertex iterator type.
| using SFCGAL::graph::GeometryGraphT< VertexProperties, EdgeProperties >::vertex_properties = VertexProperties |
Vertex properties type.
|
inline |
Add an Edge to the Graph.
| source | The source vertex descriptor |
| target | The target vertex descriptor |
| properties | The properties for the new edge |
|
inline |
Add a vertex to the graph.
| properties | The properties for the new vertex |
|
inline |
Returns the list of the adjacent vertices using both DIRECT and REVERSE direction.
| vertex | Input vertex |
| withReverseDirection | Indicates if in_edges are used |
|
inline |
Indicates if edges are opposite.
| a | First edge descriptor |
| b | Second edge descriptor |
|
inline |
Indicates if edges are parallel.
| a | First edge descriptor |
| b | Second edge descriptor |
|
inline |
Returns the degree of a vertex.
| vertex | The vertex descriptor |
|
inline |
Return edge iterator pair.
|
inline |
Get edges from a to b and from b to a.
| a | First vertex descriptor |
| b | Second vertex descriptor |
|
inline |
Returns the wrapped boost::graph.
|
inline |
Returns the wrapped boost::graph.
|
inline |
Get in edges for a vertex.
| vertex | The vertex descriptor |
|
inline |
Get in/out edges for a vertex.
| vertex | The vertex descriptor |
|
inline |
Returns the number of edges.
|
inline |
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.
| vertex | The vertex descriptor |
|
inline |
Returns the VertexProperties attached to a Vertex.
| vertex | The vertex descriptor |
|
inline |
Returns the EdgeProperties attached to an Edge.
| edge | The edge descriptor |
|
inline |
Returns the EdgeProperties attached to an Edge.
| edge | The edge descriptor |
|
inline |
Get out edges for a vertex.
| vertex | The vertex descriptor |
|
inline |
Remove an edge.
| edge | The edge descriptor to remove |
|
inline |
Remove a vertex (and all its adjacent edges)
| vertex | The vertex descriptor to remove |
|
inline |
Revert the order of a list of edges.
Old edges are removed from the graph, new ones are created.
| edges | Vector of edge descriptors to reverse |
|
inline |
Get the source vertex for an edge.
| edge | The edge descriptor |
|
inline |
Get the source vertex for an edge with direction.
| edge | The edge descriptor |
| direction | The edge direction |
|
inline |
Get the source vertex for a directed edge.
| edge | The directed edge descriptor |
|
inline |
Get the target vertex for an edge.
| edge | The edge descriptor |
|
inline |
Get the target vertex for an edge with direction.
| edge | The edge descriptor |
| direction | The edge direction |
|
inline |
Get the target vertex for a directed edge.
| edge | The directed edge descriptor |
|
inline |
Return vertex iterator pair.
1.8.10