15 #ifndef COSTCALCULATOR_H    16 #define COSTCALCULATOR_H    44       static int finalizeCandidatesCosts( 
Feats* feat, 
int max_p, RTree<pal::FeaturePart *, double, 2, double> *obstacles, 
double bbx[4], 
double bby[4] );
    86 #endif // COSTCALCULATOR_H static bool candidateSortGrow(const LabelPosition *c1, const LabelPosition *c2)
Sorts label candidates in ascending order of cost. 
 
static void addObstacleCostPenalty(LabelPosition *lp, pal::FeaturePart *obstacle)
Increase candidate's cost according to its collision with passed feature. 
 
static int finalizeCandidatesCosts(Feats *feat, int max_p, RTree< pal::FeaturePart *, double, 2, double > *obstacles, double bbx[4], double bby[4])
Sort candidates by costs, skip the worse ones, evaluate polygon candidates. 
 
For usage in problem solving algorithm. 
 
Main class to handle feature. 
 
static void setPolygonCandidatesCost(int nblp, QList< LabelPosition * > &lPos, RTree< pal::FeaturePart *, double, 2, double > *obstacles, double bbx[4], double bby[4])
 
static void setCandidateCostFromPolygon(LabelPosition *lp, RTree< pal::FeaturePart *, double, 2, double > *obstacles, double bbx[4], double bby[4])
Set cost to the smallest distance between lPos's centroid and a polygon stored in geoetry field...
 
LabelPosition is a candidate feature label position. 
 
static bool candidateSortShrink(const LabelPosition *c1, const LabelPosition *c2)
Sorts label candidates in descending order of cost. 
 
Data structure to compute polygon's candidates costs.