27#ifndef __TERRALIB_GRAPH_INTERNAL_ABSTRACTGRAPH_H
28#define __TERRALIB_GRAPH_INTERNAL_ABSTRACTGRAPH_H
It models a property definition.
virtual void addVertexProperty(te::dt::Property *p)=0
Add a new property associated to the vertex element.
virtual void update(Edge *e)=0
Update the edge element.
virtual te::graph::Edge * getEdge(int id)=0
It returns the edge element if it's exist.
virtual void update(Vertex *v)=0
Update the vertex element.
virtual void removeEdge(int id)=0
This function removes the edge element from graph, also was removed in data source.
virtual te::dt::Property * getEdgeProperty(int idx)=0
Get a edge property given a index.
virtual void removeVertexProperty(int idx)=0
Remove a property associated to the vertex element.
AbstractGraph()
Default constructor.
virtual void removeEdgeProperty(int idx)=0
Remove a property associated to the edge element.
virtual ~AbstractGraph()
Virtual destructor.
virtual int getVertexPropertySize()=0
Used to verify the number of properties associated to vertex elements.
virtual te::dt::Property * getVertexProperty(int idx)=0
Get a vertex property given a index.
virtual void removeVertex(int id)=0
This function removes the vertex element from graph, also was removed in data source.
virtual void add(Edge *e)=0
Add a new edge element to a graph.
virtual void flush()=0
Function used to clear the memory cache, all elements was released from memory, if any element was ch...
virtual int getEdgePropertySize()=0
Used to verify the number of properties associated to edge elements.
virtual void add(Vertex *v)=0
Add a new vertex element to a graph.
virtual void addEdgeProperty(te::dt::Property *p)=0
Add a new property associated to the edge element.
virtual te::graph::Vertex * getVertex(int id)=0
It returns the vertex element if it's exist.
virtual te::graph::GraphMetadata * getMetadata()=0
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...
From the point of view of graph theory, vertices are treated as featureless and indivisible objects,...
Namespace for the Data Type module of TerraLib.
Configuration flags for the Graph module of TerraLib.
#define TEGRAPHEXPORT
You can use this macro in order to export/import classes and functions from this module.