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;
107 virtual void add(
Vertex* v);
118 virtual void update(
Vertex* v);
127 virtual void removeVertex(
int id);
156 virtual void removeVertexProperty(
int idx);
174 virtual int getVertexPropertySize();
193 virtual void add(
Edge* e);
204 virtual void update(
Edge* e);
213 virtual void removeEdge(
int id);
240 virtual void removeEdgeProperty(
int idx);
258 virtual int getEdgePropertySize();
278 virtual void flush();
294 #endif // __TERRALIB_GRAPH_INTERNAL_ABSTRACTGRAPH_H
GraphDataManager * m_dataManager
Used to load and save GraphData information from a DataSource.
Abstract class used to define the main functions of graph struct. All graph implementations must used...
Class used to define the edge struct of a graph. Its compose with a identifier, the vertex origin and...
#define TEGRAPHEXPORT
You can use this macro in order to export/import classes and functions from this module.
This class define the main functions necessary to save and load the graph data and metadata informati...
GraphData * m_graphData
This class has the graph data and properties.
Class used to manager the graph data elements. This class uses a cache policy to control the elements...
From the point of view of graph theory, vertices are treated as featureless and indivisible objects...
GraphCache * m_graphCache
Class used to keep all graph data loaded.
This is the main graph implementation, that uses a cache policy anda graph loader to get all elements...
It models a property definition.
This class is used to set the main functions of a cache policy.
Class used to define the graph metadata informations.
GraphMetadata * m_metadata
Graph Data loader strategy.
This class define a important struct used to group a map of vertex and edges. A flag is used to indic...