20 for (
int col = 0; col < 3; ++col)
39 if (
m[0][0] != 1.0f ||
m[0][1] != 0.0f ||
m[0][2] != 0.0f)
41 if (
m[1][0] != 0.0f ||
m[1][1] != 1.0f)
43 if (
m[1][2] != 0.0f ||
m[2][0] != 0.0f)
45 if (
m[2][1] != 0.0f ||
m[2][2] != 1.0f)
66 if (
m[0][2] == 0.0f &&
m[1][2] == 0.0f &&
m[2][2] == 1.0f)
94 for (
int col = 0; col < 3; ++col)
131 m0 =
m[0][0] *
other.m[0][0]
133 +
m[2][0] *
other.m[0][2];
134 m1 =
m[0][0] *
other.m[1][0]
136 +
m[2][0] *
other.m[1][2];
137 m[2][0] =
m[0][0] *
other.m[2][0]
139 +
m[2][0] *
other.m[2][2];
143 m0 =
m[0][1] *
other.m[0][0]
145 +
m[2][1] *
other.m[0][2];
146 m1 =
m[0][1] *
other.m[1][0]
148 +
m[2][1] *
other.m[1][2];
149 m[2][1] =
m[0][1] *
other.m[2][0]
151 +
m[2][1] *
other.m[2][2];
155 m0 =
m[0][2] *
other.m[0][0]
157 +
m[2][2] *
other.m[0][2];
158 m1 =
m[0][2] *
other.m[1][0]
160 +
m[2][2] *
other.m[1][2];
161 m[2][2] =
m[0][2] *
other.m[2][0]
163 +
m[2][2] *
other.m[2][2];
199 return m[0][0] ==
other.m[0][0] &&
200 m[0][1] ==
other.m[0][1] &&
201 m[0][2] ==
other.m[0][2] &&
202 m[1][0] ==
other.m[1][0] &&
203 m[1][1] ==
other.m[1][1] &&
204 m[1][2] ==
other.m[1][2] &&
205 m[2][0] ==
other.m[2][0] &&
206 m[2][1] ==
other.m[2][1] &&
212 return m[0][0] !=
other.m[0][0] ||
213 m[0][1] !=
other.m[0][1] ||
214 m[0][2] !=
other.m[0][2] ||
215 m[1][0] !=
other.m[1][0] ||
216 m[1][1] !=
other.m[1][1] ||
217 m[1][2] !=
other.m[1][2] ||
218 m[2][0] !=
other.m[2][0] ||
219 m[2][1] !=
other.m[2][1] ||
227 for (
int col = 0; col < 3; ++col)
235 matrix.m[0][0] = m1.m[0][0] * m2.m[0][0]
236 + m1.m[1][0] * m2.m[0][1]
237 + m1.m[2][0] * m2.m[0][2];
238 matrix.m[0][1] = m1.m[0][1] * m2.m[0][0]
239 + m1.m[1][1] * m2.m[0][1]
240 + m1.m[2][1] * m2.m[0][2];
241 matrix.m[0][2] = m1.m[0][2] * m2.m[0][0]
242 + m1.m[1][2] * m2.m[0][1]
243 + m1.m[2][2] * m2.m[0][2];
245 matrix.m[1][0] = m1.m[0][0] * m2.m[1][0]
246 + m1.m[1][0] * m2.m[1][1]
247 + m1.m[2][0] * m2.m[1][2];
248 matrix.m[1][1] = m1.m[0][1] * m2.m[1][0]
249 + m1.m[1][1] * m2.m[1][1]
250 + m1.m[2][1] * m2.m[1][2];
251 matrix.m[1][2] = m1.m[0][2] * m2.m[1][0]
252 + m1.m[1][2] * m2.m[1][1]
253 + m1.m[2][2] * m2.m[1][2];
255 matrix.m[2][0] = m1.m[0][0] * m2.m[2][0]
256 + m1.m[1][0] * m2.m[2][1]
257 + m1.m[2][0] * m2.m[2][2];
258 matrix.m[2][1] = m1.m[0][1] * m2.m[2][0]
259 + m1.m[1][1] * m2.m[2][1]
260 + m1.m[2][1] * m2.m[2][2];
261 matrix.m[2][2] = m1.m[0][2] * m2.m[2][0]
262 + m1.m[1][2] * m2.m[2][1]
263 + m1.m[2][2] * m2.m[2][2];
269 float xin = point.
x();
270 float yin = point.
y();
271 float x = xin *
matrix.m[0][0] +
274 float y = xin *
matrix.m[1][0] +
277 float w = xin *
matrix.m[2][0] +
289 float xin = point.
x();
290 float yin = point.
y();
291 float x = xin *
matrix.m[0][0] +
294 float y = xin *
matrix.m[0][1] +
297 float w = xin *
matrix.m[0][2] +
311 dbg.nospace() <<
"QOpenVGMatrix:(" <<
Qt::endl
323 for (
int col = 0; col < 3; ++col)
333 for (
int col = 0; col < 4; ++col) {
\inmodule QtCore\reentrant
QOpenVGMatrix & operator*=(const QOpenVGMatrix &other)
QOpenVGMatrix & operator-=(const QOpenVGMatrix &other)
QPointF map(const QPointF &point) const
const float & operator()(int row, int column) const
QOpenVGMatrix transposed() const
bool operator!=(const QOpenVGMatrix &other) const
QOpenVGMatrix & operator+=(const QOpenVGMatrix &other)
QOpenVGMatrix & operator/=(float divisor)
void copyDataTo(float *values) const
bool operator==(const QOpenVGMatrix &other) const
\inmodule QtCore\reentrant
constexpr qreal x() const noexcept
Returns the x coordinate of this point.
constexpr qreal y() const noexcept
Returns the y coordinate of this point.
Combined button and popup list for selecting options.
QTextStream & endl(QTextStream &stream)
Writes '\n' to the stream and flushes the stream.
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
GLenum GLsizei GLsizei GLint * values
[15]
GLint GLint GLint GLint GLint x
[0]
GLfloat GLfloat GLfloat w
[0]
GLenum GLenum GLsizei void GLsizei void * column
GLenum GLenum GLsizei void * row
QOpenVGMatrix operator*(const QOpenVGMatrix &m1, const QOpenVGMatrix &m2)
QDebug operator<<(QDebug dbg, const QOpenVGMatrix &m)
QDataStream & operator>>(QDataStream &stream, QOpenVGMatrix &matrix)
QTextStreamManipulator qSetFieldWidth(int width)