Refactor method VGObject::IsPointOnLineSegment.
--HG-- branch : develop
This commit is contained in:
parent
dd0025456b
commit
f0035e1f65
|
@ -456,21 +456,8 @@ bool VGObject::IsPointOnLineSegment(const QPointF &t, const QPointF &p1, const Q
|
||||||
{
|
{
|
||||||
auto InsideRange = [](qreal p1, qreal p2, qreal t)
|
auto InsideRange = [](qreal p1, qreal p2, qreal t)
|
||||||
{
|
{
|
||||||
if (not ( (p1 <= t && t <= p2) || (p2 <= t && t <= p1) ))
|
return not ( not ((p1 <= t && t <= p2) || (p2 <= t && t <= p1))
|
||||||
{
|
&& not (qAbs(p1 - t) <= accuracyPointOnLine) && not (qAbs(p2 - t) <= accuracyPointOnLine));
|
||||||
if (VFuzzyComparePossibleNulls(p1, p2))
|
|
||||||
{// vertical line or horizontal line
|
|
||||||
if (not (qAbs(p1 - t) <= accuracyPointOnLine))
|
|
||||||
{
|
|
||||||
return false;// point not in range
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (not (qAbs(p1 - t) <= accuracyPointOnLine) && not (qAbs(p2 - t) <= accuracyPointOnLine))
|
|
||||||
{
|
|
||||||
return false;// point not in range
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;// point in range
|
|
||||||
};
|
};
|
||||||
|
|
||||||
if (not InsideRange(p1.x(), p2.x(), t.x()))
|
if (not InsideRange(p1.x(), p2.x(), t.x()))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user