| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Task-number: QTBUG-51497
Change-Id: I0517aead1f2ab004e3b5e053d96561d88feb060c
Reviewed-by: Volker Krause <volker.krause@kdab.com>
|
|
|
|
|
|
|
|
|
| |
This can then be used by the QAspectEngine to create creation changes
at startup and by QNodePrivate to generate creation changes for dynamic
objects at runtime.
Change-Id: Idf13fc249de7238a8c5803634a825bd86bc3c52a
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
Taking care not to do this recursively. One event can take care of
notifying the backend of an entire sub-tree being destroyed.
Change-Id: Iabf849317943b982eebac72e201e117c2f174026
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
While my main intention was to get PropertyChangeHandler a meta object so
its instances can be identified in GammaRay, this turned out to also help
with minimizing template code, as half the methods don't actually depend
on the template argument.
Change-Id: I302a305db8ed0c864338d90c9795bf54155c790b
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: Ie36f6f170b5b627d0ed371bcd1a8dc292e7226b3
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
| |
Change-Id: I4ca133aebad0c088296ab293f95f0a6d76d18395
Task-number: QTBUG-39946
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: Ic4a69123255c33990765ea3601e01914c2d8cb70
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows exploring the loaded subtrees from QML/Javascript code. The
C++ classes are not suitable for this as they lack properties that involve
QML specifics.
The assimp (QML) example is updated to show how to do this (with the help
of some C++ code). Say hello to the pulsating torus and the rotating monkey!
Change-Id: I60401272105df5d72f4b7afebe26a3271e92f19e
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I0450a4d4708af1ccd3d4c8f2ddc5c9a5c9deca27
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I338ece2a9819a7471f1c32b2712857641482b683
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
| |
Change-Id: Id8a12e7b7b4ea43cf75224d4176022a79a4bfe63
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
|
|
|
|
|
|
|
| |
Should allow to easily replace QUuid by a custom quint64 based struct
Change-Id: Ib4ba57efd2e070317aa3417b37ce091f2b4779a0
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QBackendNodeCreatorFunctor added to provide a way to create a backend tree
classes from a frontend one.
Can be readonly / readwrite -> observer / observer + observable
QAbstractAspect now has a registerBackendType to register a
QBackendNodeCreatorFunctor against a frontend type.
QBackendObservable is replaced by this class.
Follow-up commits will add a QBackendNoceCreatorFunctor for each backend class
of the RendererAspect.
Change-Id: I0b4398ce77408b52ffa0ba3dfdd04903cfd6091d
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: Ifd585f5883e446d0569c38219d26ba581455e857
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I16b3d967e1244e3d47bffd36f6284a0e9ef0a89f
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I0a0ebde1c107db8831b596eab1e512a2062979f7
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I68a4a629b36dfef941991e072274b693714f7e24
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: Ia224ebb66ce41b72244d66d384d702a8721369d5
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I57da99c63b41106402b1991e7f2abeceea0680c7
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Entity and EntityNode are back to being the same class. This is ground work
needed to have a QML API based on extending C++ types rather than having two
distincts API subclassing common interfaces.
Note: this patch won't properly compile alone. It should be staged with
follow-up patches.
Change-Id: Icd98c6c687ca06f18056ebd7a2d6555a7ba7ffa3
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Quick3D components for core and renderer have been moved to their own module.
For each module, a QQmlExtensionPlugin has been created and is installed in
qtbase/qml/Qt3D/.
To use the Qml API, 3dquick needs to added in the .pro.
3dquickrenderer can be added if subclassing Quick3D elements defined in
Renderer. Otherwise, appending it is not necessary as the Qml engine will
automatically load the QQmlExtensionPlugin.
Core has no more reference to the QML module. Qt3DRenderer still has
references to the QML module which will be remove in follow up patches.
Change-Id: I0cd5cbd27020c776b9eb8d1548514df2b1321bbd
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Because Node no longer holds QQmlListProperties, Entity which inherited Node
could'nt be used to have nested children in Qml because there was no longer a
data DefaultProperty.
To solve that issue Entity has become an abstract class encapsulating most
what an Entity used to contain. EntityNode is a class bound to be used by
the C++ API and it subclasses Node and Entity. Regarding the Qml API,
Quick3DEntity subclasses Quick3DNode and Entity.
RenderSceneBuilder and NodeVisitor have been slightly modified to work with
those changes but the backend is pretty much the same. The big change is that
Entity is no longer a QObject and no logner inherits Node. That means Node and
Entity have to be used along side on the backend. On the frontend or other
Aspects subclassing EntityNode or Quick3DEntity should be pretty much the same
as subclassing Entity prior this change.
Component classes have not been touched so they cannot contain nested QtQuick2
elements in QML. As Entity and Nodes can hold QtQuick2 Components this isn't a
big issue. Also as the DefaultProperty of each Component subclasses may
differ, keeping them as they are at the moment could make sense.
Note: This patch restored rendering. The code is a bit messy at the
moment but necessary to keep commits small. Follow up patches will clean
things up a bit and move the Qml and C++ API in distinct subprojects.
Change-Id: Ia048812f51bbbd43ec2ee754b5120b7ec3174436
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Qml frontend Entity for Qt3D::Node.
All QQmlListProperty are now in Quick3DNode.
Note : this breaks the rendering as the Qml FrameGraph is defined by
FrameGraphItem elements that inherit Node. As node no longer has
QQmlListProperties and a Default property, FrameGraphItem nodes cannot
be added to the FrameGraph tree.
The follow-up patches will correct that.
Change-Id: Iac8cb89cffca8d604b003d546350bc0afdb1eb0e
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
| |
To be consistent with the quick3d module name and other quick3d elements.
Change-Id: Iaed819e9690a5c516aaadad2b62ecc4f25332853
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
| |
QmlEntity is a subclass of Entity.
It contains a QmlListProperty of Components. It properly
separates the C++ from Qml.
Change-Id: I8004943e3a98fb3211309a38e022be71560f9951
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
Change-Id: Id7a9b4575912239811a4ae527db5ac1e353949fd
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|