forked from qt-creator/qt-creator
CubicSegment: Avoid iterating double
Change-Id: I7f98247a20228a1087291138394ebc7469ad7b18 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Knud Dollereder <knud.dollereder@qt.io>
This commit is contained in:
@@ -247,15 +247,15 @@ QPointF CubicSegment::sample(double t) const
|
|||||||
double CubicSegment::minimumDistance(const QPointF &pickPoint, double &tReturnValue) const
|
double CubicSegment::minimumDistance(const QPointF &pickPoint, double &tReturnValue) const
|
||||||
{
|
{
|
||||||
double actualMinimumDistance = 10000000.;
|
double actualMinimumDistance = 10000000.;
|
||||||
for (double t = 0.0; t <= 1.0; t += 0.1) {
|
const int tMax = 10;
|
||||||
QPointF samplePoint = sample(t);
|
for (int t = 0; t <= tMax; ++t) {
|
||||||
QPointF distanceVector = pickPoint - samplePoint;
|
const QPointF samplePoint = sample(double(t) / tMax);
|
||||||
|
const QPointF distanceVector = pickPoint - samplePoint;
|
||||||
if (distanceVector.manhattanLength() < actualMinimumDistance) {
|
if (distanceVector.manhattanLength() < actualMinimumDistance) {
|
||||||
actualMinimumDistance = distanceVector.manhattanLength();
|
actualMinimumDistance = distanceVector.manhattanLength();
|
||||||
tReturnValue = t;
|
tReturnValue = t;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return actualMinimumDistance;
|
return actualMinimumDistance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user