Go to the documentation of this file.
32 #ifndef __TERRALIB_GRAPH_INTERNAL_GRAPH_H
33 #define __TERRALIB_GRAPH_INTERNAL_GRAPH_H
36 #include "../core/AbstractGraph.h"
37 #include "../Config.h"
45 namespace dt {
class Property; }
50 class AbstractCachePolicy;
51 class AbstractGraphLoaderStrategy;
53 class GraphDataManager;
304 #endif // __TERRALIB_GRAPH_INTERNAL_ABSTRACTGRAPH_H
GraphMetadata * m_metadata
Graph Data loader strategy.
virtual void removeEdgeProperty(int idx)
Remove a property associated to the edge element.
Graph(GraphMetadata *metadata)
Constructor.
virtual void flush()
Function used to clear the memory cache, all elements was released from memory, if any element was ch...
virtual te::graph::GraphMetadata * getMetadata()
Function used to access the graph metadata.
Class used to define the edge struct of a graph. Its compose with a identifier, the vertex origin and...
virtual void add(Edge *e)
Add a new edge element to a graph.
virtual te::dt::Property * getVertexProperty(int idx)
Get a vertex property given a index.
This is the main graph implementation, that uses a cache policy anda graph loader to get all elements...
virtual void removeVertexProperty(int idx)
Remove a property associated to the vertex element.
GraphDataManager * m_dataManager
Used to load and save GraphData information from a DataSource.
From the point of view of graph theory, vertices are treated as featureless and indivisible objects,...
virtual void removeVertex(int id)
This function removes the vertex element from graph, also was removed in data source.
#define TEGRAPHEXPORT
You can use this macro in order to export/import classes and functions from this module.
virtual te::graph::Vertex * getVertex(int id)
It returns the vertex element if it's exist.
virtual te::dt::Property * getEdgeProperty(int idx)
Get a edge property given a index.
GraphCache * m_graphCache
Class used to keep all graph data loaded.
Graph(AbstractCachePolicy *cp, AbstractGraphLoaderStrategy *ls)
Constructor.
virtual void update(Edge *e)
Update the edge element.
virtual void addVertexProperty(te::dt::Property *p)
Add a new property associated to the vertex element.
virtual int getVertexPropertySize()
Used to verify the number of properties associated to vertex elements.
virtual void update(Vertex *v)
Update the vertex element.
virtual int getEdgePropertySize()
Used to verify the number of properties associated to edge elements.
~Graph()
Virtual destructor.
virtual te::graph::Edge * getEdge(int id)
It returns the edge element if it's exist.
Class used to manager the graph data elements. This class uses a cache policy to control the elements...
virtual void add(Vertex *v)
Add a new vertex element to a graph.
GraphData * m_graphData
This class has the graph data and properties.
Abstract class used to define the main functions of graph struct. All graph implementations must used...
virtual void removeEdge(int id)
This function removes the edge element from graph, also was removed in data source.
It models a property definition.
This class define the main functions necessary to save and load the graph data and metadata informati...
This class define a important struct used to group a map of vertex and edges. A flag is used to indic...
virtual void addEdgeProperty(te::dt::Property *p)
Add a new property associated to the edge element.
This class is used to set the main functions of a cache policy.