Quantum GIS API Documentation  1.8
Static Public Member Functions
QgsGraphAnalyzer Class Reference

The QGis class provides graph analysis functions. More...

#include <qgsgraphanalyzer.h>

List of all members.

Static Public Member Functions

static void dijkstra (const QgsGraph *source, int startVertexIdx, int criterionNum, QVector< int > *resultTree=NULL, QVector< double > *resultCost=NULL)
 solve shortest path problem using dijkstra algorithm
static QgsGraphshortestTree (const QgsGraph *source, int startVertexIdx, int criterionNum)
 return shortest path tree with root-node in startVertexIdx

Detailed Description

The QGis class provides graph analysis functions.

Definition at line 31 of file qgsgraphanalyzer.h.


Member Function Documentation

void QgsGraphAnalyzer::dijkstra ( const QgsGraph source,
int  startVertexIdx,
int  criterionNum,
QVector< int > *  resultTree = NULL,
QVector< double > *  resultCost = NULL 
) [static]

solve shortest path problem using dijkstra algorithm

Parameters:
sourceThe source graph
startVertexIdxindex of start vertex
criterionNumindex of arc property as optimization criterion
treeResultarray represents the shortest path tree. resultTree[ vertexIndex ] == inboundingArcIndex if vertex reacheble and resultTree[ vertexIndex ] == -1 others.
resultCostarray of cost paths

Definition at line 29 of file qgsgraphanalyzer.cpp.

References QgsGraph::arc(), QgsGraphArc::inVertex(), QgsGraphVertex::outArc(), QgsGraphArc::property(), QgsGraph::vertex(), and QgsGraph::vertexCount().

Referenced by shortestTree().

QgsGraph * QgsGraphAnalyzer::shortestTree ( const QgsGraph source,
int  startVertexIdx,
int  criterionNum 
) [static]

return shortest path tree with root-node in startVertexIdx

Parameters:
sourceThe source graph
startVertexIdxindex of start vertex
criterionNumindex of edge property as optimization criterion

Definition at line 90 of file qgsgraphanalyzer.cpp.

References QgsGraph::addArc(), QgsGraph::addVertex(), QgsGraph::arc(), dijkstra(), QgsGraphArc::inVertex(), QgsGraphArc::outVertex(), QgsGraphVertex::point(), QgsGraphArc::properties(), QgsGraph::vertex(), and QgsGraph::vertexCount().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines