35 #ifndef DISTANCEMAPCALCULATOR_HPP_ 36 #define DISTANCEMAPCALCULATOR_HPP_ 42 #include "AbstractTetrahedralMesh.hpp" 51 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
55 friend class TestDistanceMapCalculator;
120 if (mLo<=nodeIndex && nodeIndex<mHi)
123 mActivePriorityNodeIndexQueue.push(std::pair<double, unsigned>(-priority, nodeIndex));
154 std::vector<double>& rNodeDistances);
163 double SingleDistance(
unsigned sourceNodeIndex,
unsigned destinationNodeIndex);
unsigned mTargetNodeIndex
std::priority_queue< std::pair< double, unsigned > > mActivePriorityNodeIndexQueue
AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > & mrMesh
std::vector< unsigned > mHaloNodeIndices
unsigned * mNumHalosPerProcess
c_vector< double, SPACE_DIM > mTargetNodePoint
void PushLocal(double priority, unsigned nodeIndex)
bool UpdateQueueFromRemote(std::vector< double > &rNodeDistances)
bool WorkOnLocalQueue(std::vector< double > &rNodeDistances)
void ComputeDistanceMap(const std::vector< unsigned > &rSourceNodeIndices, std::vector< double > &rNodeDistances)
DistanceMapCalculator(AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > &rMesh)
double SingleDistance(unsigned sourceNodeIndex, unsigned destinationNodeIndex)