Details
-
Technical task
-
Resolution: Done
-
P2: Important
-
None
-
Runtime 1.x: fa481c169209874ee5daace5d672bfe5d50fddbd, fe07e6d8ef7e417cc61c336169361d669f513284; Runtime 2.x: 7d821e7c8ba30cb75b3be3ee4d0723c45d7d2a45
Description
The following behavior APIs (the "questionable" set) are removed in 2.0 since some of these is not currently possible to implement in a manner compatible with 1.1. These should never have been exposed since they are part of an experiment which, as a general rule in Qt, cannot just result in randomly introducing non-future-proof public APIs.
Q_INVOKABLE QVector2D getMousePosition(); -> this is not future-proof in any way, let alone compatible with touch devices Q_INVOKABLE QMatrix4x4 calculateGlobalTransform(const QString &handle); -> we could give the Qt3D global transform but that is always right-handed; calculating a new one with 1.x conventions is not something we want to do; exposing such details is a bad idea at this stage anyway Q_INVOKABLE QVector3D lookAt(const QVector3D &target); Q_INVOKABLE QVector3D matrixToEuler(const QMatrix4x4 &matrix); -> the new engine has no straightforward enablers to implement this Q_INVOKABLE QString getParent(const QString &handle); -> this function is bogus anyway, one can just write "whatever.parent" in handle instead
This breaks the two behavior scripts we ship (and TennisGame of course).
The proposal is to live with this in 2.0 and revisit these when the overall API story gets improved, and remove the two scripts in 2.0.
Attachments
For Gerrit Dashboard: QT3DS-1284 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
228636,3 | Remove broken/unwanted behavior APIs | 2.0 | qt3dstudio/qt3d-runtime | Status: MERGED | +2 | 0 |
229702,6 | Add API functions for behaviors to enable LookAt | 2.0 | qt3dstudio/qt3d-runtime | Status: MERGED | +2 | 0 |
229952,2 | Fix element path solving for behaviors | 2.0 | qt3dstudio/qt3dstudio | Status: MERGED | +2 | 0 |