37         for (set<int>::const_iterator it = sources.begin(); it != sources.end(); ++it)
    44         for (set<int>::const_iterator it = sources.begin(); it != sources.end(); ++it)
    50         for (set<int>::const_iterator it = sources.begin(); it != sources.end(); ++it)
    85                 const vector<double>& field2)
    87         vector<double> result(field1.size());
    88         for (
int i = 0; i < field1.size(); ++i)
    89                 result[i] = 
abs(field1[i] - field2[i]);
    95         vector<EdgePoint> isoline;
    98                 int high, middle, low, total(0);
    99                 double highestDis(-DBL_MAX);
   100                 double lowestDis(DBL_MAX);
   102                 for (
int j = 0; j < 3; ++j)
   121                 middle = total - high - low;
   122                 if (highestDis <= val)
   124                 if (lowestDis >= val)
   191         cout << 
"Experimental results are as follows:\n";
   193         cout << 
"Memory = " << 
m_memory << 
" Mega-bytes.\n";
 
string GetAlgorithmName() const
int GetNumOfFaces() const
vector< double > m_scalarField
map< int, double > m_sources
const vector< double > & GetDistanceField() const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const AbsReturnType abs() const
int GetEdgeIndexFromTwoVertices(int leftVert, int rightVert) const
virtual void CollectExperimentalResults()=0
virtual void Propagate()=0
int GetNumOfVerts() const
virtual void Initialize()=0
double GetMaxDistance() const
virtual void OutputExperimentalResults() const
set< int > m_destinations
static vector< double > DiffDistanceField(const vector< double > &field1, const vector< double > &field2)
const CFace & Face(int faceIndex) const
vector< EdgePoint > BacktraceIsoline(double val) const
CDistanceApproach(const CRichModel &model, int source)
__int64 m_depthOfResultingTree