11 inline bool isNull()
const;
15 inline void setX(
int x);
16 inline void setY(
int y);
18 inline int manhattanLength()
const;
26 inline QPoint &operator*=(
float factor);
27 inline QPoint &operator*=(
double factor);
28 inline QPoint &operator*=(
int factor);
30 inline QPoint &operator/=(
float divisor);
32 static inline int dotProduct(
const QPoint &p1,
const QPoint &p2)
34 return p1.xp * p2.xp + p1.yp * p2.yp;
37 friend inline bool operator==(
const QPoint &,
const QPoint &);
38 friend inline bool operator!=(
const QPoint &,
const QPoint &);
41 friend inline const QPoint operator*(
const QPoint &,
float);
42 friend inline const QPoint operator*(
float,
const QPoint &);
43 friend inline const QPoint operator*(
const QPoint &,
double);
44 friend inline const QPoint operator*(
double,
const QPoint &);
45 friend inline const QPoint operator*(
const QPoint &,
int);
46 friend inline const QPoint operator*(
int,
const QPoint &);
49 friend inline const QPoint operator/(
const QPoint &,
float);
62 inline QPoint::QPoint() : xp(0), yp(0) {}
64 inline QPoint::QPoint(
int xpos,
int ypos) : xp(xpos), yp(ypos) {}
66 inline bool QPoint::isNull()
const 68 return xp == 0 && yp == 0;
71 inline int QPoint::x()
const 76 inline int QPoint::y()
const 81 inline void QPoint::setX(
int xpos)
86 inline void QPoint::setY(
int ypos)
91 inline int QPoint::manhattanLength()
const 93 return Math::Abs(x()) + Math::Abs(y());
96 inline int &QPoint::rx()
101 inline int &QPoint::ry()
108 xp += p.xp; yp += p.yp;
return *
this;
113 xp -= p.xp; yp -= p.yp;
return *
this;
116 inline QPoint &QPoint::operator*=(
float factor)
121 inline QPoint &QPoint::operator*=(
double factor)
126 inline QPoint &QPoint::operator*=(
int factor)
128 xp = xp*factor; yp = yp*factor;
return *
this;
131 inline bool operator==(
const QPoint &p1,
const QPoint &p2)
133 return p1.xp == p2.xp && p1.yp == p2.yp;
136 inline bool operator!=(
const QPoint &p1,
const QPoint &p2)
138 return p1.xp != p2.xp || p1.yp != p2.yp;
143 return QPoint(p1.xp + p2.xp, p1.yp + p2.yp);
148 return QPoint(p1.xp - p2.xp, p1.yp - p2.yp);
151 inline const QPoint operator*(
const QPoint &p,
float factor)
156 inline const QPoint operator*(
const QPoint &p,
double factor)
161 inline const QPoint operator*(
const QPoint &p,
int factor)
163 return QPoint(p.xp*factor, p.yp*factor);
166 inline const QPoint operator*(
float factor,
const QPoint &p)
171 inline const QPoint operator*(
double factor,
const QPoint &p)
176 inline const QPoint operator*(
int factor,
const QPoint &p)
178 return QPoint(p.xp*factor, p.yp*factor);
188 return QPoint(-p.xp, -p.yp);
191 inline QPoint &QPoint::operator/=(
float c)
208 QPointF(
float xpos,
float ypos);
210 inline float manhattanLength()
const;
212 inline bool isNull()
const;
214 inline float x()
const;
215 inline float y()
const;
216 inline void setX(
float x);
217 inline void setY(
float y);
224 inline QPointF &operator*=(
float c);
225 inline QPointF &operator/=(
float c);
227 static inline float dotProduct(
const QPointF &p1,
const QPointF &p2)
229 return p1.xp * p2.xp + p1.yp * p2.yp;
257 inline QPointF::QPointF() : xp(0), yp(0) { }
259 inline QPointF::QPointF(
float xpos,
float ypos) : xp(xpos), yp(ypos) { }
261 inline QPointF::QPointF(
const QPoint &p) : xp((
float)p.x()), yp((
float)p.y()) { }
263 inline float QPointF::manhattanLength()
const 265 return Math::Abs(x()) + Math::Abs(y());
268 inline bool QPointF::isNull()
const 270 return Math::IsNull(xp) && Math::IsNull(yp);
273 inline float QPointF::x()
const 278 inline float QPointF::y()
const 283 inline void QPointF::setX(
float xpos)
288 inline void QPointF::setY(
float ypos)
293 inline float &QPointF::rx()
298 inline float &QPointF::ry()
312 xp -= p.xp; yp -= p.yp;
return *
this;
315 inline QPointF &QPointF::operator*=(
float c)
317 xp *= c; yp *= c;
return *
this;
322 return Math::FuzzyIsNull(p1.xp - p2.xp) && Math::FuzzyIsNull(p1.yp - p2.yp);
327 return !Math::FuzzyIsNull(p1.xp - p2.xp) || !Math::FuzzyIsNull(p1.yp - p2.yp);
332 return QPointF(p1.xp + p2.xp, p1.yp + p2.yp);
337 return QPointF(p1.xp - p2.xp, p1.yp - p2.yp);
342 return QPointF(p.xp*c, p.yp*c);
347 return QPointF(p.xp*c, p.yp*c);
360 inline QPointF &QPointF::operator/=(
float divisor)
369 return QPointF(p.xp / divisor, p.yp / divisor);
372 inline QPoint QPointF::toPoint()
const static int Round(float fValue)
get the closest integer near the specified float number.
Definition: ParaMath.h:609
Definition: ParaPoint.h:203
different physics engine has different winding order.
Definition: EventBinding.h:32
Definition: ParaPoint.h:5