vector4d QML Basic Type
A vector4d type has x, y, z and w attributes, otherwise it is similar to the vector3d type. Please see the documentation about the vector3d type for more information.
To create a vector4d value, specify it as a "x,y,z,w" string, or define the components individually, or compose it with the Qt.vector4d() function.
The vector4d type has the following idempotent functions which can be invoked in QML:
| Function Signature | Description | Example | 
|---|---|---|
| real dotProduct(vector4d other) | Returns the scalar real result of the dot product of thisvector4d with theothervector4d | var a = Qt.vector4d(1,2,3,4); var b = Qt.vector4d(5,6,7,8); var c = a.dotProduct(b); console.log(c); // 70 | 
| vector4d times(matrix4x4 matrix) | Returns the vector4d result of transforming thisvector4d with the 4x4matrixwith the matrix applied post-vector | var a = Qt.vector4d(1,2,3,4); var b = Qt.matrix4x4(4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19); var c = a.times(b); console.log(c.toString()); // QVector4D(120, 130, 140, 150) | 
| vector4d times(vector4d other) | Returns the vector4d result of multiplying thisvector4d with theothervector4d | var a = Qt.vector4d(1,2,3,4); var b = Qt.vector4d(5,6,7,8); var c = a.times(b); console.log(c.toString()); // QVector4D(5, 12, 21, 32) | 
| vector4d times(real factor) | Returns the vector4d result of multiplying thisvector4d with the scalarfactor | var a = Qt.vector4d(1,2,3,4); var b = 4.48; var c = a.times(b); console.log(c.toString()); // QVector3D(4.48, 8.96, 13.44, 17.92) | 
| vector4d plus(vector4d other) | Returns the vector4d result of the addition of thisvector4d with theothervector4d | var a = Qt.vector4d(1,2,3,4); var b = Qt.vector4d(5,6,7,8); var c = a.plus(b); console.log(c.toString()); // QVector4D(6, 8, 10, 12) | 
| vector4d minus(vector4d other) | Returns the vector4d result of the subtraction of othervector4d fromthisvector4d | var a = Qt.vector4d(1,2,3,4); var b = Qt.vector4d(5,6,7,8); var c = a.minus(b); console.log(c.toString()); // QVector4D(-4, -4, -4, -4) | 
| vector4d normalized() | Returns the normalized form of thisvector | var a = Qt.vector4d(1,2,3,4); var b = a.normalized(); console.log(b.toString()); // QVector4D(0.182574, 0.365148, 0.547723, 0.730297) | 
| real length() | Returns the scalar real value of the length of thisvector3d | var a = Qt.vector4d(1,2,3,4); var b = a.length(); console.log(b.toString()); // 5.477225575051661 | 
| vector2d toVector2d() | Returns the vector2d result of converting thisvector4d to a vector2d | var a = Qt.vector4d(1,2,3,4); var b = a.toVector2d(); console.log(b.toString()); // QVector2D(1, 2) | 
| vector3d toVector3d() | Returns the vector3d result of converting thisvector4d to a vector3d | var a = Qt.vector4d(1,2,3,4); var b = a.toVector3d(); console.log(b.toString()); // QVector3D(1, 2, 3) | 
| bool fuzzyEquals(vector4d other, real epsilon) | Returns true if thisvector4d is approximately equal to theothervector4d. The approximation will be true if each attribute ofthisis withinepsilonofother. Note thatepsilonis an optional argument, the defaultepsilonis 0.00001. | var a = Qt.vector4d(1,2,3,4); var b = Qt.vector4d(1.0001, 1.9998, 2.0001, 3.9999); var c = a.fuzzyEquals(b); // default epsilon var d = a.fuzzyEquals(b, 0.005); // supplied epsilon console.log(c + " " + d); // false true | 
This basic type is provided by the QtQuick import.
See also QML Basic Types.