This is a implementation of a UndirectedGraph Graph. By definition a undirected graph has no direction information about his edges. More...
#include <UndirectedGraph.h>
  
 Public Member Functions | |
| virtual void | flush () | 
| Function used to clear the memory cache, all elements was released from memory, if any element was changes it will be saved.  More... | |
| te::graph::AbstractIterator * | getIterator () | 
| Used to get a iterator associated to graph.  More... | |
| virtual te::graph::GraphMetadata * | getMetadata () | 
| Function used to access the graph metadata.  More... | |
| void | setIterator (te::graph::AbstractIterator *i) | 
| Used to associate a iterator to graph.  More... | |
| UndirectedGraph () | |
| constructor.  More... | |
| UndirectedGraph (AbstractCachePolicy *cp, AbstractGraphLoaderStrategy *ls) | |
| Constructor.  More... | |
| ~UndirectedGraph () | |
| Virtual destructor.  More... | |
Vertex Access Methods  | |
Method used to access vertex elements from a graph.  | |
| 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 to v.  More... | |
| virtual bool | isIsolateVertex (int id, bool &flag) | 
| This function indicates if a desired element is a isolated vertex.  More... | |
Edge Access Methods  | |
Method used to access edge elements from a graph.  | |
| virtual void | add (Edge *e) | 
| Add a new edge element to a graph.  More... | |
| virtual void | removeEdge (int id) | 
| This function removes the edge element from graph, also was removed in data source.  More... | |
| virtual std::vector < te::graph::Edge * >  | getEdges (int vId) | 
| It returns all edges that belongs to a vertex.  More... | |
Vertex Access Methods  | |
Method used to access vertex elements from a graph.  | |
| virtual void | add (Vertex *v) | 
| Add a new vertex element to a graph.  More... | |
| virtual void | update (Vertex *v) | 
| Update the vertex element.  More... | |
| virtual void | removeVertex (int id) | 
| This function removes the vertex element from graph, also was removed in data source.  More... | |
| virtual te::graph::Vertex * | getVertex (int id) | 
| It returns the vertex element if it's exist.  More... | |
| virtual void | addVertexProperty (te::dt::Property *p) | 
| Add a new property associated to the vertex element.  More... | |
| virtual void | removeVertexProperty (int idx) | 
| Remove a property associated to the vertex element.  More... | |
| virtual te::dt::Property * | getVertexProperty (int idx) | 
| Get a vertex property given a index.  More... | |
| virtual int | getVertexPropertySize () | 
| Used to verify the number of properties associated to vertex elements.  More... | |
Edge Access Methods  | |
Method used to access edge elements from a graph.  | |
| virtual void | update (Edge *e) | 
| Update the edge element.  More... | |
| virtual te::graph::Edge * | getEdge (int id) | 
| It returns the edge element if it's exist.  More... | |
| virtual void | addEdgeProperty (te::dt::Property *p) | 
| Add a new property associated to the edge element.  More... | |
| virtual void | removeEdgeProperty (int idx) | 
| Remove a property associated to the edge element.  More... | |
| virtual te::dt::Property * | getEdgeProperty (int idx) | 
| Get a edge property given a index.  More... | |
| virtual int | getEdgePropertySize () | 
| Used to verify the number of properties associated to edge elements.  More... | |
Vertex Access Methods  | |
Method used to access vertex elements from a graph.  | |
| virtual te::graph::Vertex * | getFirstVertex () | 
| It returns a pointer to the first vertex element of a graph.  More... | |
| virtual te::graph::Vertex * | getNextVertex () | 
| It returns a pointer to the next vertex element of a graph.  More... | |
| virtual te::graph::Vertex * | getPreviousVertex () | 
| It returns a pointer to the previous vertex element of a graph.  More... | |
Edge Access Methods  | |
Method used to access edge elements from a graph.  | |
| te::graph::Edge * | getFirstEdge () | 
| It returns a pointer to the first edge element of a graph.  More... | |
| te::graph::Edge * | getNextEdge () | 
| It returns a pointer to the next edge element of a graph.  More... | |
| te::graph::Edge * | getPreviousEdge () | 
| It returns a pointer to the previous edge element of a graph.  More... | |
Protected Attributes | |
| GraphDataManager * | m_dataManager | 
| Used to load and save GraphData information from a DataSource.  More... | |
| GraphCache * | m_graphCache | 
| Class used to keep all graph data loaded.  More... | |
| GraphData * | m_graphData | 
| This class has the graph data and properties.  More... | |
| te::graph::AbstractIterator * | m_iterator | 
| Iterator attribute.  More... | |
| GraphMetadata * | m_metadata | 
| Graph Data loader strategy.  More... | |
This is a implementation of a UndirectedGraph Graph. By definition a undirected graph has no direction information about his edges.
Definition at line 56 of file UndirectedGraph.h.
| te::graph::UndirectedGraph::UndirectedGraph | ( | ) | 
constructor.
Definition at line 39 of file UndirectedGraph.cpp.
| te::graph::UndirectedGraph::UndirectedGraph | ( | AbstractCachePolicy * | cp, | 
| AbstractGraphLoaderStrategy * | ls | ||
| ) | 
Constructor.
| cp | A pointer to a cache policy implementation | 
| ls | A pointer to a loader strategy implementation | 
Definition at line 43 of file UndirectedGraph.cpp.
| te::graph::UndirectedGraph::~UndirectedGraph | ( | ) | 
Virtual destructor.
Definition at line 48 of file UndirectedGraph.cpp.
      
  | 
  virtualinherited | 
Add a new vertex element to a graph.
| v | Vertex element | 
Implements te::graph::AbstractGraph.
Definition at line 86 of file Graph.cpp.
References te::graph::Vertex::getId(), te::graph::Vertex::isDirty(), and te::graph::Vertex::isNew().
Referenced by te::graph::DirectedGraph::add(), add(), and te::graph::BidirectionalGraph::add().
      
  | 
  virtual | 
Add a new edge element to a graph.
| e | Edge element | 
Reimplemented from te::graph::Graph.
Definition at line 111 of file UndirectedGraph.cpp.
References te::graph::Graph::add(), te::graph::Edge::getId(), te::graph::Edge::getIdFrom(), te::graph::Edge::getIdTo(), and te::graph::Vertex::getNeighborhood().
      
  | 
  virtualinherited | 
Add a new property associated to the edge element.
param p New property to be associated with edge elements.
Implements te::graph::AbstractGraph.
      
  | 
  virtualinherited | 
Add a new property associated to the vertex element.
param p New property to be associated with vertex elements.
Implements te::graph::AbstractGraph.
Definition at line 169 of file Graph.cpp.
Referenced by te::graph::AddDeepAttribute::AddDeepAttribute().
      
  | 
  virtualinherited | 
Function used to clear the memory cache, all elements was released from memory, if any element was changes it will be saved.
Implements te::graph::AbstractGraph.
Definition at line 329 of file Graph.cpp.
Referenced by te::graph::AddDeepAttribute::AddDeepAttribute().
      
  | 
  virtualinherited | 
It returns the edge element if it's exist.
| id | Vertex identification | 
Implements te::graph::AbstractGraph.
Definition at line 261 of file Graph.cpp.
Referenced by te::graph::AddDeepAttribute::calculateDeepValue(), te::graph::GetSubGraph::getPredecessor(), and te::graph::GetSubGraph::GetSubGraph().
      
  | 
  virtualinherited | 
Get a edge property given a index.
| idx | Index of the property | 
Implements te::graph::AbstractGraph.
      
  | 
  virtualinherited | 
Used to verify the number of properties associated to edge elements.
Implements te::graph::AbstractGraph.
      
  | 
  virtual | 
It returns all edges that belongs to a vertex.
| vId | The attribute used to identify the vertex element | 
Definition at line 195 of file UndirectedGraph.cpp.
References te::graph::Vertex::getNeighborhood().
      
  | 
  inherited | 
It returns a pointer to the first edge element of a graph.
Definition at line 73 of file AbstractGraph.cpp.
References TR_GRAPH.
Referenced by te::graph::QueryGraphBuilder::build(), and te::graph::LayerRenderer::draw().
      
  | 
  virtualinherited | 
It returns a pointer to the first vertex element of a graph.
Definition at line 43 of file AbstractGraph.cpp.
References TR_GRAPH.
Referenced by te::graph::AddDeepAttribute::AddDeepAttribute(), te::graph::AddRasterAttribute::AddRasterAttribute(), and te::graph::QueryGraphBuilder::build().
      
  | 
  inherited | 
Used to get a iterator associated to graph.
Definition at line 108 of file AbstractGraph.cpp.
Referenced by te::graph::AddDeepAttribute::AddDeepAttribute(), te::graph::AddRasterAttribute::AddRasterAttribute(), te::graph::QueryGraphBuilder::build(), and te::graph::LayerRenderer::draw().
      
  | 
  virtualinherited | 
Function used to access the graph metadata.
Implements te::graph::AbstractGraph.
      
  | 
  inherited | 
It returns a pointer to the next edge element of a graph.
Definition at line 83 of file AbstractGraph.cpp.
References TR_GRAPH.
Referenced by te::graph::QueryGraphBuilder::build(), and te::graph::LayerRenderer::draw().
      
  | 
  virtualinherited | 
It returns a pointer to the next vertex element of a graph.
Definition at line 53 of file AbstractGraph.cpp.
References TR_GRAPH.
Referenced by te::graph::AddDeepAttribute::AddDeepAttribute(), te::graph::AddRasterAttribute::AddRasterAttribute(), and te::graph::QueryGraphBuilder::build().
      
  | 
  inherited | 
It returns a pointer to the previous edge element of a graph.
Definition at line 93 of file AbstractGraph.cpp.
References TR_GRAPH.
      
  | 
  virtualinherited | 
It returns a pointer to the previous vertex element of a graph.
Definition at line 63 of file AbstractGraph.cpp.
References TR_GRAPH.
      
  | 
  virtualinherited | 
It returns the vertex element if it's exist.
| id | Vertex identification | 
Implements te::graph::AbstractGraph.
Definition at line 142 of file Graph.cpp.
Referenced by te::graph::AddDeepAttribute::calculateDeepValue(), te::graph::GetSubGraph::getPredecessor(), and te::graph::GetSubGraph::GetSubGraph().
      
  | 
  virtual | 
The neighborhood of a vertex v is an induced subgraph of the graph, formed by all vertices adjacent to v.
| id | The attribute used to identify the vertex element | 
Definition at line 52 of file UndirectedGraph.cpp.
References te::graph::Edge::getIdFrom(), te::graph::Edge::getIdTo(), and te::graph::Vertex::getNeighborhood().
      
  | 
  virtualinherited | 
Get a vertex property given a index.
| idx | Index of the property | 
Implements te::graph::AbstractGraph.
Definition at line 185 of file Graph.cpp.
Referenced by te::graph::AddDeepAttribute::AddDeepAttribute().
      
  | 
  virtualinherited | 
Used to verify the number of properties associated to vertex elements.
Implements te::graph::AbstractGraph.
Definition at line 195 of file Graph.cpp.
Referenced by te::graph::AddDeepAttribute::AddDeepAttribute().
      
  | 
  virtual | 
This function indicates if a desired element is a isolated vertex.
| id | The attribute used to identify the vertex element | 
| flag | Flag used to indicating if the element is a isolated vertex. | 
Definition at line 91 of file UndirectedGraph.cpp.
References te::graph::Vertex::getNeighborhood().
      
  | 
  virtual | 
This function removes the edge element from graph, also was removed in data source.
| id | Edge identification | 
Reimplemented from te::graph::Graph.
Definition at line 145 of file UndirectedGraph.cpp.
References te::graph::Edge::getIdFrom(), te::graph::Edge::getIdTo(), te::graph::Vertex::getNeighborhood(), and te::graph::Graph::removeEdge().
      
  | 
  virtualinherited | 
Remove a property associated to the edge element.
| idx | Index of the property | 
Implements te::graph::AbstractGraph.
      
  | 
  virtualinherited | 
This function removes the vertex element from graph, also was removed in data source.
| id | Vertex identification | 
Implements te::graph::AbstractGraph.
      
  | 
  virtualinherited | 
Remove a property associated to the vertex element.
| idx | Index of the property | 
Implements te::graph::AbstractGraph.
      
  | 
  inherited | 
Used to associate a iterator to graph.
| i | Valid pointer to a iterator | 
Definition at line 103 of file AbstractGraph.cpp.
Referenced by te::graph::AddDeepAttribute::AddDeepAttribute(), te::graph::AddRasterAttribute::AddRasterAttribute(), te::graph::QueryGraphBuilder::build(), and te::graph::LayerRenderer::draw().
      
  | 
  virtualinherited | 
Update the vertex element.
| v | Vertex element | 
Implements te::graph::AbstractGraph.
Definition at line 106 of file Graph.cpp.
References te::graph::Vertex::setDirty().
Referenced by te::graph::AddDeepAttribute::AddDeepAttribute().
      
  | 
  virtualinherited | 
Update the edge element.
| e | Edge element | 
Implements te::graph::AbstractGraph.
Definition at line 225 of file Graph.cpp.
References te::graph::Edge::setDirty().
      
  | 
  protectedinherited | 
Used to load and save GraphData information from a DataSource.
Definition at line 284 of file Graph.h.
Referenced by te::graph::Graph::Graph().
      
  | 
  protectedinherited | 
Class used to keep all graph data loaded.
Definition at line 286 of file Graph.h.
Referenced by te::graph::Graph::Graph().
      
  | 
  protectedinherited | 
      
  | 
  protectedinherited | 
Iterator attribute.
Definition at line 322 of file AbstractGraph.h.
      
  | 
  protectedinherited | 
Graph Data loader strategy.
Definition at line 288 of file Graph.h.
Referenced by te::graph::Graph::Graph().