#include <vtkDijkstraGraphGeodesicPath.h>
Takes as input a polygonal mesh and performs a single source shortest path calculation. Dijkstra's algorithm is used. The implementation is similar to the one described in Introduction to Algorithms (Second Edition) by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Cliff Stein, published by MIT Press and McGraw-Hill. Some minor enhancement are added though. All vertices are not pushed on the heap at start, instead a front set is maintained. The heap is implemented as a binary heap. The output of the filter is a set of lines describing the shortest path from StartVertex to EndVertex.
Definition at line 45 of file vtkDijkstraGraphGeodesicPath.h.
Standard methids for printing and determining type information.
Reimplemented from vtkGraphGeodesicPath.
Reimplemented in vtkDijkstraImageGeodesicPath.
Definition at line 55 of file vtkDijkstraGraphGeodesicPath.h.
vtkDijkstraGraphGeodesicPath::vtkDijkstraGraphGeodesicPath | ( | ) | [protected] |
vtkDijkstraGraphGeodesicPath::~vtkDijkstraGraphGeodesicPath | ( | ) | [protected] |
static vtkDijkstraGraphGeodesicPath* vtkDijkstraGraphGeodesicPath::New | ( | ) | [static] |
Instantiate the class
Reimplemented from vtkPolyDataAlgorithm.
Reimplemented in vtkDijkstraImageGeodesicPath.
virtual const char* vtkDijkstraGraphGeodesicPath::GetClassName | ( | ) | [virtual] |
Standard methids for printing and determining type information.
Reimplemented from vtkGraphGeodesicPath.
Reimplemented in vtkDijkstraImageGeodesicPath.
static int vtkDijkstraGraphGeodesicPath::IsTypeOf | ( | const char * | type | ) | [static] |
Standard methids for printing and determining type information.
Reimplemented from vtkGraphGeodesicPath.
Reimplemented in vtkDijkstraImageGeodesicPath.
virtual int vtkDijkstraGraphGeodesicPath::IsA | ( | const char * | type | ) | [virtual] |
Standard methids for printing and determining type information.
Reimplemented from vtkGraphGeodesicPath.
Reimplemented in vtkDijkstraImageGeodesicPath.
static vtkDijkstraGraphGeodesicPath* vtkDijkstraGraphGeodesicPath::SafeDownCast | ( | vtkObject * | o | ) | [static] |
Standard methids for printing and determining type information.
Reimplemented from vtkGraphGeodesicPath.
Reimplemented in vtkDijkstraImageGeodesicPath.
void vtkDijkstraGraphGeodesicPath::PrintSelf | ( | ostream & | os, | |
vtkIndent | indent | |||
) | [virtual] |
Standard methids for printing and determining type information.
Reimplemented from vtkGraphGeodesicPath.
Reimplemented in vtkDijkstraImageGeodesicPath.
virtual vtkIdList* vtkDijkstraGraphGeodesicPath::GetIdList | ( | ) | [virtual] |
The vertex ids (of the input polydata) on the shortest path
virtual void vtkDijkstraGraphGeodesicPath::SetStopWhenEndReached | ( | int | ) | [virtual] |
Stop when the end vertex is reached or calculate shortest path to all vertices
virtual int vtkDijkstraGraphGeodesicPath::GetStopWhenEndReached | ( | ) | [virtual] |
Stop when the end vertex is reached or calculate shortest path to all vertices
virtual void vtkDijkstraGraphGeodesicPath::StopWhenEndReachedOn | ( | ) | [virtual] |
Stop when the end vertex is reached or calculate shortest path to all vertices
virtual void vtkDijkstraGraphGeodesicPath::StopWhenEndReachedOff | ( | ) | [virtual] |
Stop when the end vertex is reached or calculate shortest path to all vertices
virtual void vtkDijkstraGraphGeodesicPath::SetUseScalarWeights | ( | int | ) | [virtual] |
Use scalar values in the edge weight (experimental)
virtual int vtkDijkstraGraphGeodesicPath::GetUseScalarWeights | ( | ) | [virtual] |
Use scalar values in the edge weight (experimental)
virtual void vtkDijkstraGraphGeodesicPath::UseScalarWeightsOn | ( | ) | [virtual] |
Use scalar values in the edge weight (experimental)
virtual void vtkDijkstraGraphGeodesicPath::UseScalarWeightsOff | ( | ) | [virtual] |
Use scalar values in the edge weight (experimental)
virtual void vtkDijkstraGraphGeodesicPath::SetRepelPathFromVertices | ( | int | ) | [virtual] |
Use the input point to repel the path by assigning high costs.
virtual int vtkDijkstraGraphGeodesicPath::GetRepelPathFromVertices | ( | ) | [virtual] |
Use the input point to repel the path by assigning high costs.
virtual void vtkDijkstraGraphGeodesicPath::RepelPathFromVerticesOn | ( | ) | [virtual] |
Use the input point to repel the path by assigning high costs.
virtual void vtkDijkstraGraphGeodesicPath::RepelPathFromVerticesOff | ( | ) | [virtual] |
Use the input point to repel the path by assigning high costs.
virtual void vtkDijkstraGraphGeodesicPath::SetRepelVertices | ( | vtkPoints * | ) | [virtual] |
Specify vtkPoints to use to repel the path from.
virtual vtkPoints* vtkDijkstraGraphGeodesicPath::GetRepelVertices | ( | ) | [virtual] |
Specify vtkPoints to use to repel the path from.
virtual double vtkDijkstraGraphGeodesicPath::GetGeodesicLength | ( | ) | [inline, virtual] |
TODO: Get the total geodesic length.
Implements vtkGeodesicPath.
Definition at line 93 of file vtkDijkstraGraphGeodesicPath.h.
virtual void vtkDijkstraGraphGeodesicPath::GetCumulativeWeights | ( | vtkDoubleArray * | weights | ) | [virtual] |
Fill the array with the cumulative weights.
virtual int vtkDijkstraGraphGeodesicPath::RequestData | ( | vtkInformation * | request, | |
vtkInformationVector ** | inputVector, | |||
vtkInformationVector * | outputVector | |||
) | [protected, virtual] |
This is called by the superclass. This is the method you should override.
Reimplemented from vtkPolyDataAlgorithm.
Reimplemented in vtkDijkstraImageGeodesicPath.
virtual void vtkDijkstraGraphGeodesicPath::BuildAdjacency | ( | vtkDataSet * | inData | ) | [protected, virtual] |
Reimplemented in vtkDijkstraImageGeodesicPath.
virtual double vtkDijkstraGraphGeodesicPath::CalculateStaticEdgeCost | ( | vtkDataSet * | inData, | |
vtkIdType | u, | |||
vtkIdType | v | |||
) | [protected, virtual] |
Reimplemented in vtkDijkstraImageGeodesicPath.
virtual double vtkDijkstraGraphGeodesicPath::CalculateDynamicEdgeCost | ( | vtkDataSet * | , | |
vtkIdType | , | |||
vtkIdType | ||||
) | [inline, protected, virtual] |
Reimplemented in vtkDijkstraImageGeodesicPath.
Definition at line 115 of file vtkDijkstraGraphGeodesicPath.h.
void vtkDijkstraGraphGeodesicPath::Initialize | ( | vtkDataSet * | inData | ) | [protected] |
void vtkDijkstraGraphGeodesicPath::Reset | ( | ) | [protected] |
virtual void vtkDijkstraGraphGeodesicPath::ShortestPath | ( | vtkDataSet * | inData, | |
int | startv, | |||
int | endv | |||
) | [protected, virtual] |
void vtkDijkstraGraphGeodesicPath::Relax | ( | const int & | u, | |
const int & | v, | |||
const double & | w | |||
) | [protected] |
void vtkDijkstraGraphGeodesicPath::TraceShortestPath | ( | vtkDataSet * | inData, | |
vtkPolyData * | outPoly, | |||
vtkIdType | startv, | |||
vtkIdType | endv | |||
) | [protected] |
Definition at line 108 of file vtkDijkstraGraphGeodesicPath.h.
int vtkDijkstraGraphGeodesicPath::NumberOfVertices [protected] |
Definition at line 133 of file vtkDijkstraGraphGeodesicPath.h.
vtkIdList* vtkDijkstraGraphGeodesicPath::IdList [protected] |
Definition at line 136 of file vtkDijkstraGraphGeodesicPath.h.
Definition at line 139 of file vtkDijkstraGraphGeodesicPath.h.
int vtkDijkstraGraphGeodesicPath::StopWhenEndReached [protected] |
Definition at line 141 of file vtkDijkstraGraphGeodesicPath.h.
int vtkDijkstraGraphGeodesicPath::UseScalarWeights [protected] |
Definition at line 142 of file vtkDijkstraGraphGeodesicPath.h.
int vtkDijkstraGraphGeodesicPath::RepelPathFromVertices [protected] |
Definition at line 143 of file vtkDijkstraGraphGeodesicPath.h.
vtkPoints* vtkDijkstraGraphGeodesicPath::RepelVertices [protected] |
Definition at line 145 of file vtkDijkstraGraphGeodesicPath.h.