This is a implementation of a Bidirectional Graph. By convention a bidirectional graph provides access to out-and in edges.
More...
#include <BidirectionalGraph.h>
This is a implementation of a Bidirectional Graph. By convention a bidirectional graph provides access to out-and in edges.
- See also
- AbstractGraph, GraphData, GraphCache
Definition at line 56 of file BidirectionalGraph.h.
◆ BidirectionalGraph() [1/3]
te::graph::BidirectionalGraph::BidirectionalGraph |
( |
| ) |
|
◆ BidirectionalGraph() [2/3]
te::graph::BidirectionalGraph::BidirectionalGraph |
( |
GraphMetadata * |
metadata | ) |
|
Constructor.
- Parameters
-
metadata | A pointer to a graph metadata implementation |
◆ BidirectionalGraph() [3/3]
Constructor.
- Parameters
-
cp | A pointer to a cache policy implementation |
ls | A pointer to a loader strategy implementation |
◆ ~BidirectionalGraph()
te::graph::BidirectionalGraph::~BidirectionalGraph |
( |
| ) |
|
◆ add() [1/2]
virtual void te::graph::BidirectionalGraph::add |
( |
Edge * |
e | ) |
|
|
virtual |
Add a new edge element to a graph.
- Parameters
-
- Note
- This function turns the dirty flag of current GraphData to true, the new flag of the edge turns to true.
Reimplemented from te::graph::Graph.
◆ add() [2/2]
virtual void te::graph::Graph::add |
( |
Vertex * |
v | ) |
|
|
virtualinherited |
Add a new vertex element to a graph.
- Parameters
-
- Note
- This function turns the dirty flag of current GraphData to true, the new flag of the vertex turns to true.
Implements te::graph::AbstractGraph.
◆ addEdgeProperty()
Add a new property associated to the edge element.
param p New property to be associated with edge elements.
- Note
- It's important before using this function call the flush() function, its necessary to force the memory clear and the elements will be loaded with the right size of properties.
Implements te::graph::AbstractGraph.
◆ addVertexProperty()
Add a new property associated to the vertex element.
param p New property to be associated with vertex elements.
- Note
- It's important before using this function call the flush() function, its necessary to force the memory clear and the elements will be loaded with the right size of properties.
Implements te::graph::AbstractGraph.
◆ flush()
virtual void te::graph::Graph::flush |
( |
| ) |
|
|
virtualinherited |
Function used to clear the memory cache, all elements was released from memory, if any element was changes it will be saved.
- Returns
Implements te::graph::AbstractGraph.
◆ getEdge()
It returns the edge element if it's exist.
- Parameters
-
- Returns
- A valid vertex point if the element was found and a null pointer in other case.
Implements te::graph::AbstractGraph.
◆ getEdgeProperty()
Get a edge property given a index.
- Parameters
-
- Returns
- A property associated to the edge element if the index is right and a null pointer in other case.
Implements te::graph::AbstractGraph.
◆ getEdgePropertySize()
virtual int te::graph::Graph::getEdgePropertySize |
( |
| ) |
|
|
virtualinherited |
Used to verify the number of properties associated to edge elements.
- Returns
- Integer value with the number of properties.
Implements te::graph::AbstractGraph.
◆ getInEdges()
virtual std::vector<te::graph::Edge*> te::graph::BidirectionalGraph::getInEdges |
( |
int |
vId | ) |
|
|
virtual |
It returns all edges that came in a vertex.
- Parameters
-
vId | The attribute used to identify the vertex element |
- Returns
- A vector with edge elements.
◆ getMetadata()
Function used to access the graph metadata.
- Returns
- A pointer to a class that defines the graph metadata
Implements te::graph::AbstractGraph.
◆ getOutEdges()
virtual std::vector<te::graph::Edge*> te::graph::BidirectionalGraph::getOutEdges |
( |
int |
vId | ) |
|
|
virtual |
It returns all edges that came out a vertex.
- Parameters
-
vId | The attribute used to identify the vertex element |
- Returns
- A vector with edge elements.
◆ getVertex()
It returns the vertex element if it's exist.
- Parameters
-
- Returns
- A valid vertex point if the element was found and a null pointer in other case.
Implements te::graph::AbstractGraph.
◆ getVertexNeighborhood()
virtual std::vector<te::graph::Vertex*> te::graph::BidirectionalGraph::getVertexNeighborhood |
( |
int |
id | ) |
|
|
virtual |
The neighborhood of a vertex v is an induced subgraph of the graph, formed by all vertices adjacent to v.
- Parameters
-
id | The attribute used to identify the vertex element |
- Returns
- A vector with vertex elements.
◆ getVertexProperty()
Get a vertex property given a index.
- Parameters
-
- Returns
- A property associated to the vertex element if the index is right and a null pointer in other case.
Implements te::graph::AbstractGraph.
◆ getVertexPropertySize()
virtual int te::graph::Graph::getVertexPropertySize |
( |
| ) |
|
|
virtualinherited |
Used to verify the number of properties associated to vertex elements.
- Returns
- Integer value with the number of properties.
Implements te::graph::AbstractGraph.
◆ isIsolateVertex()
virtual bool te::graph::BidirectionalGraph::isIsolateVertex |
( |
int |
id, |
|
|
bool & |
flag |
|
) |
| |
|
virtual |
This function indicates if a desired element is a isolated vertex.
- Parameters
-
id | The attribute used to identify the vertex element |
flag | Flag used to indicating if the element is a isolated vertex. |
- Returns
- True if the vertex element was found and false in other case
◆ isSinkVertex()
virtual bool te::graph::BidirectionalGraph::isSinkVertex |
( |
int |
id, |
|
|
bool & |
flag |
|
) |
| |
|
virtual |
This function indicates if a desired element is a sink vertex.
- Parameters
-
id | The attribute used to identify the vertex element |
flag | Flag used to indicating if the element is a sink vertex. |
- Returns
- True if the vertex element was found and false in other case
◆ isSourceVertex()
virtual bool te::graph::BidirectionalGraph::isSourceVertex |
( |
int |
id, |
|
|
bool & |
flag |
|
) |
| |
|
virtual |
This function indicates if a desired element is a source vertex.
- Parameters
-
id | The attribute used to identify the vertex element |
flag | Flag used to indicating if the element is a source vertex. |
- Returns
- True if the vertex element was found and false in other case
◆ removeEdge()
virtual void te::graph::BidirectionalGraph::removeEdge |
( |
int |
id | ) |
|
|
virtual |
This function removes the edge element from graph, also was removed in data source.
- Parameters
-
Reimplemented from te::graph::Graph.
◆ removeEdgeProperty()
virtual void te::graph::Graph::removeEdgeProperty |
( |
int |
idx | ) |
|
|
virtualinherited |
◆ removeVertex()
virtual void te::graph::Graph::removeVertex |
( |
int |
id | ) |
|
|
virtualinherited |
◆ removeVertexProperty()
virtual void te::graph::Graph::removeVertexProperty |
( |
int |
idx | ) |
|
|
virtualinherited |
◆ update() [1/2]
virtual void te::graph::Graph::update |
( |
Edge * |
e | ) |
|
|
virtualinherited |
◆ update() [2/2]
virtual void te::graph::Graph::update |
( |
Vertex * |
v | ) |
|
|
virtualinherited |
◆ m_dataManager
Used to load and save GraphData information from a DataSource.
Definition at line 290 of file Graph.h.
◆ m_graphCache
Class used to keep all graph data loaded.
Definition at line 292 of file Graph.h.
◆ m_graphData
This class has the graph data and properties.
Definition at line 298 of file Graph.h.
◆ m_metadata
The documentation for this class was generated from the following file:
- /home/castejon/castejon_files/develop/terralib5/git_release/src/terralib/graph/graphs/BidirectionalGraph.h