summaryrefslogtreecommitdiffstats
path: root/src/datavisualization
diff options
context:
space:
mode:
authorTuomo Pelkonen <tuomo.pelkonen@gmail.com>2021-01-20 15:18:03 +0200
committerTuomo Pelkonen <tuomo.pelkonen@gmail.com>2021-01-27 13:16:44 +0200
commite2e20c9f1180476193baa32cf7a50252f35f01f3 (patch)
tree54871adbc899181d149eed413570c79b13058074 /src/datavisualization
parentff193e33d80a08ca0c21fdbccc2d63e6b7400d88 (diff)
Add CMake build
Task-number: QTBUG-89299 Change-Id: I5becbf39605e566c3d32cb5e210d974df9de27da Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Diffstat (limited to 'src/datavisualization')
-rw-r--r--src/datavisualization/CMakeLists.txt402
-rw-r--r--src/datavisualization/configure.cmake4
-rw-r--r--src/datavisualization/engine/drawer.cpp3
-rw-r--r--src/datavisualization/engine/engine.pri4
-rw-r--r--src/datavisualization/engine/meshes.qrc33
-rw-r--r--src/datavisualization/engine/shaders.qrc (renamed from src/datavisualization/engine/engine.qrc)31
-rw-r--r--src/datavisualization/input/qtouch3dinputhandler.cpp8
-rw-r--r--src/datavisualization/utils/shaderhelper.cpp7
8 files changed, 454 insertions, 38 deletions
diff --git a/src/datavisualization/CMakeLists.txt b/src/datavisualization/CMakeLists.txt
new file mode 100644
index 00000000..2496aa69
--- /dev/null
+++ b/src/datavisualization/CMakeLists.txt
@@ -0,0 +1,402 @@
+qt_internal_add_module(DataVisualization
+ TARGET_PRODUCT "Qt Data Visualization (Qt $$QT_VERSION)"
+ TARGET_DESCRIPTION "3D Data Visualization component for Qt."
+ SOURCES
+ axis/qabstract3daxis.cpp axis/qabstract3daxis.h axis/qabstract3daxis_p.h
+ axis/qcategory3daxis.cpp axis/qcategory3daxis.h axis/qcategory3daxis_p.h
+ axis/qlogvalue3daxisformatter.cpp axis/qlogvalue3daxisformatter.h axis/qlogvalue3daxisformatter_p.h
+ axis/qvalue3daxis.cpp axis/qvalue3daxis.h axis/qvalue3daxis_p.h
+ axis/qvalue3daxisformatter.cpp axis/qvalue3daxisformatter.h axis/qvalue3daxisformatter_p.h
+ data/abstractitemmodelhandler.cpp data/abstractitemmodelhandler_p.h
+ data/abstractrenderitem.cpp data/abstractrenderitem_p.h
+ data/baritemmodelhandler.cpp data/baritemmodelhandler_p.h
+ data/barrenderitem.cpp data/barrenderitem_p.h
+ data/customrenderitem.cpp data/customrenderitem_p.h
+ data/labelitem.cpp data/labelitem_p.h
+ data/qabstract3dseries.cpp data/qabstract3dseries.h data/qabstract3dseries_p.h
+ data/qabstractdataproxy.cpp data/qabstractdataproxy.h data/qabstractdataproxy_p.h
+ data/qbar3dseries.cpp data/qbar3dseries.h data/qbar3dseries_p.h
+ data/qbardataitem.cpp data/qbardataitem.h data/qbardataitem_p.h
+ data/qbardataproxy.cpp data/qbardataproxy.h data/qbardataproxy_p.h
+ data/qcustom3ditem.cpp data/qcustom3ditem.h data/qcustom3ditem_p.h
+ data/qcustom3dlabel.cpp data/qcustom3dlabel.h data/qcustom3dlabel_p.h
+ data/qcustom3dvolume.cpp data/qcustom3dvolume.h data/qcustom3dvolume_p.h
+ data/qheightmapsurfacedataproxy.cpp data/qheightmapsurfacedataproxy.h data/qheightmapsurfacedataproxy_p.h
+ data/qitemmodelbardataproxy.cpp data/qitemmodelbardataproxy.h data/qitemmodelbardataproxy_p.h
+ data/qitemmodelscatterdataproxy.cpp data/qitemmodelscatterdataproxy.h data/qitemmodelscatterdataproxy_p.h
+ data/qitemmodelsurfacedataproxy.cpp data/qitemmodelsurfacedataproxy.h data/qitemmodelsurfacedataproxy_p.h
+ data/qscatter3dseries.cpp data/qscatter3dseries.h data/qscatter3dseries_p.h
+ data/qscatterdataitem.cpp data/qscatterdataitem.h data/qscatterdataitem_p.h
+ data/qscatterdataproxy.cpp data/qscatterdataproxy.h data/qscatterdataproxy_p.h
+ data/qsurface3dseries.cpp data/qsurface3dseries.h data/qsurface3dseries_p.h
+ data/qsurfacedataitem.cpp data/qsurfacedataitem.h data/qsurfacedataitem_p.h
+ data/qsurfacedataproxy.cpp data/qsurfacedataproxy.h data/qsurfacedataproxy_p.h
+ data/scatteritemmodelhandler.cpp data/scatteritemmodelhandler_p.h
+ data/scatterrenderitem.cpp data/scatterrenderitem_p.h
+ data/surfaceitemmodelhandler.cpp data/surfaceitemmodelhandler_p.h
+ engine/abstract3dcontroller.cpp engine/abstract3dcontroller_p.h
+ engine/abstract3drenderer.cpp engine/abstract3drenderer_p.h
+ engine/axisrendercache.cpp engine/axisrendercache_p.h
+ engine/bars3dcontroller.cpp engine/bars3dcontroller_p.h
+ engine/bars3drenderer.cpp engine/bars3drenderer_p.h
+ engine/barseriesrendercache.cpp engine/barseriesrendercache_p.h
+ engine/drawer.cpp engine/drawer_p.h
+ engine/q3dbars.cpp engine/q3dbars.h engine/q3dbars_p.h
+ engine/q3dcamera.cpp engine/q3dcamera.h engine/q3dcamera_p.h
+ engine/q3dlight.cpp engine/q3dlight.h engine/q3dlight_p.h
+ engine/q3dobject.cpp engine/q3dobject.h engine/q3dobject_p.h
+ engine/q3dscatter.cpp engine/q3dscatter.h engine/q3dscatter_p.h
+ engine/q3dscene.cpp engine/q3dscene.h engine/q3dscene_p.h
+ engine/q3dsurface.cpp engine/q3dsurface.h engine/q3dsurface_p.h
+ engine/qabstract3dgraph.cpp engine/qabstract3dgraph.h engine/qabstract3dgraph_p.h
+ engine/scatter3dcontroller.cpp engine/scatter3dcontroller_p.h
+ engine/scatter3drenderer.cpp engine/scatter3drenderer_p.h
+ engine/scatterseriesrendercache.cpp engine/scatterseriesrendercache_p.h
+ engine/selectionpointer.cpp engine/selectionpointer_p.h
+ engine/seriesrendercache.cpp engine/seriesrendercache_p.h
+ engine/surface3dcontroller.cpp engine/surface3dcontroller_p.h
+ engine/surface3drenderer.cpp engine/surface3drenderer_p.h
+ engine/surfaceseriesrendercache.cpp engine/surfaceseriesrendercache_p.h
+ global/datavisualizationglobal_p.h
+ global/qdatavisualizationglobal.h
+ input/q3dinputhandler.cpp input/q3dinputhandler.h input/q3dinputhandler_p.h
+ input/qabstract3dinputhandler.cpp input/qabstract3dinputhandler.h input/qabstract3dinputhandler_p.h
+ input/qtouch3dinputhandler.cpp input/qtouch3dinputhandler.h input/qtouch3dinputhandler_p.h
+ theme/q3dtheme.cpp theme/q3dtheme.h theme/q3dtheme_p.h
+ theme/thememanager.cpp theme/thememanager_p.h
+ utils/abstractobjecthelper.cpp utils/abstractobjecthelper_p.h
+ utils/camerahelper.cpp utils/camerahelper_p.h
+ utils/meshloader.cpp utils/meshloader_p.h
+ utils/objecthelper.cpp utils/objecthelper_p.h
+ utils/qutils.h
+ utils/scatterobjectbufferhelper.cpp utils/scatterobjectbufferhelper_p.h
+ utils/scatterpointbufferhelper.cpp utils/scatterpointbufferhelper_p.h
+ utils/shaderhelper.cpp utils/shaderhelper_p.h
+ utils/surfaceobject.cpp utils/surfaceobject_p.h
+ utils/texturehelper.cpp utils/texturehelper_p.h
+ utils/utils.cpp utils/utils_p.h
+ utils/vertexindexer.cpp utils/vertexindexer_p.h
+ INCLUDE_DIRECTORIES
+ axis
+ data
+ engine
+ global
+ input
+ theme
+ utils
+ PUBLIC_LIBRARIES
+ Qt::Core
+ Qt::Gui
+ Qt::OpenGL
+ Qt::Qml
+ Qt::Quick
+)
+
+set_source_files_properties("engine/meshes/arrowFlat.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "arrow"
+)
+set_source_files_properties("engine/meshes/arrowSmooth.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "arrowSmooth"
+)
+set_source_files_properties("engine/meshes/background.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "background"
+)
+set_source_files_properties("engine/meshes/backgroundNoFloor.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "backgroundNoFloor"
+)
+set_source_files_properties("engine/meshes/barFilledFlat.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "bevelbarFull"
+)
+set_source_files_properties("engine/meshes/barFilledSmooth.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "bevelbarSmoothFull"
+)
+set_source_files_properties("engine/meshes/barFlat.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "bevelbar"
+)
+set_source_files_properties("engine/meshes/barSmooth.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "bevelbarSmooth"
+)
+set_source_files_properties("engine/meshes/coneFilledFlat.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "coneFull"
+)
+set_source_files_properties("engine/meshes/coneFilledSmooth.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "coneSmoothFull"
+)
+set_source_files_properties("engine/meshes/coneFlat.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "cone"
+)
+set_source_files_properties("engine/meshes/coneSmooth.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "coneSmooth"
+)
+set_source_files_properties("engine/meshes/cubeFilledFlat.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "barFull"
+)
+set_source_files_properties("engine/meshes/cubeFilledSmooth.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "barSmoothFull"
+)
+set_source_files_properties("engine/meshes/cubeFlat.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "bar"
+)
+set_source_files_properties("engine/meshes/cubeSmooth.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "barSmooth"
+)
+set_source_files_properties("engine/meshes/cylinderFilledFlat.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "cylinderFull"
+)
+set_source_files_properties("engine/meshes/cylinderFilledSmooth.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "cylinderSmoothFull"
+)
+set_source_files_properties("engine/meshes/cylinderFlat.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "cylinder"
+)
+set_source_files_properties("engine/meshes/cylinderSmooth.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "cylinderSmooth"
+)
+set_source_files_properties("engine/meshes/minimalFlat.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "minimal"
+)
+set_source_files_properties("engine/meshes/minimalSmooth.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "minimalSmooth"
+)
+set_source_files_properties("engine/meshes/plane.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "plane"
+)
+set_source_files_properties("engine/meshes/pyramidFilledFlat.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "pyramidFull"
+)
+set_source_files_properties("engine/meshes/pyramidFilledSmooth.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "pyramidSmoothFull"
+)
+set_source_files_properties("engine/meshes/pyramidFlat.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "pyramid"
+)
+set_source_files_properties("engine/meshes/pyramidSmooth.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "pyramidSmooth"
+)
+set_source_files_properties("engine/meshes/sphere.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "sphere"
+)
+set_source_files_properties("engine/meshes/sphereSmooth.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "sphereSmooth"
+)
+set(mesh_resource_files
+ "arrowFlat.obj"
+ "arrowSmooth.obj"
+ "background.obj"
+ "backgroundNoFloor.obj"
+ "barFilledFlat.obj"
+ "barFilledSmooth.obj"
+ "barFlat.obj"
+ "barSmooth.obj"
+ "coneFilledFlat.obj"
+ "coneFilledSmooth.obj"
+ "coneFlat.obj"
+ "coneSmooth.obj"
+ "cubeFilledFlat.obj"
+ "cubeFilledSmooth.obj"
+ "cubeFlat.obj"
+ "cubeSmooth.obj"
+ "cylinderFilledFlat.obj"
+ "cylinderFilledSmooth.obj"
+ "cylinderFlat.obj"
+ "cylinderSmooth.obj"
+ "minimalFlat.obj"
+ "minimalSmooth.obj"
+ "plane.obj"
+ "pyramidFilledFlat.obj"
+ "pyramidFilledSmooth.obj"
+ "pyramidFlat.obj"
+ "pyramidSmooth.obj"
+ "sphere.obj"
+ "sphereSmooth.obj"
+)
+
+set_source_files_properties("engine/shaders/3dsliceframes.frag"
+ PROPERTIES QT_RESOURCE_ALIAS "fragment3DSliceFrames"
+)
+set_source_files_properties("engine/shaders/colorOnY.frag"
+ PROPERTIES QT_RESOURCE_ALIAS "fragmentColorOnY"
+)
+set_source_files_properties("engine/shaders/colorOnY_ES2.frag"
+ PROPERTIES QT_RESOURCE_ALIAS "fragmentColorOnYES2"
+)
+set_source_files_properties("engine/shaders/default.frag"
+ PROPERTIES QT_RESOURCE_ALIAS "fragment"
+)
+set_source_files_properties("engine/shaders/default.vert"
+ PROPERTIES QT_RESOURCE_ALIAS "vertex"
+)
+set_source_files_properties("engine/shaders/defaultNoMatrices.vert"
+ PROPERTIES QT_RESOURCE_ALIAS "vertexNoMatrices"
+)
+set_source_files_properties("engine/shaders/default_ES2.frag"
+ PROPERTIES QT_RESOURCE_ALIAS "fragmentES2"
+)
+set_source_files_properties("engine/shaders/depth.frag"
+ PROPERTIES QT_RESOURCE_ALIAS "fragmentDepth"
+)
+set_source_files_properties("engine/shaders/depth.vert"
+ PROPERTIES QT_RESOURCE_ALIAS "vertexDepth"
+)
+set_source_files_properties("engine/shaders/label.frag"
+ PROPERTIES QT_RESOURCE_ALIAS "fragmentLabel"
+)
+set_source_files_properties("engine/shaders/label.vert"
+ PROPERTIES QT_RESOURCE_ALIAS "vertexLabel"
+)
+set_source_files_properties("engine/shaders/plainColor.frag"
+ PROPERTIES QT_RESOURCE_ALIAS "fragmentPlainColor"
+)
+set_source_files_properties("engine/shaders/plainColor.vert"
+ PROPERTIES QT_RESOURCE_ALIAS "vertexPlainColor"
+)
+set_source_files_properties("engine/shaders/point_ES2.vert"
+ PROPERTIES QT_RESOURCE_ALIAS "vertexPointES2"
+)
+set_source_files_properties("engine/shaders/point_ES2_UV.vert"
+ PROPERTIES QT_RESOURCE_ALIAS "vertexPointES2_UV"
+)
+set_source_files_properties("engine/shaders/position.vert"
+ PROPERTIES QT_RESOURCE_ALIAS "vertexPosition"
+)
+set_source_files_properties("engine/shaders/positionmap.frag"
+ PROPERTIES QT_RESOURCE_ALIAS "fragmentPositionMap"
+)
+set_source_files_properties("engine/shaders/shadow.frag"
+ PROPERTIES QT_RESOURCE_ALIAS "fragmentShadow"
+)
+set_source_files_properties("engine/shaders/shadow.vert"
+ PROPERTIES QT_RESOURCE_ALIAS "vertexShadow"
+)
+set_source_files_properties("engine/shaders/shadowNoMatrices.vert"
+ PROPERTIES QT_RESOURCE_ALIAS "vertexShadowNoMatrices"
+)
+set_source_files_properties("engine/shaders/shadowNoTex.frag"
+ PROPERTIES QT_RESOURCE_ALIAS "fragmentShadowNoTex"
+)
+set_source_files_properties("engine/shaders/shadowNoTexColorOnY.frag"
+ PROPERTIES QT_RESOURCE_ALIAS "fragmentShadowNoTexColorOnY"
+)
+set_source_files_properties("engine/shaders/surface.frag"
+ PROPERTIES QT_RESOURCE_ALIAS "fragmentSurface"
+)
+set_source_files_properties("engine/shaders/surfaceFlat.frag"
+ PROPERTIES QT_RESOURCE_ALIAS "fragmentSurfaceFlat"
+)
+set_source_files_properties("engine/shaders/surfaceFlat.vert"
+ PROPERTIES QT_RESOURCE_ALIAS "vertexSurfaceFlat"
+)
+set_source_files_properties("engine/shaders/surfaceShadowFlat.frag"
+ PROPERTIES QT_RESOURCE_ALIAS "fragmentSurfaceShadowFlat"
+)
+set_source_files_properties("engine/shaders/surfaceShadowFlat.vert"
+ PROPERTIES QT_RESOURCE_ALIAS "vertexSurfaceShadowFlat"
+)
+set_source_files_properties("engine/shaders/surfaceShadowNoTex.frag"
+ PROPERTIES QT_RESOURCE_ALIAS "fragmentSurfaceShadowNoTex"
+)
+set_source_files_properties("engine/shaders/surfaceTexturedFlat.frag"
+ PROPERTIES QT_RESOURCE_ALIAS "fragmentSurfaceTexturedFlat"
+)
+set_source_files_properties("engine/shaders/surfaceTexturedShadow.frag"
+ PROPERTIES QT_RESOURCE_ALIAS "fragmentTexturedSurfaceShadow"
+)
+set_source_files_properties("engine/shaders/surfaceTexturedShadowFlat.frag"
+ PROPERTIES QT_RESOURCE_ALIAS "fragmentTexturedSurfaceShadowFlat"
+)
+set_source_files_properties("engine/shaders/surface_ES2.frag"
+ PROPERTIES QT_RESOURCE_ALIAS "fragmentSurfaceES2"
+)
+set_source_files_properties("engine/shaders/texture.frag"
+ PROPERTIES QT_RESOURCE_ALIAS "fragmentTexture"
+)
+set_source_files_properties("engine/shaders/texture.vert"
+ PROPERTIES QT_RESOURCE_ALIAS "vertexTexture"
+)
+set_source_files_properties("engine/shaders/texture3d.frag"
+ PROPERTIES QT_RESOURCE_ALIAS "fragmentTexture3D"
+)
+set_source_files_properties("engine/shaders/texture3d.vert"
+ PROPERTIES QT_RESOURCE_ALIAS "vertexTexture3D"
+)
+set_source_files_properties("engine/shaders/texture3dlowdef.frag"
+ PROPERTIES QT_RESOURCE_ALIAS "fragmentTexture3DLowDef"
+)
+set_source_files_properties("engine/shaders/texture3dslice.frag"
+ PROPERTIES QT_RESOURCE_ALIAS "fragmentTexture3DSlice"
+)
+set_source_files_properties("engine/shaders/texture_ES2.frag"
+ PROPERTIES QT_RESOURCE_ALIAS "fragmentTextureES2"
+)
+set(shader_resource_files
+ "3dsliceframes.frag"
+ "colorOnY.frag"
+ "colorOnY_ES2.frag"
+ "default.frag"
+ "default.vert"
+ "defaultNoMatrices.vert"
+ "default_ES2.frag"
+ "depth.frag"
+ "depth.vert"
+ "label.frag"
+ "label.vert"
+ "plainColor.frag"
+ "plainColor.vert"
+ "point_ES2.vert"
+ "point_ES2_UV.vert"
+ "position.vert"
+ "positionmap.frag"
+ "shadow.frag"
+ "shadow.vert"
+ "shadowNoMatrices.vert"
+ "shadowNoTex.frag"
+ "shadowNoTexColorOnY.frag"
+ "surface.frag"
+ "surfaceFlat.frag"
+ "surfaceFlat.vert"
+ "surfaceShadowFlat.frag"
+ "surfaceShadowFlat.vert"
+ "surfaceShadowNoTex.frag"
+ "surfaceTexturedFlat.frag"
+ "surfaceTexturedShadow.frag"
+ "surfaceTexturedShadowFlat.frag"
+ "surface_ES2.frag"
+ "texture.frag"
+ "texture.vert"
+ "texture3d.frag"
+ "texture3d.vert"
+ "texture3dlowdef.frag"
+ "texture3dslice.frag"
+ "texture_ES2.frag"
+)
+
+qt_internal_add_resource(DataVisualization "shaders"
+ PREFIX
+ "/shaders"
+ BASE
+ "engine/shaders"
+ FILES
+ ${shader_resource_files}
+)
+
+qt_internal_add_resource(DataVisualization "meshes"
+ PREFIX
+ "/defaultMeshes"
+ BASE
+ "engine/meshes"
+ FILES
+ ${mesh_resource_files}
+)
+
+qt_internal_extend_target(DataVisualization CONDITION MACOS
+ LIBRARIES
+ Qt::GuiPrivate
+ PUBLIC_LIBRARIES
+ Qt::Gui
+ PRIVATE_MODULE_INTERFACE
+ Qt::GuiPrivate
+)
+qt_internal_add_docs(DataVisualization
+ doc/qtdatavis3d.qdocconf
+)
+
diff --git a/src/datavisualization/configure.cmake b/src/datavisualization/configure.cmake
new file mode 100644
index 00000000..aff14785
--- /dev/null
+++ b/src/datavisualization/configure.cmake
@@ -0,0 +1,4 @@
+qt_extra_definition("QT_VERSION_STR" "\"${PROJECT_VERSION}\"" PUBLIC)
+qt_extra_definition("QT_VERSION_MAJOR" ${PROJECT_VERSION_MAJOR} PUBLIC)
+qt_extra_definition("QT_VERSION_MINOR" ${PROJECT_VERSION_MINOR} PUBLIC)
+qt_extra_definition("QT_VERSION_PATCH" ${PROJECT_VERSION_PATCH} PUBLIC)
diff --git a/src/datavisualization/engine/drawer.cpp b/src/datavisualization/engine/drawer.cpp
index 8d7cdf6e..4e5faada 100644
--- a/src/datavisualization/engine/drawer.cpp
+++ b/src/datavisualization/engine/drawer.cpp
@@ -44,7 +44,8 @@ class StaticLibInitializer
public:
StaticLibInitializer()
{
- Q_INIT_RESOURCE(engine);
+ Q_INIT_RESOURCE(shaders);
+ Q_INIT_RESOURCE(meshes);
}
};
StaticLibInitializer staticLibInitializer;
diff --git a/src/datavisualization/engine/engine.pri b/src/datavisualization/engine/engine.pri
index 60703e96..dd177151 100644
--- a/src/datavisualization/engine/engine.pri
+++ b/src/datavisualization/engine/engine.pri
@@ -54,7 +54,9 @@ SOURCES += $$PWD/qabstract3dgraph.cpp \
$$PWD/barseriesrendercache.cpp \
$$PWD/scatterseriesrendercache.cpp
-RESOURCES += engine/engine.qrc
+RESOURCES += \
+ engine/meshes.qrc \
+ engine/shaders.qrc
OTHER_FILES += $$PWD/meshes/* $$PWD/shaders/*
diff --git a/src/datavisualization/engine/meshes.qrc b/src/datavisualization/engine/meshes.qrc
new file mode 100644
index 00000000..5cca4c41
--- /dev/null
+++ b/src/datavisualization/engine/meshes.qrc
@@ -0,0 +1,33 @@
+<RCC>
+ <qresource prefix="/defaultMeshes">
+ <file alias="cone">meshes/coneFlat.obj</file>
+ <file alias="coneSmooth">meshes/coneSmooth.obj</file>
+ <file alias="pyramid">meshes/pyramidFlat.obj</file>
+ <file alias="pyramidSmooth">meshes/pyramidSmooth.obj</file>
+ <file alias="bar">meshes/cubeFlat.obj</file>
+ <file alias="barSmooth">meshes/cubeSmooth.obj</file>
+ <file alias="cylinder">meshes/cylinderFlat.obj</file>
+ <file alias="cylinderSmooth">meshes/cylinderSmooth.obj</file>
+ <file alias="background">meshes/background.obj</file>
+ <file alias="plane">meshes/plane.obj</file>
+ <file alias="sphere">meshes/sphere.obj</file>
+ <file alias="sphereSmooth">meshes/sphereSmooth.obj</file>
+ <file alias="bevelbar">meshes/barFlat.obj</file>
+ <file alias="bevelbarSmooth">meshes/barSmooth.obj</file>
+ <file alias="coneFull">meshes/coneFilledFlat.obj</file>
+ <file alias="coneSmoothFull">meshes/coneFilledSmooth.obj</file>
+ <file alias="cylinderFull">meshes/cylinderFilledFlat.obj</file>
+ <file alias="cylinderSmoothFull">meshes/cylinderFilledSmooth.obj</file>
+ <file alias="pyramidFull">meshes/pyramidFilledFlat.obj</file>
+ <file alias="pyramidSmoothFull">meshes/pyramidFilledSmooth.obj</file>
+ <file alias="bevelbarFull">meshes/barFilledFlat.obj</file>
+ <file alias="bevelbarSmoothFull">meshes/barFilledSmooth.obj</file>
+ <file alias="barFull">meshes/cubeFilledFlat.obj</file>
+ <file alias="barSmoothFull">meshes/cubeFilledSmooth.obj</file>
+ <file alias="backgroundNoFloor">meshes/backgroundNoFloor.obj</file>
+ <file alias="minimal">meshes/minimalFlat.obj</file>
+ <file alias="minimalSmooth">meshes/minimalSmooth.obj</file>
+ <file alias="arrow">meshes/arrowFlat.obj</file>
+ <file alias="arrowSmooth">meshes/arrowSmooth.obj</file>
+ </qresource>
+</RCC>
diff --git a/src/datavisualization/engine/engine.qrc b/src/datavisualization/engine/shaders.qrc
index 0ef169c9..452f303e 100644
--- a/src/datavisualization/engine/engine.qrc
+++ b/src/datavisualization/engine/shaders.qrc
@@ -1,35 +1,4 @@
<RCC>
- <qresource prefix="/defaultMeshes">
- <file alias="cone">meshes/coneFlat.obj</file>
- <file alias="coneSmooth">meshes/coneSmooth.obj</file>
- <file alias="pyramid">meshes/pyramidFlat.obj</file>
- <file alias="pyramidSmooth">meshes/pyramidSmooth.obj</file>
- <file alias="bar">meshes/cubeFlat.obj</file>
- <file alias="barSmooth">meshes/cubeSmooth.obj</file>
- <file alias="cylinder">meshes/cylinderFlat.obj</file>
- <file alias="cylinderSmooth">meshes/cylinderSmooth.obj</file>
- <file alias="background">meshes/background.obj</file>
- <file alias="plane">meshes/plane.obj</file>
- <file alias="sphere">meshes/sphere.obj</file>
- <file alias="sphereSmooth">meshes/sphereSmooth.obj</file>
- <file alias="bevelbar">meshes/barFlat.obj</file>
- <file alias="bevelbarSmooth">meshes/barSmooth.obj</file>
- <file alias="coneFull">meshes/coneFilledFlat.obj</file>
- <file alias="coneSmoothFull">meshes/coneFilledSmooth.obj</file>
- <file alias="cylinderFull">meshes/cylinderFilledFlat.obj</file>
- <file alias="cylinderSmoothFull">meshes/cylinderFilledSmooth.obj</file>
- <file alias="pyramidFull">meshes/pyramidFilledFlat.obj</file>
- <file alias="pyramidSmoothFull">meshes/pyramidFilledSmooth.obj</file>
- <file alias="bevelbarFull">meshes/barFilledFlat.obj</file>
- <file alias="bevelbarSmoothFull">meshes/barFilledSmooth.obj</file>
- <file alias="barFull">meshes/cubeFilledFlat.obj</file>
- <file alias="barSmoothFull">meshes/cubeFilledSmooth.obj</file>
- <file alias="backgroundNoFloor">meshes/backgroundNoFloor.obj</file>
- <file alias="minimal">meshes/minimalFlat.obj</file>
- <file alias="minimalSmooth">meshes/minimalSmooth.obj</file>
- <file alias="arrow">meshes/arrowFlat.obj</file>
- <file alias="arrowSmooth">meshes/arrowSmooth.obj</file>
- </qresource>
<qresource prefix="/shaders">
<file alias="fragment">shaders/default.frag</file>
<file alias="vertex">shaders/default.vert</file>
diff --git a/src/datavisualization/input/qtouch3dinputhandler.cpp b/src/datavisualization/input/qtouch3dinputhandler.cpp
index 7d5d5d15..ce059dd1 100644
--- a/src/datavisualization/input/qtouch3dinputhandler.cpp
+++ b/src/datavisualization/input/qtouch3dinputhandler.cpp
@@ -119,15 +119,15 @@ QTouch3DInputHandler::~QTouch3DInputHandler()
void QTouch3DInputHandler::touchEvent(QTouchEvent *event)
{
QList<QTouchEvent::TouchPoint> points;
- points = event->touchPoints();
+ points = event->points();
if (!scene()->isSlicingActive() && points.count() == 2) {
d_ptr->m_holdTimer->stop();
- QPointF distance = points.at(0).pos() - points.at(1).pos();
- QPoint midPoint = ((points.at(0).pos() + points.at(1).pos()) / 2.0).toPoint();
+ QPointF distance = points.at(0).position() - points.at(1).position();
+ QPoint midPoint = ((points.at(0).position() + points.at(1).position()) / 2.0).toPoint();
d_ptr->handlePinchZoom(distance.manhattanLength(), midPoint);
} else if (points.count() == 1) {
- QPointF pointerPos = points.at(0).pos();
+ QPointF pointerPos = points.at(0).position();
if (event->type() == QEvent::TouchBegin) {
// Flush input state
d_ptr->m_inputState = QAbstract3DInputHandlerPrivate::InputStateNone;
diff --git a/src/datavisualization/utils/shaderhelper.cpp b/src/datavisualization/utils/shaderhelper.cpp
index ba029be2..113eefd3 100644
--- a/src/datavisualization/utils/shaderhelper.cpp
+++ b/src/datavisualization/utils/shaderhelper.cpp
@@ -113,7 +113,12 @@ void ShaderHelper::initialize()
qFatal("Compiling Vertex shader failed");
if (!m_program->addShaderFromSourceFile(QOpenGLShader::Fragment, m_fragmentShaderFile))
qFatal("Compiling Fragment shader failed");
- m_program->link();
+
+ if (!m_program->link()) {
+ qWarning() << "Unable to link shader program:" <<
+ m_vertexShaderFile << m_fragmentShaderFile;
+ return;
+ }
m_positionAttr = m_program->attributeLocation("vertexPosition_mdl");
m_normalAttr = m_program->attributeLocation("vertexNormal_mdl");