Absolute File Name: | /home/qt/qt5_coco/qt5/qtbase/src/gui/math3d/qvector2d.cpp |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||
2 | - | |||||||||||||
3 | QVector2D::QVector2D(const QVector3D& vector) | - | ||||||||||||
4 | { | - | ||||||||||||
5 | xp = vector.xp; | - | ||||||||||||
6 | yp = vector.yp; | - | ||||||||||||
7 | } never executed: end of block | 0 | ||||||||||||
8 | QVector2D::QVector2D(const QVector4D& vector) | - | ||||||||||||
9 | { | - | ||||||||||||
10 | xp = vector.xp; | - | ||||||||||||
11 | yp = vector.yp; | - | ||||||||||||
12 | } never executed: end of block | 0 | ||||||||||||
13 | float QVector2D::length() const | - | ||||||||||||
14 | { | - | ||||||||||||
15 | - | |||||||||||||
16 | double len = double(xp) * double(xp) + | - | ||||||||||||
17 | double(yp) * double(yp); | - | ||||||||||||
18 | return never executed: float(std::sqrt(len));return float(std::sqrt(len)); never executed: return float(std::sqrt(len)); | 0 | ||||||||||||
19 | } | - | ||||||||||||
20 | - | |||||||||||||
21 | - | |||||||||||||
22 | - | |||||||||||||
23 | - | |||||||||||||
24 | - | |||||||||||||
25 | - | |||||||||||||
26 | - | |||||||||||||
27 | float QVector2D::lengthSquared() const | - | ||||||||||||
28 | { | - | ||||||||||||
29 | return never executed: xp * xp + yp * yp;return xp * xp + yp * yp; never executed: return xp * xp + yp * yp; | 0 | ||||||||||||
30 | } | - | ||||||||||||
31 | QVector2D QVector2D::normalized() const | - | ||||||||||||
32 | { | - | ||||||||||||
33 | - | |||||||||||||
34 | double len = double(xp) * double(xp) + | - | ||||||||||||
35 | double(yp) * double(yp); | - | ||||||||||||
36 | if (qFuzzyIsNull(len - 1.0f)
| 0 | ||||||||||||
37 | return never executed: *this;return *this; never executed: return *this; | 0 | ||||||||||||
38 | } else if (!qFuzzyIsNull(len)
| 0 | ||||||||||||
39 | double sqrtLen = std::sqrt(len); | - | ||||||||||||
40 | return never executed: QVector2D(float(double(xp) / sqrtLen), float(double(yp) / sqrtLen));return QVector2D(float(double(xp) / sqrtLen), float(double(yp) / sqrtLen)); never executed: return QVector2D(float(double(xp) / sqrtLen), float(double(yp) / sqrtLen)); | 0 | ||||||||||||
41 | } else { | - | ||||||||||||
42 | return never executed: QVector2D();return QVector2D(); never executed: return QVector2D(); | 0 | ||||||||||||
43 | } | - | ||||||||||||
44 | } | - | ||||||||||||
45 | - | |||||||||||||
46 | - | |||||||||||||
47 | - | |||||||||||||
48 | - | |||||||||||||
49 | - | |||||||||||||
50 | - | |||||||||||||
51 | - | |||||||||||||
52 | void QVector2D::normalize() | - | ||||||||||||
53 | { | - | ||||||||||||
54 | - | |||||||||||||
55 | double len = double(xp) * double(xp) + | - | ||||||||||||
56 | double(yp) * double(yp); | - | ||||||||||||
57 | if (qFuzzyIsNull(len - 1.0f)
| 0 | ||||||||||||
58 | return; never executed: return; | 0 | ||||||||||||
59 | - | |||||||||||||
60 | len = std::sqrt(len); | - | ||||||||||||
61 | - | |||||||||||||
62 | xp = float(double(xp) / len); | - | ||||||||||||
63 | yp = float(double(yp) / len); | - | ||||||||||||
64 | } never executed: end of block | 0 | ||||||||||||
65 | float QVector2D::distanceToPoint(const QVector2D& point) const | - | ||||||||||||
66 | { | - | ||||||||||||
67 | return never executed: (*this - point).length();return (*this - point).length(); never executed: return (*this - point).length(); | 0 | ||||||||||||
68 | } | - | ||||||||||||
69 | float QVector2D::distanceToLine | - | ||||||||||||
70 | (const QVector2D& point, const QVector2D& direction) const | - | ||||||||||||
71 | { | - | ||||||||||||
72 | if (direction.isNull()
| 0 | ||||||||||||
73 | return never executed: (*this - point).length();return (*this - point).length(); never executed: return (*this - point).length(); | 0 | ||||||||||||
74 | QVector2D p = point + dotProduct(*this - point, direction) * direction; | - | ||||||||||||
75 | return never executed: (*this - p).length();return (*this - p).length(); never executed: return (*this - p).length(); | 0 | ||||||||||||
76 | } | - | ||||||||||||
77 | float QVector2D::dotProduct(const QVector2D& v1, const QVector2D& v2) | - | ||||||||||||
78 | { | - | ||||||||||||
79 | return never executed: v1.xp * v2.xp + v1.yp * v2.yp;return v1.xp * v2.xp + v1.yp * v2.yp; never executed: return v1.xp * v2.xp + v1.yp * v2.yp; | 0 | ||||||||||||
80 | } | - | ||||||||||||
81 | QVector3D QVector2D::toVector3D() const | - | ||||||||||||
82 | { | - | ||||||||||||
83 | return never executed: QVector3D(xp, yp, 0.0f);return QVector3D(xp, yp, 0.0f); never executed: return QVector3D(xp, yp, 0.0f); | 0 | ||||||||||||
84 | } | - | ||||||||||||
85 | QVector4D QVector2D::toVector4D() const | - | ||||||||||||
86 | { | - | ||||||||||||
87 | return never executed: QVector4D(xp, yp, 0.0f, 0.0f);return QVector4D(xp, yp, 0.0f, 0.0f); never executed: return QVector4D(xp, yp, 0.0f, 0.0f); | 0 | ||||||||||||
88 | } | - | ||||||||||||
89 | QVector2D::operator QVariant() const | - | ||||||||||||
90 | { | - | ||||||||||||
91 | return never executed: QVariant(QVariant::Vector2D, this);return QVariant(QVariant::Vector2D, this); never executed: return QVariant(QVariant::Vector2D, this); | 0 | ||||||||||||
92 | } | - | ||||||||||||
93 | - | |||||||||||||
94 | - | |||||||||||||
95 | - | |||||||||||||
96 | QDebug operator<<(QDebug dbg, const QVector2D &vector) | - | ||||||||||||
97 | { | - | ||||||||||||
98 | QDebugStateSaver saver(dbg); | - | ||||||||||||
99 | dbg.nospace() << "QVector2D(" << vector.x() << ", " << vector.y() << ')'; | - | ||||||||||||
100 | return never executed: dbg;return dbg; never executed: return dbg; | 0 | ||||||||||||
101 | } | - | ||||||||||||
102 | QDataStream &operator<<(QDataStream &stream, const QVector2D &vector) | - | ||||||||||||
103 | { | - | ||||||||||||
104 | stream << vector.x() << vector.y(); | - | ||||||||||||
105 | return never executed: stream;return stream; never executed: return stream; | 0 | ||||||||||||
106 | } | - | ||||||||||||
107 | QDataStream &operator>>(QDataStream &stream, QVector2D &vector) | - | ||||||||||||
108 | { | - | ||||||||||||
109 | float x, y; | - | ||||||||||||
110 | stream >> x; | - | ||||||||||||
111 | stream >> y; | - | ||||||||||||
112 | vector.setX(x); | - | ||||||||||||
113 | vector.setY(y); | - | ||||||||||||
114 | return never executed: stream;return stream; never executed: return stream; | 0 | ||||||||||||
115 | } | - | ||||||||||||
116 | - | |||||||||||||
117 | - | |||||||||||||
118 | - | |||||||||||||
119 | - | |||||||||||||
120 | - | |||||||||||||
121 | - | |||||||||||||
Switch to Source code | Preprocessed file |