28 #ifndef __TERRALIB_GRAPH_INTERNAL_BIDIRECTIONALGRAPH_H
29 #define __TERRALIB_GRAPH_INTERNAL_BIDIRECTIONALGRAPH_H
32 #include "../Config.h"
43 class AbstractCachePolicy;
44 class AbstractGraphLoaderStrategy;
This is the main graph implementation, that uses a cache policy anda graph loader to get all elements...
This class is used to set the main functions of a cache policy.
This class define the main functions necessary to save and load the graph data and metadata informati...
This is a implementation of a Bidirectional Graph. By convention a bidirectional graph provides acces...
virtual std::vector< te::graph::Vertex * > getVertexNeighborhood(int id)
The neighborhood of a vertex v is an induced subgraph of the graph, formed by all vertices adjacent t...
virtual void removeEdge(int id)
This function removes the edge element from graph, also was removed in data source.
~BidirectionalGraph()
Virtual destructor.
BidirectionalGraph()
constructor.
virtual bool isSinkVertex(int id, bool &flag)
This function indicates if a desired element is a sink vertex.
BidirectionalGraph(GraphMetadata *metadata)
Constructor.
virtual void add(Edge *e)
Add a new edge element to a graph.
virtual bool isSourceVertex(int id, bool &flag)
This function indicates if a desired element is a source vertex.
virtual std::vector< te::graph::Edge * > getOutEdges(int vId)
It returns all edges that came out a vertex.
virtual std::vector< te::graph::Edge * > getInEdges(int vId)
It returns all edges that came in a vertex.
virtual bool isIsolateVertex(int id, bool &flag)
This function indicates if a desired element is a isolated vertex.
BidirectionalGraph(AbstractCachePolicy *cp, AbstractGraphLoaderStrategy *ls)
Constructor.
Class used to define the edge struct of a graph. Its compose with a identifier, the vertex origin and...
This is the main graph implementation, that uses a cache policy anda graph loader to get all elements...
#define TEGRAPHEXPORT
You can use this macro in order to export/import classes and functions from this module.