Real ff = fit_factor (dz_unit, dz_perp, state.parameters_.close_to_edge_length_,
curve, state.dir_, avoid);
Real ff = fit_factor (dz_unit, dz_perp, state.parameters_.close_to_edge_length_,
curve, state.dir_, avoid);
curve.control_[0] = attachment_[LEFT];
curve.control_[1] = attachment_[LEFT] + dz_perp * height * state.dir_
curve.control_[0] = attachment_[LEFT];
curve.control_[1] = attachment_[LEFT] + dz_perp * height * state.dir_
Real hd = (head_dy)
? (1 / fabs (head_dy) - 1 / state.parameters_.free_head_distance_)
: state.parameters_.head_encompass_penalty_;
Real hd = (head_dy)
? (1 / fabs (head_dy) - 1 / state.parameters_.free_head_distance_)
: state.parameters_.head_encompass_penalty_;
variance_penalty *= state.parameters_.head_slur_distance_factor_;
add_score (variance_penalty, "variance");
variance_penalty *= state.parameters_.head_slur_distance_factor_;
add_score (variance_penalty, "variance");
// we find forbidden attachments
vector<Offset> forbidden_attachments;
for (vsize i = 0; i < state.extra_encompass_infos_.size (); i++)
// we find forbidden attachments
vector<Offset> forbidden_attachments;
for (vsize i = 0; i < state.extra_encompass_infos_.size (); i++)
dist = info.extents_[Y_AXIS].distance (y);
/*
Have to score too: the curve enumeration is limited in its
shape, and may produce curves which collide anyway.
*/
dist = info.extents_[Y_AXIS].distance (y);
/*
Have to score too: the curve enumeration is limited in its
shape, and may produce curves which collide anyway.
*/
dist = state.dir_ * (y - info.extents_[Y_AXIS][state.dir_]);
else
programming_error ("unknown avoidance type");
dist = state.dir_ * (y - info.extents_[Y_AXIS][state.dir_]);
else
programming_error ("unknown avoidance type");
Real penalty = info.penalty_ * peak_around (0.1 * state.parameters_.extra_encompass_free_distance_,
state.parameters_.extra_encompass_free_distance_,
Real penalty = info.penalty_ * peak_around (0.1 * state.parameters_.extra_encompass_free_distance_,
state.parameters_.extra_encompass_free_distance_,
- state.parameters_.max_slope_), 0.0)
* state.parameters_.max_slope_factor_;
- state.parameters_.max_slope_), 0.0)
* state.parameters_.max_slope_factor_;
- state.parameters_.max_slope_), 0.0)
* state.parameters_.max_slope_factor_;
- state.parameters_.max_slope_), 0.0)
* state.parameters_.max_slope_factor_;