GCC warnings.
--HG-- branch : develop
This commit is contained in:
parent
77aa8e6f0e
commit
b09cad8c42
|
@ -486,8 +486,8 @@ bool VGObject::IsPointOnLineSegment(const QPointF &t, const QPointF &p1, const Q
|
|||
*/
|
||||
bool VGObject::IsPointOnLineviaPDP(const QPointF &t, const QPointF &p1, const QPointF &p2)
|
||||
{
|
||||
const auto p = qAbs(PerpDotProduct(p1, p2, t));
|
||||
const auto e = GetEpsilon(p1, p2);
|
||||
const double p = qAbs(PerpDotProduct(p1, p2, t));
|
||||
const double e = GetEpsilon(p1, p2);
|
||||
// We can't use common "<=" here because of the floating-point accuraccy problem
|
||||
return p < e || VFuzzyComparePossibleNulls(p, e);
|
||||
}
|
||||
|
@ -498,18 +498,9 @@ bool VGObject::IsPointOnLineviaPDP(const QPointF &t, const QPointF &p1, const QP
|
|||
* This is actually the same as the area of the triangle defined by the three points, multiplied by 2.
|
||||
* @return 2 * triangleArea(a,b,c)
|
||||
*/
|
||||
long double VGObject::PerpDotProduct(const QPointF &p1, const QPointF &p2, const QPointF &t)
|
||||
double VGObject::PerpDotProduct(const QPointF &p1, const QPointF &p2, const QPointF &t)
|
||||
{
|
||||
const auto p1x = static_cast<long double>(p1.x());
|
||||
const auto p1y = static_cast<long double>(p1.y());
|
||||
|
||||
const auto p2x = static_cast<long double>(p2.x());
|
||||
const auto p2y = static_cast<long double>(p2.y());
|
||||
|
||||
const auto tx = static_cast<long double>(t.x());
|
||||
const auto ty = static_cast<long double>(t.y());
|
||||
|
||||
return (p1x - tx) * (p2y - ty) - (p1y - ty) * (p2x - tx);
|
||||
return (p1.x() - t.x()) * (p2.y() - t.y()) - (p1.y() - t.y()) * (p2.x() - t.x());
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
@ -522,7 +513,7 @@ long double VGObject::PerpDotProduct(const QPointF &p1, const QPointF &p2, const
|
|||
* line e1=(p1, p2), e.g. the minimal area calucalted with PerpDotProduc() if point still not on the line. This distance
|
||||
* is controled by variable accuracyPointOnLine
|
||||
*/
|
||||
long double VGObject::GetEpsilon(const QPointF &p1, const QPointF &p2)
|
||||
double VGObject::GetEpsilon(const QPointF &p1, const QPointF &p2)
|
||||
{
|
||||
QLineF line(p1, p2);
|
||||
line.setAngle(line.angle() + 90);
|
||||
|
|
|
@ -100,8 +100,8 @@ protected:
|
|||
private:
|
||||
QSharedDataPointer<VGObjectData> d;
|
||||
|
||||
static long double PerpDotProduct(const QPointF &p1, const QPointF &p2, const QPointF &t);
|
||||
static long double GetEpsilon(const QPointF &p1, const QPointF &p2);
|
||||
static double PerpDotProduct(const QPointF &p1, const QPointF &p2, const QPointF &t);
|
||||
static double GetEpsilon(const QPointF &p1, const QPointF &p2);
|
||||
|
||||
static int PointInCircle (const QPointF &p, const QPointF ¢er, qreal radius);
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue
Block a user