summaryrefslogtreecommitdiffstats
path: root/src/datavisualizationqml2
diff options
context:
space:
mode:
Diffstat (limited to 'src/datavisualizationqml2')
-rw-r--r--src/datavisualizationqml2/abstractdeclarative.cpp32
-rw-r--r--src/datavisualizationqml2/abstractdeclarative_p.h8
2 files changed, 33 insertions, 7 deletions
diff --git a/src/datavisualizationqml2/abstractdeclarative.cpp b/src/datavisualizationqml2/abstractdeclarative.cpp
index 881a7860..2a02ad24 100644
--- a/src/datavisualizationqml2/abstractdeclarative.cpp
+++ b/src/datavisualizationqml2/abstractdeclarative.cpp
@@ -37,18 +37,18 @@ AbstractDeclarative::AbstractDeclarative(QQuickItem *parent) :
m_controller(0),
m_contextWindow(0),
m_renderMode(RenderIndirect),
-#if defined(QT_OPENGL_ES_2)
+ #if defined(QT_OPENGL_ES_2)
m_samples(0),
-#else
+ #else
m_samples(4),
-#endif
+ #endif
m_windowSamples(0),
m_initialisedSize(0, 0),
-#ifdef USE_SHARED_CONTEXT
+ #ifdef USE_SHARED_CONTEXT
m_context(0),
-#else
+ #else
m_stateStore(0),
-#endif
+ #endif
m_qtContext(0),
m_mainThread(QThread::currentThread()),
m_contextThread(0)
@@ -211,6 +211,26 @@ bool AbstractDeclarative::shadowsSupported() const
return m_controller->shadowsSupported();
}
+int AbstractDeclarative::addCustomItem(const QString &meshFile, const QVector3D &position,
+ const QVector3D &scaling, const QQuaternion &rotation,
+ const QString &textureFile)
+{
+ QImage textureImage;
+ if (!textureFile.isNull())
+ textureImage = QImage(textureFile);
+ return m_controller->addCustomItem(meshFile, position, scaling, rotation, textureImage);
+}
+
+void AbstractDeclarative::removeCustomItemAt(int index)
+{
+ m_controller->deleteCustomItem(index);
+}
+
+void AbstractDeclarative::removeCustomItemAt(const QVector3D &position)
+{
+ m_controller->deleteCustomItem(position);
+}
+
void AbstractDeclarative::setSharedController(Abstract3DController *controller)
{
Q_ASSERT(controller);
diff --git a/src/datavisualizationqml2/abstractdeclarative_p.h b/src/datavisualizationqml2/abstractdeclarative_p.h
index 8ba86b11..4f73380f 100644
--- a/src/datavisualizationqml2/abstractdeclarative_p.h
+++ b/src/datavisualizationqml2/abstractdeclarative_p.h
@@ -128,7 +128,13 @@ public:
Q_INVOKABLE virtual void clearSelection();
- virtual void geometryChanged(const QRectF & newGeometry, const QRectF & oldGeometry);
+ Q_INVOKABLE virtual int addCustomItem(const QString &meshFile, const QVector3D &position,
+ const QVector3D &scaling, const QQuaternion &rotation,
+ const QString &textureFile = 0);
+ Q_INVOKABLE virtual void removeCustomItemAt(int index);
+ Q_INVOKABLE virtual void removeCustomItemAt(const QVector3D &position);
+
+ virtual void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry);
void setSharedController(Abstract3DController *controller);
// Used to synch up data model from controller to renderer while main thread is locked