Quantum GIS API Documentation
1.8
|
The QGis class provides graph analysis functions. More...
#include <qgsgraphanalyzer.h>
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 QgsGraph * | shortestTree (const QgsGraph *source, int startVertexIdx, int criterionNum) |
return shortest path tree with root-node in startVertexIdx |
The QGis class provides graph analysis functions.
Definition at line 31 of file qgsgraphanalyzer.h.
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
source | The source graph |
startVertexIdx | index of start vertex |
criterionNum | index of arc property as optimization criterion |
treeResult | array represents the shortest path tree. resultTree[ vertexIndex ] == inboundingArcIndex if vertex reacheble and resultTree[ vertexIndex ] == -1 others. |
resultCost | array 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
source | The source graph |
startVertexIdx | index of start vertex |
criterionNum | index 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().