#include "beam-scoring-problem.hh"
+#include <algorithm>
#include <queue>
#include <set>
-#include <algorithm>
using namespace std;
#include "align-interface.hh"
// Collisions
COLLISION_PENALTY = get_detail (details, ly_symbol2scm ("collision-penalty"), 500);
- COLLISION_DISTANCE = get_detail (details, ly_symbol2scm ("collision-distance"), 0.5);
+ COLLISION_PADDING = get_detail (details, ly_symbol2scm ("collision-padding"), 0.5);
STEM_COLLISION_FACTOR = get_detail (details, ly_symbol2scm ("stem-collision-factor"), 0.1);
}
set<Grob*> stems;
for (vsize i = 0; i < grobs.size (); i++) {
Box b;
-
for (Axis a = X_AXIS; a < NO_AXES; incr (a))
b[a] = grobs[i]->extent(common[a], a);
- Real width = b[X_AXIS].length();
-
- Real width_factor = sqrt(width / staff_space);
+ Real width = b[X_AXIS].length ();
+ Real width_factor = sqrt (width / staff_space);
Direction d = LEFT;
do
beam_y.distance (collision_y[UP]));
Real scale_free =
- max (parameters.COLLISION_DISTANCE - dist, 0.0)/
- parameters.COLLISION_DISTANCE;
+ max (parameters.COLLISION_PADDING - dist, 0.0)/
+ parameters.COLLISION_PADDING;
demerits +=
collisions_[i].base_penalty_ *
pow (scale_free, 3) * parameters.COLLISION_PENALTY;