18
18
namespace pal
19
19
{
20
20
21
- void CostCalculator::addObstacleCostPenalty (LabelPosition* lp, PointSet* feat)
21
+ void CostCalculator::addObstacleCostPenalty ( LabelPosition* lp, PointSet* feat )
22
22
{
23
23
int n = 0 ;
24
24
double dist;
@@ -69,7 +69,7 @@ namespace pal
69
69
std::cout << " LabelPosition for feat: " << lPos[0 ]->feature ->uid << std::endl;
70
70
#endif
71
71
72
- for ( i = 0 ;i < nblp;i++ )
72
+ for ( i = 0 ; i < nblp; i++ )
73
73
setCandidateCostFromPolygon ( lPos[i], obstacles, bbx, bby );
74
74
75
75
// lPos with big values came fisrts (value = min distance from label to Polygon's Perimeter)
@@ -94,7 +94,7 @@ namespace pal
94
94
95
95
// adjust cost => the best is 0.0001, the worst is 0.0021
96
96
// others are set proportionally between best and worst
97
- for ( i = 0 ;i < max_p;i++ )
97
+ for ( i = 0 ; i < max_p; i++ )
98
98
{
99
99
#ifdef _DEBUG_
100
100
std::cout << " lpos[" << i << " ] = " << lPos[i]->cost ;
@@ -136,7 +136,7 @@ namespace pal
136
136
137
137
delete extent;
138
138
139
- lp->feature ->getBoundingBox (amin, amax);
139
+ lp->feature ->getBoundingBox ( amin, amax );
140
140
141
141
obstacles->Search ( amin, amax, LabelPosition::polygonObstacleCallback, pCost );
142
142
@@ -146,53 +146,53 @@ namespace pal
146
146
}
147
147
148
148
149
- int CostCalculator::finalizeCandidatesCosts ( Feats* feat, int max_p, RTree <PointSet*, double , 2 , double > *obstacles, double bbx[4 ], double bby[4 ] )
150
- {
151
- // If candidates list is smaller than expected
152
- if ( max_p > feat->nblp )
153
- max_p = feat->nblp ;
154
- //
155
- // sort candidates list, best label to worst
156
- sort (( void ** ) feat->lPos , feat->nblp , LabelPosition::costGrow );
157
-
158
- // try to exclude all conflitual labels (good ones have cost < 1 by pruning)
159
- double discrim = 0.0 ;
160
- int stop;
161
- do
162
- {
163
- discrim += 1.0 ;
164
- for ( stop = 0 ;stop < feat->nblp && feat->lPos [stop]->getCost () < discrim;stop++ );
165
- }
166
- while ( stop == 0 && discrim < feat->lPos [feat->nblp -1 ]->getCost () + 2.0 );
149
+ int CostCalculator::finalizeCandidatesCosts ( Feats* feat, int max_p, RTree <PointSet*, double , 2 , double > *obstacles, double bbx[4 ], double bby[4 ] )
150
+ {
151
+ // If candidates list is smaller than expected
152
+ if ( max_p > feat->nblp )
153
+ max_p = feat->nblp ;
154
+ //
155
+ // sort candidates list, best label to worst
156
+ sort (( void ** ) feat->lPos , feat->nblp , LabelPosition::costGrow );
157
+
158
+ // try to exclude all conflitual labels (good ones have cost < 1 by pruning)
159
+ double discrim = 0.0 ;
160
+ int stop;
161
+ do
162
+ {
163
+ discrim += 1.0 ;
164
+ for ( stop = 0 ; stop < feat->nblp && feat->lPos [stop]->getCost () < discrim; stop++ );
165
+ }
166
+ while ( stop == 0 && discrim < feat->lPos [feat->nblp -1 ]->getCost () + 2.0 );
167
167
168
- if ( discrim > 1.5 )
169
- {
170
- int k;
171
- for ( k = 0 ;k < stop;k++ )
172
- feat->lPos [k]->setCost ( 0.0021 );
173
- }
168
+ if ( discrim > 1.5 )
169
+ {
170
+ int k;
171
+ for ( k = 0 ; k < stop; k++ )
172
+ feat->lPos [k]->setCost ( 0.0021 );
173
+ }
174
174
175
- if ( max_p > stop )
176
- max_p = stop;
175
+ if ( max_p > stop )
176
+ max_p = stop;
177
177
178
178
#ifdef _DEBUG_FULL_
179
- std::cout << " Nblabel kept for feat " << feat->feature ->uid << " /" << feat->feature ->layer ->name << " : " << max_p << " /" << feat->nblp << std::endl;
179
+ std::cout << " Nblabel kept for feat " << feat->feature ->uid << " /" << feat->feature ->layer ->name << " : " << max_p << " /" << feat->nblp << std::endl;
180
180
#endif
181
181
182
- // Sets costs for candidates of polygon
182
+ // Sets costs for candidates of polygon
183
183
184
- if ( feat->feature ->getGeosType () == GEOS_POLYGON )
185
- {
186
- int arrangement = feat->feature ->getLayer ()->getArrangement ();
187
- if ( arrangement == P_FREE || arrangement == P_HORIZ )
188
- setPolygonCandidatesCost ( stop, (LabelPosition**) feat->lPos , max_p, obstacles, bbx, bby );
189
- }
184
+ if ( feat->feature ->getGeosType () == GEOS_POLYGON )
185
+ {
186
+ int arrangement = feat->feature ->getLayer ()->getArrangement ();
187
+ if ( arrangement == P_FREE || arrangement == P_HORIZ )
188
+ setPolygonCandidatesCost ( stop, ( LabelPosition** ) feat->lPos , max_p, obstacles, bbx, bby );
189
+ }
190
190
191
- // add size penalty (small lines/polygons get higher cost)
192
- feat->feature ->addSizePenalty (max_p, feat->lPos , bbx, bby);
191
+ // add size penalty (small lines/polygons get higher cost)
192
+ feat->feature ->addSizePenalty ( max_p, feat->lPos , bbx, bby );
193
193
194
- return max_p;
195
- }
194
+ return max_p;
195
+ }
196
196
197
197
198
198
@@ -216,7 +216,7 @@ namespace pal
216
216
*/
217
217
218
218
double alpha = lp->getAlpha ();
219
- for ( i = 0 ;i < 8 ;i++, alpha += M_PI / 4 )
219
+ for ( i = 0 ; i < 8 ; i++, alpha += M_PI / 4 )
220
220
{
221
221
dist[i] = DBL_MAX;
222
222
ok[i] = false ;
@@ -256,7 +256,7 @@ namespace pal
256
256
257
257
int i = ( int )( beta / a45 );
258
258
259
- for ( int j = 0 ;j < 2 ;j++, i = ( i + 1 ) % 8 )
259
+ for ( int j = 0 ; j < 2 ; j++, i = ( i + 1 ) % 8 )
260
260
{
261
261
double rx, ry;
262
262
rx = px - rpy[i] + py;
@@ -284,11 +284,11 @@ namespace pal
284
284
int nbP = ( pset->type == GEOS_POLYGON ? pset->nbPoints : pset->nbPoints - 1 );
285
285
double min_dist = DBL_MAX;
286
286
287
- for ( i = 0 ;i < nbP;i++ )
287
+ for ( i = 0 ; i < nbP; i++ )
288
288
{
289
289
j = ( i + 1 ) % pset->nbPoints ;
290
290
291
- for ( k = 0 ;k < 8 ;k++ )
291
+ for ( k = 0 ; k < 8 ; k++ )
292
292
{
293
293
double ix, iy;
294
294
if ( computeSegIntersection ( px, py, rpx[k], rpy[k], pset->x [i], pset->y [i], pset->x [j], pset->y [j], &ix, &iy ) )
@@ -318,7 +318,7 @@ namespace pal
318
318
{
319
319
int i;
320
320
321
- for ( i = 0 ;i < 8 ;i++ )
321
+ for ( i = 0 ; i < 8 ; i++ )
322
322
{
323
323
/*
324
324
if ( i == 0 || i == 4 ) // horizontal directions
0 commit comments