37 #ifndef __vtkDijkstraGraphGeodesicPath_h
38 #define __vtkDijkstraGraphGeodesicPath_h
40 #include "vtkFiltersModelingModule.h"
57 void PrintSelf(ostream& os, vtkIndent indent);
62 vtkGetObjectMacro(IdList, vtkIdList);
68 vtkSetMacro(StopWhenEndReached,
int);
69 vtkGetMacro(StopWhenEndReached,
int);
70 vtkBooleanMacro(StopWhenEndReached,
int);
75 vtkSetMacro(UseScalarWeights,
int);
76 vtkGetMacro(UseScalarWeights,
int);
77 vtkBooleanMacro(UseScalarWeights,
int);
82 vtkSetMacro(RepelPathFromVertices,
int);
83 vtkGetMacro(RepelPathFromVertices,
int);
84 vtkBooleanMacro(RepelPathFromVertices,
int);
89 virtual void SetRepelVertices(vtkPoints*);
90 vtkGetObjectMacro(RepelVertices, vtkPoints);
97 virtual void GetCumulativeWeights(vtkDoubleArray *weights);
103 virtual int RequestData(vtkInformation *, vtkInformationVector **,
104 vtkInformationVector *);
107 virtual void BuildAdjacency( vtkDataSet *inData );
112 virtual double CalculateStaticEdgeCost( vtkDataSet *inData, vtkIdType u, vtkIdType v);
119 void Initialize( vtkDataSet *inData );
124 virtual void ShortestPath( vtkDataSet *inData,
int startv,
int endv );
127 void Relax(
const int& u,
const int& v,
const double& w);
130 void TraceShortestPath( vtkDataSet* inData,
vtkPolyData* outPoly,
131 vtkIdType startv, vtkIdType endv);
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
int RepelPathFromVertices
concrete dataset represents vertices, lines, polygons, and triangle strips
vtkPoints * RepelVertices
Dijkstra algorithm to compute the graph geodesic.
void PrintSelf(ostream &os, vtkIndent indent)
static vtkPolyDataAlgorithm * New()
vtkDijkstraGraphInternals * Internals
vtkTimeStamp AdjacencyBuildTime
Helper class due to PIMPL excess.
virtual double GetGeodesicLength()
Abstract base for classes that generate a geodesic path on a graph (mesh).
virtual double CalculateDynamicEdgeCost(vtkDataSet *, vtkIdType, vtkIdType)