diff options
author | Laszlo Agocs <laszlo.agocs@theqtcompany.com> | 2015-08-10 10:17:53 +0200 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@theqtcompany.com> | 2015-08-20 11:59:11 +0000 |
commit | 14bb6fb6d8e1fbde317111b57e42e3a380927d8b (patch) | |
tree | a7d85dd83aa8b72528c053733245df4a5fd5a723 /src/quick3d/quick3d/qt3dquick_global.cpp | |
parent | 9bf2094621e3fba71710f47d7121f1182c3f3337 (diff) |
Create proper Quick extended classes in scene loaders
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>
Diffstat (limited to 'src/quick3d/quick3d/qt3dquick_global.cpp')
-rw-r--r-- | src/quick3d/quick3d/qt3dquick_global.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/quick3d/quick3d/qt3dquick_global.cpp b/src/quick3d/quick3d/qt3dquick_global.cpp index 5fec9a42b..0c90bc169 100644 --- a/src/quick3d/quick3d/qt3dquick_global.cpp +++ b/src/quick3d/quick3d/qt3dquick_global.cpp @@ -35,6 +35,7 @@ ****************************************************************************/ #include "qt3dquick_global_p.h" +#include "qt3dquicknodefactory_p.h" #include <private/qqmlglobal_p.h> #include <private/qt3dquickvaluetypes_p.h> #include <private/qv8engine_p.h> @@ -662,11 +663,17 @@ static Quick3DColorProvider *getColorProvider() return &colorProvider; } -void Quick3D_initializeProviders() +void Quick3D_initialize() { Qt3D::Quick::Quick3DValueTypes::registerValueTypes(); QQml_addValueTypeProvider(getValueTypeProvider()); QQml_setColorProvider(getColorProvider()); + QAbstractNodeFactory::registerNodeFactory(QuickNodeFactory::instance()); +} + +void Quick3D_registerType(const char *className, const char *quickName, int major, int minor) +{ + QuickNodeFactory::instance()->registerType(className, quickName, major, minor); } } // Quick |