29 const Point &pointStop)
31 double xProjection, yProjection, projectedDistanceOutsideLine, distanceToLine;
33 projectPointOntoLine(m_posScreen.x(),
41 &projectedDistanceOutsideLine,
45 if (!m_haveMinimumDistanceToLine ||
46 (distanceToLine < m_minimumDistanceToLine) ||
47 (distanceToLine == m_minimumDistanceToLine && projectedDistanceOutsideLine < m_minimumProjectedDistanceOutsideLine)) {
50 if (projectedDistanceOutsideLine == 0) {
58 double distanceProjectionToStart = qSqrt ((xProjection - pointStart.
posScreen().x()) * (xProjection - pointStart.
posScreen().x()) +
59 (yProjection - pointStart.
posScreen().y()) * (yProjection - pointStart.
posScreen().y()));
60 double distanceProjectionToStop = qSqrt ((xProjection - pointStop.
posScreen().x()) * (xProjection - pointStop.
posScreen().x()) +
61 (yProjection - pointStop.
posScreen().y()) * (yProjection - pointStop.
posScreen().y()));
62 if (distanceProjectionToStart < distanceProjectionToStop) {
65 m_ordinal = pointStart.
ordinal() - 0.5;
70 m_ordinal = pointStop.
ordinal() + 0.5;
75 m_haveMinimumDistanceToLine =
true;
76 m_minimumDistanceToLine = distanceToLine;
77 m_minimumProjectedDistanceOutsideLine = projectedDistanceOutsideLine;