4 #define __int64 int64_t 50 const vector<double>& field2);
57 sources.insert(source);
58 set<int> destinations;
59 destinations.insert(end);
61 T alg(model, sources, destinations);
63 return make_pair(alg.GetDistanceField()[end], alg.BacktraceShortestPath(end));
70 sources.insert(source);
71 set<int> destinations;
72 destinations.insert(end);
74 T alg(model, sources, destinations);
76 return alg.GetDistanceField()[end];
string GetAlgorithmName() const
virtual vector< EdgePoint > BacktraceShortestPath(int end) const =0
pair< double, vector< EdgePoint > > GetShortestPathBetween(const CRichModel &model, int source, int end)
vector< double > m_scalarField
map< int, double > m_sources
__int64 m_nTotalMilliSeconds
const vector< double > & GetDistanceField() const
virtual void CollectExperimentalResults()=0
virtual void Propagate()=0
virtual __int64 GetMaxPropagationLevels() const
virtual void Initialize()=0
double GetMaxDistance() const
virtual __int64 GetMaxLenOfQueue() const
virtual void OutputExperimentalResults() const
double GetShortestDistanceBetween(const CRichModel &model, int source, int end)
__int64 GetRunTime() const
set< int > m_destinations
static vector< double > DiffDistanceField(const vector< double > &field1, const vector< double > &field2)
vector< EdgePoint > BacktraceIsoline(double val) const
virtual int GetAncestor(int vIndex) const =0
CDistanceApproach(const CRichModel &model, int source)
__int64 m_depthOfResultingTree
double GetMemoryCost() const