diff options
author | Mike Krus <mike.krus@kdab.com> | 2022-05-20 19:31:08 +0100 |
---|---|---|
committer | Mike Krus <mike.krus@kdab.com> | 2022-06-07 08:43:05 +0100 |
commit | 414cef06a5a52d06be4278107b36dca6278d5e3d (patch) | |
tree | 0c98fff7a66cb4f40bf7ddf1cf90d901fafaf692 | |
parent | 563f00a74a50e66d7d7887be4c641ec13a69a6e8 (diff) |
Fix some compile warnings
Mostly unsafe type conversions, and replacing deprecated APIs.
Still can't remove the not-clean-build flags because of bug in qtbase.
Change-Id: I1e305be2cdf52ccd62949c023c999be347810dd5
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
(cherry picked from commit 5729b957a9db727345d6b5f3493791f05f922a88)
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
30 files changed, 151 insertions, 131 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 36ed2165b..fb7804a26 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,7 +30,7 @@ if(WASM OR NOT QT_FEATURE_opengl) endif() # special case begin -# TODO: Fix warnings and remove this +# TODO: Fix warnings and remove this (can't remove now because of QTBUG-99248) set(QT_REPO_NOT_WARNINGS_CLEAN TRUE) # special case end diff --git a/src/3rdparty/assimp/assimp.cmake b/src/3rdparty/assimp/assimp.cmake index 592246a6f..36678cac0 100644 --- a/src/3rdparty/assimp/assimp.cmake +++ b/src/3rdparty/assimp/assimp.cmake @@ -342,4 +342,14 @@ function(qt3d_extend_target_for_assimp target) COMPILE_OPTIONS /bigobj ) + + # Silence warnings in 3rdparty code + if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") + set_source_files_properties(${assimpDir}/src/code/AssetLib/Collada/ColladaParser.cpp PROPERTIES COMPILE_FLAGS "-Wno-strict-aliasing") + set_source_files_properties(${assimpDir}/src/code/Common/ZipArchiveIOSystem.cpp PROPERTIES COMPILE_FLAGS "-Wno-cast-function-type") + endif() + if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + set_source_files_properties(${assimpDir}/src/code/Common/Assimp.cpp PROPERTIES COMPILE_FLAGS "-Wno-ordered-compare-function-pointers") + endif() + endfunction() diff --git a/src/extras/3dtext/qextrudedtextgeometry.cpp b/src/extras/3dtext/qextrudedtextgeometry.cpp index 1c9208ea9..d15070908 100644 --- a/src/extras/3dtext/qextrudedtextgeometry.cpp +++ b/src/extras/3dtext/qextrudedtextgeometry.cpp @@ -130,7 +130,7 @@ TriangulationData triangulate(const QString &text, const QFont &font) result.indices.resize(result.indices.size() + size_t(triangles.indices.size())); memcpy(&result.indices[prevNumIndices], triangles.indices.data(), size_t(triangles.indices.size()) * sizeof(IndexType)); for (size_t i = prevNumIndices, m = result.indices.size(); i < m; ++i) - result.indices[i] += result.vertices.size(); + result.indices[i] += IndexType(result.vertices.size()); // Append new triangles to result.vertices result.vertices.reserve(size_t(triangles.vertices.size()) / 2); @@ -307,7 +307,7 @@ void QExtrudedTextGeometryPrivate::update() TriangulationData data = triangulate(m_text, m_font); - const size_t numVertices = data.vertices.size(); + const IndexType numVertices = IndexType(data.vertices.size()); const size_t numIndices = data.indices.size(); struct Vertex { @@ -327,7 +327,8 @@ void QExtrudedTextGeometryPrivate::update() vertices.push_back({ QVector3D(v.x(), v.y(), m_depth), // vertex QVector3D(0.0f, 0.0f, 1.0f) }); // normal - for (size_t i = 0, verticesIndex = vertices.size(); i < data.outlines.size(); ++i) { + int verticesIndex = int(vertices.size()); + for (size_t i = 0; i < data.outlines.size(); ++i) { const int begin = data.outlines[i].begin; const int end = data.outlines[i].end; const int verticesIndexBegin = verticesIndex; @@ -380,12 +381,12 @@ void QExtrudedTextGeometryPrivate::update() memcpy(data.data(), vertices.data(), vertices.size() * sizeof(Vertex)); m_vertexBuffer->setData(data); - m_positionAttribute->setCount(vertices.size()); - m_normalAttribute->setCount(vertices.size()); + m_positionAttribute->setCount(int(vertices.size())); + m_normalAttribute->setCount(int(vertices.size())); } // resize for following insertions - const int indicesOffset = indices.size(); + const int indicesOffset = int(indices.size()); indices.resize(indices.size() + numIndices * 2); // copy values for back faces @@ -405,7 +406,7 @@ void QExtrudedTextGeometryPrivate::update() memcpy(data.data(), indices.data(), indices.size() * sizeof(IndexType)); m_indexBuffer->setData(data); - m_indexAttribute->setCount(indices.size()); + m_indexAttribute->setCount(uint(indices.size())); } } diff --git a/src/extras/defaults/qmorphphongmaterial.cpp b/src/extras/defaults/qmorphphongmaterial.cpp index e5b94837c..6a91fa698 100644 --- a/src/extras/defaults/qmorphphongmaterial.cpp +++ b/src/extras/defaults/qmorphphongmaterial.cpp @@ -61,9 +61,9 @@ namespace Qt3DExtras { QMorphPhongMaterialPrivate::QMorphPhongMaterialPrivate() : QMaterialPrivate() , m_phongEffect(new QEffect()) - , m_ambientParameter(new QParameter(QStringLiteral("ka"), QColor::fromRgbF(0.05, 0.05, 0.05, 1.0))) - , m_diffuseParameter(new QParameter(QStringLiteral("kd"), QColor::fromRgbF(0.7, 0.7, 0.7, 1.0))) - , m_specularParameter(new QParameter(QStringLiteral("ks"), QColor::fromRgbF(0.01, 0.01, 0.01, 1.0))) + , m_ambientParameter(new QParameter(QStringLiteral("ka"), QColor::fromRgbF(0.05f, 0.05f, 0.05f, 1.0f))) + , m_diffuseParameter(new QParameter(QStringLiteral("kd"), QColor::fromRgbF(0.7f, 0.7f, 0.7f, 1.0f))) + , m_specularParameter(new QParameter(QStringLiteral("ks"), QColor::fromRgbF(0.01f, 0.01f, 0.01f, 1.0f))) , m_shininessParameter(new QParameter(QStringLiteral("shininess"), 150.0f)) , m_interpolatorParameter(new QParameter(QStringLiteral("interpolator"), 0.0f)) , m_phongGL3Technique(new QTechnique()) diff --git a/src/extras/text/qdistancefieldglyphcache.cpp b/src/extras/text/qdistancefieldglyphcache.cpp index d367410c8..6859f74ac 100644 --- a/src/extras/text/qdistancefieldglyphcache.cpp +++ b/src/extras/text/qdistancefieldglyphcache.cpp @@ -63,12 +63,11 @@ namespace Qt3DExtras { class StoredGlyph { public: StoredGlyph() = default; - StoredGlyph(const StoredGlyph &) = default; StoredGlyph(const QRawFont &font, quint32 glyph, bool doubleResolution); - int refCount() const { return m_ref; } + int refCount() const { return int(m_ref); } void ref() { ++m_ref; } - int deref() { return m_ref = std::max(m_ref - 1, (quint32) 0); } + int deref() { m_ref = std::max(m_ref - 1, quint32(0)); return int(m_ref); } bool addToTextureAtlas(QTextureAtlas *atlas); void removeFromTextureAtlas(); diff --git a/src/input/backend/inputhandler.cpp b/src/input/backend/inputhandler.cpp index 20ad24001..8548f24d6 100644 --- a/src/input/backend/inputhandler.cpp +++ b/src/input/backend/inputhandler.cpp @@ -80,6 +80,7 @@ protected: auto mouseEvent = QT_PREPEND_NAMESPACE(QMouseEvent)(QEvent::MouseMove, #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) he->position(), + he->globalPosition(), #else he->pos(), #endif diff --git a/src/plugins/geometryloaders/default/basegeometryloader.cpp b/src/plugins/geometryloaders/default/basegeometryloader.cpp index 33e68db82..1126bb987 100644 --- a/src/plugins/geometryloaders/default/basegeometryloader.cpp +++ b/src/plugins/geometryloaders/default/basegeometryloader.cpp @@ -121,7 +121,7 @@ void BaseGeometryLoader::generateAveragedNormals(const std::vector<QVector3D> &p void BaseGeometryLoader::generateGeometry() { QByteArray bufferBytes; - const size_t count = m_points.size(); + const uint count = uint(m_points.size()); const quint32 elementSize = 3 + (hasTextureCoordinates() ? 2 : 0) + (hasNormals() ? 3 : 0) + (hasTangents() ? 4 : 0); @@ -201,7 +201,7 @@ void BaseGeometryLoader::generateGeometry() auto *indexBuffer = new Qt3DCore::QBuffer(); indexBuffer->setData(indexBytes); - QAttribute *indexAttribute = new QAttribute(indexBuffer, ty, 1, m_indices.size()); + QAttribute *indexAttribute = new QAttribute(indexBuffer, ty, 1, uint(m_indices.size())); indexAttribute->setAttributeType(QAttribute::IndexAttribute); m_geometry->addAttribute(indexAttribute); } diff --git a/src/plugins/geometryloaders/default/stlgeometryloader.cpp b/src/plugins/geometryloaders/default/stlgeometryloader.cpp index a8083eb32..92204b8db 100644 --- a/src/plugins/geometryloaders/default/stlgeometryloader.cpp +++ b/src/plugins/geometryloaders/default/stlgeometryloader.cpp @@ -90,7 +90,7 @@ bool StlGeometryLoader::loadAscii(QIODevice *ioDev) const float y = tokens.floatAt(2); const float z = tokens.floatAt(3); m_points.push_back(QVector3D(x, y, z)); - m_indices.push_back(m_indices.size()); + m_indices.push_back(uint(m_indices.size())); } } } diff --git a/src/plugins/renderers/opengl/debug/imguirenderer.cpp b/src/plugins/renderers/opengl/debug/imguirenderer.cpp index 744060fcf..5b0e277d8 100644 --- a/src/plugins/renderers/opengl/debug/imguirenderer.cpp +++ b/src/plugins/renderers/opengl/debug/imguirenderer.cpp @@ -65,6 +65,10 @@ #define GL_VERTEX_ARRAY_BINDING 0x85B5 #endif +#ifdef _MSC_VER +#pragma warning (disable: 4996) // 'This function or variable may be unsafe': strcpy, strdup, sprintf, vsnprintf, sscanf, fopen +#endif + QT_BEGIN_NAMESPACE using namespace Qt3DRender; diff --git a/src/plugins/renderers/opengl/renderer/glshader.cpp b/src/plugins/renderers/opengl/renderer/glshader.cpp index ce0a9deb0..4437ad018 100644 --- a/src/plugins/renderers/opengl/renderer/glshader.cpp +++ b/src/plugins/renderers/opengl/renderer/glshader.cpp @@ -236,7 +236,7 @@ void GLShader::prepareUniforms(ShaderParameterPack &pack) auto it = values.keys.cbegin(); const auto end = values.keys.cend(); - const int shaderUniformsCount = m_uniforms.size(); + const int shaderUniformsCount = int(m_uniforms.size()); const auto uIt = m_uniforms.cbegin(); while (it != end) { @@ -325,7 +325,7 @@ void GLShader::initializeUniforms(const std::vector<ShaderUniform> &uniformsDesc } m_uniformBlockIndexToShaderUniforms.insert(-1, activeUniformsInDefaultBlock); - m_parameterPackSize += m_standardUniformNamesIds.size() + m_lightUniformsNamesIds.size() + m_uniformsNamesIds.size(); + m_parameterPackSize += int(m_standardUniformNamesIds.size()) + int(m_lightUniformsNamesIds.size()) + int(m_uniformsNamesIds.size()); m_hasActiveVariables |= (m_parameterPackSize > 0); // Sort by ascending order to make contains check faster @@ -343,7 +343,7 @@ void GLShader::initializeAttributes(const std::vector<ShaderAttribute> &attribut m_attributes = attributesDescription; m_attributesNames.resize(attributesDescription.size()); m_attributeNamesIds.resize(attributesDescription.size()); - for (int i = 0, m = attributesDescription.size(); i < m; i++) { + for (int i = 0, m = int(attributesDescription.size()); i < m; i++) { m_attributesNames[i] = attributesDescription[i].m_name; m_attributes[i].m_nameId = StringToInt::lookupId(m_attributesNames[i]); m_attributeNamesIds[i] = m_attributes[i].m_nameId; @@ -357,7 +357,7 @@ void GLShader::initializeUniformBlocks(const std::vector<ShaderUniformBlock> &un m_uniformBlocks = uniformBlockDescription; m_uniformBlockNames.resize(uniformBlockDescription.size()); m_uniformBlockNamesIds.resize(uniformBlockDescription.size()); - for (int i = 0, m = uniformBlockDescription.size(); i < m; ++i) { + for (int i = 0, m = int(uniformBlockDescription.size()); i < m; ++i) { m_uniformBlockNames[i] = m_uniformBlocks[i].m_name; m_uniformBlockNamesIds[i] = StringToInt::lookupId(m_uniformBlockNames[i]); m_uniformBlocks[i].m_nameId = m_uniformBlockNamesIds[i]; @@ -386,7 +386,7 @@ void GLShader::initializeUniformBlocks(const std::vector<ShaderUniformBlock> &un m_uniformBlockIndexToShaderUniforms.insert(uniformBlockDescription[i].m_index, activeUniformsInBlock); } - m_parameterPackSize += m_uniformsNamesIds.size(); + m_parameterPackSize += int(m_uniformsNamesIds.size()); m_hasActiveVariables |= (m_parameterPackSize > 0); // Sort by ascending order to make contains check faster @@ -399,14 +399,14 @@ void GLShader::initializeShaderStorageBlocks(const std::vector<ShaderStorageBloc m_shaderStorageBlockNames.resize(shaderStorageBlockDescription.size()); m_shaderStorageBlockNamesIds.resize(shaderStorageBlockDescription.size()); - for (int i = 0, m = shaderStorageBlockDescription.size(); i < m; ++i) { + for (int i = 0, m = int(shaderStorageBlockDescription.size()); i < m; ++i) { m_shaderStorageBlockNames[i] = m_shaderStorageBlocks[i].m_name; m_shaderStorageBlockNamesIds[i] = StringToInt::lookupId(m_shaderStorageBlockNames[i]); m_shaderStorageBlocks[i].m_nameId =m_shaderStorageBlockNamesIds[i]; qCDebug(Shaders) << "Initializing Shader Storage Block {" << m_shaderStorageBlockNames[i] << "}"; } - m_parameterPackSize += m_shaderStorageBlockNamesIds.size(); + m_parameterPackSize += int(m_shaderStorageBlockNamesIds.size()); m_hasActiveVariables |= (m_parameterPackSize > 0); // Sort by ascending order to make contains check faster diff --git a/src/plugins/renderers/opengl/renderer/renderview.cpp b/src/plugins/renderers/opengl/renderer/renderview.cpp index 055e19b7a..78622366b 100644 --- a/src/plugins/renderers/opengl/renderer/renderview.cpp +++ b/src/plugins/renderers/opengl/renderer/renderview.cpp @@ -1382,7 +1382,7 @@ void RenderView::updateLightUniforms(RenderCommand *command, const Entity *entit break; const Entity *lightEntity = lightSource.entity; const Matrix4x4 lightWorldTransform = *(lightEntity->worldTransform()); - const Vector3D worldPos = lightWorldTransform * Vector3D(0.0f, 0.0f, 0.0f); + const Vector3D worldPos = lightWorldTransform.map(Vector3D(0.0f, 0.0f, 0.0f)); for (Light *light : lightSource.lights) { if (!light->isEnabled()) continue; diff --git a/src/plugins/renderers/rhi/renderer/commandexecuter.cpp b/src/plugins/renderers/rhi/renderer/commandexecuter.cpp index 359e377bc..0a34a35d9 100644 --- a/src/plugins/renderers/rhi/renderer/commandexecuter.cpp +++ b/src/plugins/renderers/rhi/renderer/commandexecuter.cpp @@ -304,7 +304,9 @@ QJsonObject parameterPackToJson(const Render::Rhi::ShaderParameterPack &pack) no } // anonymous -CommandExecuter::CommandExecuter(Render::Rhi::Renderer *renderer) : m_renderer(renderer) { } +CommandExecuter::CommandExecuter(Render::Rhi::Renderer *renderer) : m_renderer(renderer) { + Q_UNUSED(m_renderer) +} // Render thread void CommandExecuter::performAsynchronousCommandExecution( diff --git a/src/plugins/renderers/rhi/renderer/pipelineuboset.cpp b/src/plugins/renderers/rhi/renderer/pipelineuboset.cpp index ce53de1ab..750956b1b 100644 --- a/src/plugins/renderers/rhi/renderer/pipelineuboset.cpp +++ b/src/plugins/renderers/rhi/renderer/pipelineuboset.cpp @@ -220,14 +220,14 @@ std::vector<QRhiCommandBuffer::DynamicOffset> PipelineUBOSet::offsets(const Rend const size_t dToCmd = distanceToCommand(cmd); { // Compute offset relative to the select UBO in the subset - const size_t localOffset = m_commandsUBO.localOffsetInBufferForCommand(dToCmd); - offsets.push_back({1, localOffset}); + const auto localOffset = m_commandsUBO.localOffsetInBufferForCommand(dToCmd); + offsets.push_back({1, quint32(localOffset)}); } for (const MultiUBOBufferWithBindingAndBlockSize &materialUBO : m_materialsUBOs) { // Compute offset relative to the select UBO in the subset const size_t localOffset = materialUBO.localOffsetInBufferForCommand(dToCmd); - offsets.push_back({materialUBO.binding, localOffset}); + offsets.push_back({materialUBO.binding, quint32(localOffset)}); } return offsets; diff --git a/src/plugins/renderers/rhi/renderer/renderview.cpp b/src/plugins/renderers/rhi/renderer/renderview.cpp index cf8d27871..89416e093 100644 --- a/src/plugins/renderers/rhi/renderer/renderview.cpp +++ b/src/plugins/renderers/rhi/renderer/renderview.cpp @@ -641,7 +641,7 @@ void sortByMaterial(EntityRenderCommandDataView *view, int begin, const int end) while (begin != end) { if (begin + 1 < rangeEnd) { std::stable_sort(commandIndices.begin() + begin + 1, commandIndices.begin() + rangeEnd, - [&commands] (const int &iA, const int &iB) { + [&commands] (const size_t &iA, const size_t &iB) { const RenderCommand &a = commands[iA]; const RenderCommand &b = commands[iB]; return a.m_material.handle() < b.m_material.handle(); @@ -1465,7 +1465,7 @@ void RenderView::setShaderAndUniforms(RenderCommand *command, ParameterInfoList break; const Entity *lightEntity = lightSource.entity; const Matrix4x4 lightWorldTransform = *(lightEntity->worldTransform()); - const Vector3D worldPos = lightWorldTransform * Vector3D(0.0f, 0.0f, 0.0f); + const Vector3D worldPos = lightWorldTransform.map(Vector3D(0.0f, 0.0f, 0.0f)); for (Light *light : lightSource.lights) { if (!light->isEnabled()) continue; diff --git a/src/plugins/renderers/rhi/renderer/rhishader.cpp b/src/plugins/renderers/rhi/renderer/rhishader.cpp index 5684e27ce..e76fc2fd3 100644 --- a/src/plugins/renderers/rhi/renderer/rhishader.cpp +++ b/src/plugins/renderers/rhi/renderer/rhishader.cpp @@ -492,7 +492,7 @@ QHash<QString, ShaderUniform> RHIShader::activeUniformsForUniformBlock(int block ShaderUniformBlock RHIShader::uniformBlockForBlockIndex(int blockIndex) const noexcept { - for (int i = 0, m = m_uniformBlocks.size(); i < m; ++i) { + for (size_t i = 0, m = m_uniformBlocks.size(); i < m; ++i) { if (m_uniformBlocks[i].m_index == blockIndex) { return m_uniformBlocks[i]; } @@ -502,7 +502,7 @@ ShaderUniformBlock RHIShader::uniformBlockForBlockIndex(int blockIndex) const no ShaderUniformBlock RHIShader::uniformBlockForBlockNameId(int blockNameId) const noexcept { - for (int i = 0, m = m_uniformBlocks.size(); i < m; ++i) { + for (size_t i = 0, m = m_uniformBlocks.size(); i < m; ++i) { if (m_uniformBlocks[i].m_nameId == blockNameId) { return m_uniformBlocks[i]; } @@ -512,7 +512,7 @@ ShaderUniformBlock RHIShader::uniformBlockForBlockNameId(int blockNameId) const ShaderUniformBlock RHIShader::uniformBlockForBlockName(const QString &blockName) const noexcept { - for (int i = 0, m = m_uniformBlocks.size(); i < m; ++i) { + for (size_t i = 0, m = m_uniformBlocks.size(); i < m; ++i) { if (m_uniformBlocks[i].m_name == blockName) { return m_uniformBlocks[i]; } @@ -539,7 +539,7 @@ ShaderUniformBlock RHIShader::uniformBlockForInstanceNameId(int instanceNameId) ShaderStorageBlock RHIShader::storageBlockForBlockIndex(int blockIndex) const noexcept { - for (int i = 0, m = m_shaderStorageBlockNames.size(); i < m; ++i) { + for (size_t i = 0, m = m_shaderStorageBlockNames.size(); i < m; ++i) { if (m_shaderStorageBlocks[i].m_index == blockIndex) return m_shaderStorageBlocks[i]; } @@ -548,7 +548,7 @@ ShaderStorageBlock RHIShader::storageBlockForBlockIndex(int blockIndex) const no ShaderStorageBlock RHIShader::storageBlockForBlockNameId(int blockNameId) const noexcept { - for (int i = 0, m = m_shaderStorageBlockNames.size(); i < m; ++i) { + for (size_t i = 0, m = m_shaderStorageBlockNames.size(); i < m; ++i) { if (m_shaderStorageBlocks[i].m_nameId == blockNameId) return m_shaderStorageBlocks[i]; } @@ -557,7 +557,7 @@ ShaderStorageBlock RHIShader::storageBlockForBlockNameId(int blockNameId) const ShaderStorageBlock RHIShader::storageBlockForBlockName(const QString &blockName) const noexcept { - for (int i = 0, m = m_shaderStorageBlockNames.size(); i < m; ++i) { + for (size_t i = 0, m = m_shaderStorageBlockNames.size(); i < m; ++i) { if (m_shaderStorageBlocks[i].m_name == blockName) return m_shaderStorageBlocks[i]; } @@ -612,7 +612,7 @@ void RHIShader::initializeAttributes(const std::vector<ShaderAttribute> &attribu m_attributes = attributesDescription; m_attributesNames.resize(attributesDescription.size()); m_attributeNamesIds.resize(attributesDescription.size()); - for (int i = 0, m = attributesDescription.size(); i < m; i++) { + for (size_t i = 0, m = attributesDescription.size(); i < m; i++) { m_attributesNames[i] = attributesDescription[i].m_name; m_attributes[i].m_nameId = StringToInt::lookupId(m_attributesNames[i]); m_attributeNamesIds[i] = m_attributes[i].m_nameId; @@ -625,7 +625,7 @@ void RHIShader::initializeSamplers(const std::vector<ShaderAttribute> &samplersD m_samplers = samplersDescription; m_samplerNames.resize(samplersDescription.size()); m_samplerIds.resize(samplersDescription.size()); - for (int i = 0, m = samplersDescription.size(); i < m; i++) { + for (size_t i = 0, m = samplersDescription.size(); i < m; i++) { m_samplerNames[i] = samplersDescription[i].m_name; m_samplers[i].m_nameId = StringToInt::lookupId(m_samplerNames[i]); m_samplerIds[i] = m_samplers[i].m_nameId; @@ -638,7 +638,7 @@ void RHIShader::initializeImages(const std::vector<ShaderAttribute> &imagesDescr m_images = imagesDescription; m_imageNames.resize(imagesDescription.size()); m_imageIds.resize(imagesDescription.size()); - for (int i = 0, m = imagesDescription.size(); i < m; i++) { + for (size_t i = 0, m = imagesDescription.size(); i < m; i++) { m_imageNames[i] = imagesDescription[i].m_name; m_images[i].m_nameId = StringToInt::lookupId(m_imageNames[i]); m_imageIds[i] = m_images[i].m_nameId; @@ -651,7 +651,7 @@ void RHIShader::initializeUniformBlocks(const std::vector<ShaderUniformBlock> &u m_uniformBlocks = uniformBlockDescription; m_uniformBlockNames.resize(uniformBlockDescription.size()); m_uniformBlockNamesIds.resize(uniformBlockDescription.size()); - for (int i = 0, m = uniformBlockDescription.size(); i < m; ++i) { + for (size_t i = 0, m = uniformBlockDescription.size(); i < m; ++i) { m_uniformBlockNames[i] = m_uniformBlocks[i].m_name; m_uniformBlockNamesIds[i] = StringToInt::lookupId(m_uniformBlockNames[i]); m_uniformBlocks[i].m_nameId = m_uniformBlockNamesIds[i]; @@ -692,7 +692,7 @@ void RHIShader::initializeShaderStorageBlocks( m_shaderStorageBlockNames.resize(shaderStorageBlockDescription.size()); m_shaderStorageBlockNamesIds.resize(shaderStorageBlockDescription.size()); - for (int i = 0, m = shaderStorageBlockDescription.size(); i < m; ++i) { + for (size_t i = 0, m = shaderStorageBlockDescription.size(); i < m; ++i) { m_shaderStorageBlockNames[i] = m_shaderStorageBlocks[i].m_name; m_shaderStorageBlockNamesIds[i] = StringToInt::lookupId(m_shaderStorageBlockNames[i]); m_shaderStorageBlocks[i].m_nameId = m_shaderStorageBlockNamesIds[i]; diff --git a/src/plugins/renderers/rhi/renderer/shaderparameterpack.cpp b/src/plugins/renderers/rhi/renderer/shaderparameterpack.cpp index 46f6480e4..d7f986981 100644 --- a/src/plugins/renderers/rhi/renderer/shaderparameterpack.cpp +++ b/src/plugins/renderers/rhi/renderer/shaderparameterpack.cpp @@ -86,7 +86,7 @@ void ShaderParameterPack::setTexture(const int glslNameId, int uniformArrayIndex void ShaderParameterPack::setImage(const int glslNameId, int uniformArrayIndex, Qt3DCore::QNodeId id) { - for (int i=0, m = m_images.size(); i < m; ++i) { + for (size_t i=0, m = m_images.size(); i < m; ++i) { if (m_images[i].glslNameId != glslNameId || m_images[i].uniformArrayIndex != uniformArrayIndex) continue; diff --git a/src/quick3d/quick3d/qt3dquickvaluetypes.cpp b/src/quick3d/quick3d/qt3dquickvaluetypes.cpp index a4084fec3..8792c757d 100644 --- a/src/quick3d/quick3d/qt3dquickvaluetypes.cpp +++ b/src/quick3d/quick3d/qt3dquickvaluetypes.cpp @@ -302,7 +302,7 @@ QVector4D QQuick3DMatrix4x4ValueType::times(const QVector4D &vec) const QVector3D QQuick3DMatrix4x4ValueType::times(const QVector3D &vec) const { - return v * vec; + return v.map(vec); } QMatrix4x4 QQuick3DMatrix4x4ValueType::times(qreal factor) const @@ -422,7 +422,7 @@ qreal QQuick3DVector3DValueType::dotProduct(const QVector3D &vec) const QVector3D QQuick3DVector3DValueType::times(const QMatrix4x4 &m) const { - return v * m; + return (QVector4D(v, 1.f) * m).toVector3DAffine(); } QVector3D QQuick3DVector3DValueType::times(const QVector3D &vec) const diff --git a/src/render/backend/triangleboundingvolume.cpp b/src/render/backend/triangleboundingvolume.cpp index c30b41920..77fbe7fd9 100644 --- a/src/render/backend/triangleboundingvolume.cpp +++ b/src/render/backend/triangleboundingvolume.cpp @@ -116,7 +116,7 @@ bool TriangleBoundingVolume::intersects(const RayCasting::QRay3D &ray, Vector3D { float t = 0.0f; Vector3D uvwr; - const float intersected = intersectsSegmentTriangle(ray, m_c, m_b, m_a, uvwr, t); + const bool intersected = intersectsSegmentTriangle(ray, m_c, m_b, m_a, uvwr, t); if (intersected) { if (q != nullptr) @@ -164,9 +164,9 @@ void TriangleBoundingVolume::setC(const Vector3D &c) TriangleBoundingVolume TriangleBoundingVolume::transformed(const Matrix4x4 &mat) const { - const Vector3D tA = mat * m_a; - const Vector3D tB = mat * m_b; - const Vector3D tC = mat * m_c; + const Vector3D tA = mat.map(m_a); + const Vector3D tB = mat.map(m_b); + const Vector3D tC = mat.map(m_c); return TriangleBoundingVolume(id(), tA, tB, tC); } diff --git a/src/render/geometry/gltfskeletonloader.cpp b/src/render/geometry/gltfskeletonloader.cpp index b006d76b2..b60977dc2 100644 --- a/src/render/geometry/gltfskeletonloader.cpp +++ b/src/render/geometry/gltfskeletonloader.cpp @@ -560,7 +560,7 @@ void GLTFSkeletonLoader::setupNodeParentLinks() const Node &node = m_nodes[i]; const std::vector<int> &childNodeIndices = node.childNodeIndices; for (const auto childNodeIndex : childNodeIndices) { - Q_ASSERT(childNodeIndex < m_nodes.size()); + Q_ASSERT(childNodeIndex < int(m_nodes.size())); Node &childNode = m_nodes[size_t(childNodeIndex)]; Q_ASSERT(childNode.parentNodeIndex == -1); childNode.parentNodeIndex = int(i); diff --git a/src/render/jobs/pickboundingvolumejob.cpp b/src/render/jobs/pickboundingvolumejob.cpp index c3e3cb9bf..5ec6dbb39 100644 --- a/src/render/jobs/pickboundingvolumejob.cpp +++ b/src/render/jobs/pickboundingvolumejob.cpp @@ -416,7 +416,7 @@ void PickBoundingVolumeJob::dispatchPickEvents(const QMouseEvent *event, // Send the corresponding event Vector3D localIntersection = hit.m_intersection; if (entity && entity->worldTransform()) - localIntersection = entity->worldTransform()->inverted() * hit.m_intersection; + localIntersection = entity->worldTransform()->inverted().map(hit.m_intersection); QPickEventPtr pickEvent; #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) diff --git a/src/render/jobs/pickboundingvolumeutils.cpp b/src/render/jobs/pickboundingvolumeutils.cpp index 10536c3c2..855cb9ccb 100644 --- a/src/render/jobs/pickboundingvolumeutils.cpp +++ b/src/render/jobs/pickboundingvolumeutils.cpp @@ -209,9 +209,9 @@ private: void TriangleCollisionVisitor::visit(uint andx, const Vector3D &a, uint bndx, const Vector3D &b, uint cndx, const Vector3D &c) { const Matrix4x4 &mat = *m_root->worldTransform(); - const Vector3D tA = mat * a; - const Vector3D tB = mat * b; - const Vector3D tC = mat * c; + const Vector3D tA = mat.map(a); + const Vector3D tB = mat.map(b); + const Vector3D tC = mat.map(c); bool intersected = m_frontFaceRequested && intersectsSegmentTriangle(cndx, tC, bndx, tB, andx, tA); // front facing @@ -273,8 +273,8 @@ private: void LineCollisionVisitor::visit(uint andx, const Vector3D &a, uint bndx, const Vector3D &b) { const Matrix4x4 &mat = *m_root->worldTransform(); - const Vector3D tA = mat * a; - const Vector3D tB = mat * b; + const Vector3D tA = mat.map(a); + const Vector3D tB = mat.map(b); intersectsSegmentSegment(andx, tA, bndx, tB); @@ -398,7 +398,7 @@ private: void PointCollisionVisitor::visit(uint ndx, const Vector3D &p) { const Matrix4x4 &mat = *m_root->worldTransform(); - const Vector3D tP = mat * p; + const Vector3D tP = mat.map(p); Vector3D intersection; float d = pointToRayDistance(tP, intersection); diff --git a/src/render/jobs/raycastingjob.cpp b/src/render/jobs/raycastingjob.cpp index b6ebdad99..8757b68f3 100644 --- a/src/render/jobs/raycastingjob.cpp +++ b/src/render/jobs/raycastingjob.cpp @@ -293,7 +293,7 @@ void RayCastingJob::dispatchHits(RayCaster *rayCaster, const PickingUtils::HitLi Entity *entity = m_manager->renderNodesManager()->lookupResource(sphereHit.m_entityId); Vector3D localIntersection = sphereHit.m_intersection; if (entity && entity->worldTransform()) - localIntersection = entity->worldTransform()->inverted() * localIntersection; + localIntersection = entity->worldTransform()->inverted().map(localIntersection); QRayCasterHit::HitType hitType = QRayCasterHit::EntityHit; switch (sphereHit.m_type) { diff --git a/src/render/jobs/updatelevelofdetailjob.cpp b/src/render/jobs/updatelevelofdetailjob.cpp index b5033a6b7..d4f09cb01 100644 --- a/src/render/jobs/updatelevelofdetailjob.cpp +++ b/src/render/jobs/updatelevelofdetailjob.cpp @@ -120,13 +120,13 @@ private: const QList<qreal> thresholds = lod->thresholds(); Vector3D center(lod->center()); if (lod->hasBoundingVolumeOverride() || entity->worldBoundingVolume() == nullptr) { - center = *entity->worldTransform() * center; + center = entity->worldTransform()->map(center); } else { center = entity->worldBoundingVolume()->center(); } - const Vector3D tcenter = viewMatrix * center; - const float dist = tcenter.length(); + const Vector3D tcenter = viewMatrix.map(center); + const double dist = double(tcenter.length()); const int n = thresholds.size(); for (int i=0; i<n; ++i) { if (dist <= thresholds[i] || i == n -1) { @@ -171,7 +171,7 @@ private: float area = vca.viewport.width() * sideLength * vca.viewport.height() * sideLength; const QRect r = windowViewport(vca.area, vca.viewport); - area = std::sqrt(area * r.width() * r.height()); + area = std::sqrt(area * float(r.width()) * float(r.height())); const int n = thresholds.size(); for (int i = 0; i < n; ++i) { diff --git a/src/render/materialsystem/shaderdata.cpp b/src/render/materialsystem/shaderdata.cpp index f5e194697..30ea64752 100644 --- a/src/render/materialsystem/shaderdata.cpp +++ b/src/render/materialsystem/shaderdata.cpp @@ -224,9 +224,9 @@ QVariant ShaderData::getTransformedProperty(const PropertyValue *v, const Matrix const TransformType transformType = static_cast<TransformType>(transformedValue.value.toInt()); switch (transformType) { case ModelToEye: - return QVariant::fromValue(viewMatrix * m_worldMatrix * Vector3D(v->value.value<QVector3D>())); + return QVariant::fromValue(viewMatrix.map(m_worldMatrix.map(Vector3D(v->value.value<QVector3D>())))); case ModelToWorld: - return QVariant::fromValue(m_worldMatrix * Vector3D(v->value.value<QVector3D>())); + return QVariant::fromValue(m_worldMatrix.map(Vector3D(v->value.value<QVector3D>()))); case ModelToWorldDirection: return QVariant::fromValue(Vector3D(m_worldMatrix * Vector4D(v->value.value<QVector3D>(), 0.0f))); case NoTransform: diff --git a/src/render/picking/pickeventfilter.cpp b/src/render/picking/pickeventfilter.cpp index a41ed6c1e..91aa4206b 100644 --- a/src/render/picking/pickeventfilter.cpp +++ b/src/render/picking/pickeventfilter.cpp @@ -74,6 +74,7 @@ bool PickEventFilter::eventFilter(QObject *obj, QEvent *e) auto mouseEvent = QMouseEvent(QEvent::MouseMove, #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) he->position(), + he->globalPosition(), #else he->pos(), #endif diff --git a/src/render/raycasting/qray3d.cpp b/src/render/raycasting/qray3d.cpp index 18dd9a40a..0d3f839f6 100644 --- a/src/render/raycasting/qray3d.cpp +++ b/src/render/raycasting/qray3d.cpp @@ -177,7 +177,7 @@ Vector3D QRay3D::point(float t) const QRay3D &QRay3D::transform(const Matrix4x4 &matrix) { - m_origin = matrix * m_origin; + m_origin = matrix.map(m_origin); m_direction = matrix.mapVector(m_direction).normalized(); return *this; @@ -185,7 +185,7 @@ QRay3D &QRay3D::transform(const Matrix4x4 &matrix) QRay3D QRay3D::transformed(const Matrix4x4 &matrix) const { - return QRay3D(matrix * m_origin, matrix.mapVector(m_direction).normalized()); + return QRay3D(matrix.map(m_origin), matrix.mapVector(m_direction).normalized()); } bool QRay3D::operator==(const QRay3D &other) const diff --git a/tests/auto/core/matrix4x4_sse/tst_matrix4x4_sse.cpp b/tests/auto/core/matrix4x4_sse/tst_matrix4x4_sse.cpp index a9000a18a..facde2855 100644 --- a/tests/auto/core/matrix4x4_sse/tst_matrix4x4_sse.cpp +++ b/tests/auto/core/matrix4x4_sse/tst_matrix4x4_sse.cpp @@ -28,6 +28,7 @@ #include <QtTest/QTest> #include <Qt3DCore/private/matrix4x4_sse_p.h> +#include <QVector4D> using namespace Qt3DCore; @@ -351,7 +352,7 @@ private Q_SLOTS: const Vector3D resultingVec = mat * vec3; // THEN - QCOMPARE(resultingVec.toQVector3D(), tmpMat * tmpVec3); + QCOMPARE(resultingVec.toQVector3D(), tmpMat.map(tmpVec3)); } void checkVector3DMatrixMultiplication() @@ -369,7 +370,7 @@ private Q_SLOTS: const Vector3D resultingVec = vec3 * mat; // THEN - QCOMPARE(resultingVec.toQVector3D(), tmpVec3 * tmpMat); + QCOMPARE(resultingVec.toQVector3D(), (QVector4D(tmpVec3, 1.f) * tmpMat).toVector3DAffine()); } void checkRows() diff --git a/tests/auto/quick3d/quick3dbuffer/tst_quick3dbuffer.cpp b/tests/auto/quick3d/quick3dbuffer/tst_quick3dbuffer.cpp index 8583bdf7b..1ac74593e 100644 --- a/tests/auto/quick3d/quick3dbuffer/tst_quick3dbuffer.cpp +++ b/tests/auto/quick3d/quick3dbuffer/tst_quick3dbuffer.cpp @@ -70,7 +70,7 @@ private Q_SLOTS: const QVector<QVector3D> dataArray = { QVector3D(327.0f, 350.0f, 355.0f), QVector3D(383.0f, 427.0f, 454.0f) }; - const int bufferByteSize = dataArray.size() * sizeof(QVector3D); + const int bufferByteSize = int(dataArray.size()) * sizeof(QVector3D); const QLatin1String filePath("binary_data.bin"); const bool writingSucceeded = writeBinaryFile(filePath, dataArray.constData(), bufferByteSize); Q_ASSERT(writingSucceeded); diff --git a/tests/auto/render/pickboundingvolumejob/tst_pickboundingvolumejob.cpp b/tests/auto/render/pickboundingvolumejob/tst_pickboundingvolumejob.cpp index df0eab407..62fb53263 100644 --- a/tests/auto/render/pickboundingvolumejob/tst_pickboundingvolumejob.cpp +++ b/tests/auto/render/pickboundingvolumejob/tst_pickboundingvolumejob.cpp @@ -392,7 +392,7 @@ private Q_SLOTS: { // WHEN - auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207., 303.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207., 303.), QPointF(207., 303.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -406,7 +406,7 @@ private Q_SLOTS: { // WHEN - auto event = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(207., 303.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + auto event = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(207., 303.), QPointF(207., 303.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -417,7 +417,7 @@ private Q_SLOTS: { // WHEN - auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(390., 300.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(390., 300.), QPointF(390., 300.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -431,7 +431,7 @@ private Q_SLOTS: { // WHEN - auto event = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(390., 300.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + auto event = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(390., 300.), QPointF(390., 300.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -491,7 +491,7 @@ private Q_SLOTS: QVERIFY(earlyReturn); // WHEN - auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(400., 440.), + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(400., 440.), QPointF(400., 440.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); earlyReturn = !pickBVJob.runHelper(); @@ -540,7 +540,7 @@ private Q_SLOTS: Qt3DRender::Render::PickBoundingVolumeJob pickBVJob; initializePickBoundingVolumeJob(&pickBVJob, test.data()); - auto event = QMouseEvent(QMouseEvent::MouseMove, QPointF(207., 303.), + auto event = QMouseEvent(QMouseEvent::MouseMove, QPointF(207., 303.), QPointF(207., 303.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); @@ -596,7 +596,7 @@ private Q_SLOTS: Qt3DRender::Render::PickBoundingVolumeJob pickBVJob; initializePickBoundingVolumeJob(&pickBVJob, test.data()); - auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207., 303.), + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207., 303.), QPointF(207., 303.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -646,7 +646,7 @@ private Q_SLOTS: { // WHEN - auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207., 303.), + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207., 303.), QPointF(207., 303.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -658,7 +658,7 @@ private Q_SLOTS: { // WHEN - auto event = QMouseEvent(QMouseEvent::MouseMove, QPointF(207., 303.), + auto event = QMouseEvent(QMouseEvent::MouseMove, QPointF(207., 303.), QPointF(207., 303.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -709,7 +709,7 @@ private Q_SLOTS: { // WHEN - auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207., 303.), + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207., 303.), QPointF(207., 303.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -721,7 +721,7 @@ private Q_SLOTS: { // WHEN - auto event = QMouseEvent(QMouseEvent::MouseMove, QPointF(207., 303.), + auto event = QMouseEvent(QMouseEvent::MouseMove, QPointF(207., 303.), QPointF(207., 303.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -771,7 +771,7 @@ private Q_SLOTS: Qt3DRender::Render::PickBoundingVolumeJob pickBVJob; initializePickBoundingVolumeJob(&pickBVJob, test.data()); - auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207., 303.), + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207., 303.), QPointF(207., 303.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); const bool earlyReturn = !pickBVJob.runHelper(); @@ -846,7 +846,7 @@ private Q_SLOTS: QVERIFY(mouseClickedSpy.isValid()); { - auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207.0, 303.0), + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207.0, 303.0), QPointF(207.0, 303.0), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -864,7 +864,7 @@ private Q_SLOTS: { // WHEN -> Move on same object - auto event = QMouseEvent(QMouseEvent::MouseMove, QPointF(207.0, 303.0), + auto event = QMouseEvent(QMouseEvent::MouseMove, QPointF(207.0, 303.0), QPointF(207.0, 303.0), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -882,7 +882,7 @@ private Q_SLOTS: { // WHEN -> Release on object - auto event = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(207.0, 303.0), + auto event = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(207.0, 303.0), QPointF(207.0, 303.0), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -905,10 +905,10 @@ private Q_SLOTS: { // WHEN -> Release outside of object - auto event1 = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207.0, 303.0), + auto event1 = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207.0, 303.0), QPointF(207.0, 303.0), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event1); - auto event2 = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(0.0, 0.0), + auto event2 = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(0.0, 0.0), QPointF(0.0, 0.0), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event2); bool earlyReturn = !pickBVJob.runHelper(); @@ -974,7 +974,7 @@ private Q_SLOTS: initializePickBoundingVolumeJob(&pickBVJob, test.data()); { - auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207.0, 303.0), + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207.0, 303.0), QPointF(207.0, 303.0), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -991,7 +991,7 @@ private Q_SLOTS: { // WHEN -> Releasing out of the viewport - auto event = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(10000.0, 10000.0), + auto event = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(10000.0, 10000.0), QPointF(10000.0, 10000.0), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -1012,10 +1012,11 @@ private Q_SLOTS: { // WHEN -> Releasing out of the viewport - auto event = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(10000.0, 10000.0), + auto event = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(10000.0, 10000.0), QPointF(10000.0, 10000.0), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); + Q_UNUSED(earlyReturn); Qt3DCore::QAspectJobPrivate::get(&pickBVJob)->postFrame(test->aspectManager()); // THEN -> Should have received nothing @@ -1084,7 +1085,7 @@ private Q_SLOTS: initializePickBoundingVolumeJob(&pickBVJob, test.data()); { - auto event = QMouseEvent(QMouseEvent::HoverMove, QPointF(207.0, 303.0), + auto event = QMouseEvent(QMouseEvent::HoverMove, QPointF(207.0, 303.0), QPointF(207.0, 303.0), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -1100,7 +1101,7 @@ private Q_SLOTS: { // WHEN -> HoverMove Out - auto event = QMouseEvent(QEvent::HoverMove, QPointF(20.0, 40.0), + auto event = QMouseEvent(QEvent::HoverMove, QPointF(20.0, 40.0), QPointF(20.0, 40.0), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -1119,10 +1120,10 @@ private Q_SLOTS: // WHEN -> HoverMove In + Pressed other { - auto event1 = QMouseEvent(QEvent::HoverMove, QPointF(207.0, 303.0), + auto event1 = QMouseEvent(QEvent::HoverMove, QPointF(207.0, 303.0), QPointF(207.0, 303.0), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event1); - auto event2 = QMouseEvent(QEvent::MouseButtonPress, QPointF(0.0, 0.0), + auto event2 = QMouseEvent(QEvent::MouseButtonPress, QPointF(0.0, 0.0), QPointF(0.0, 0.0), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event2); bool earlyReturn = !pickBVJob.runHelper(); @@ -1200,7 +1201,7 @@ private Q_SLOTS: initializePickBoundingVolumeJob(&pickBVJob, test.data()); { - auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(400.0, 300.0), + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(400.0, 300.0), QPointF(400.0, 300.0), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -1220,7 +1221,7 @@ private Q_SLOTS: { // WHEN -> Move on same object - auto event = QMouseEvent(QMouseEvent::MouseMove, QPointF(400.0, 300.0), + auto event = QMouseEvent(QMouseEvent::MouseMove, QPointF(400.0, 300.0), QPointF(400.0, 300.0), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -1240,7 +1241,7 @@ private Q_SLOTS: // WHEN -> Release on object { - auto event = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(400.0, 300.0), + auto event = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(400.0, 300.0), QPointF(400.0, 300.0), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -1262,10 +1263,10 @@ private Q_SLOTS: mouseButtonReleasedSpy.clear(); { - auto event1 = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(400., 300.), + auto event1 = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(400., 300.), QPointF(400., 300.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event1); - auto event2 = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(0., 0.), + auto event2 = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(0., 0.), QPointF(0., 0.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event2); bool earlyReturn = !pickBVJob.runHelper(); @@ -1374,7 +1375,7 @@ private Q_SLOTS: initializePickBoundingVolumeJob(&pickBVJob, test.data()); { - auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(320., 303.), + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(320., 303.), QPointF(320., 303.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -1395,7 +1396,7 @@ private Q_SLOTS: { // WHEN -> Move on next object, show stay on previous picker unless all picks are requested - auto event = QMouseEvent(QMouseEvent::MouseMove, QPointF(280., 303.), + auto event = QMouseEvent(QMouseEvent::MouseMove, QPointF(280., 303.), QPointF(280., 303.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -1474,7 +1475,7 @@ private Q_SLOTS: Qt3DRender::Render::PickBoundingVolumeJob pickBVJob; initializePickBoundingVolumeJob(&pickBVJob, test.data()); - auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(400., 300.), + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(400., 300.), QPointF(400., 300.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -1543,7 +1544,7 @@ private Q_SLOTS: initializePickBoundingVolumeJob(&pickBVJob, test.data()); { - auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(280., 300.), + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(280., 300.), QPointF(280., 300.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -1566,7 +1567,7 @@ private Q_SLOTS: backendPicker->setEnabled(true); { - auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(320., 300.), + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(320., 300.), QPointF(320., 300.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -1628,7 +1629,7 @@ private Q_SLOTS: initializePickBoundingVolumeJob(&pickBVJob, test.data()); { - auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(150., 300.), + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(150., 300.), QPointF(150., 300.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -1643,14 +1644,14 @@ private Q_SLOTS: QCOMPARE(mouseButtonPressedSpy1.count(), 1); QCOMPARE(mouseButtonPressedSpy2.count(), 0); - auto event2 = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(150., 300.), + auto event2 = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(150., 300.), QPointF(150., 300.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event2); pickBVJob.runHelper(); } { - auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(450., 300.), + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(450., 300.), QPointF(450., 300.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -1735,7 +1736,7 @@ private Q_SLOTS: // WHEN -> Pressed on object1 in VP1 { - auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(200.0f, 300.0f), + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(200.0, 300.0), QPointF(200.0, 300.0), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -1759,15 +1760,15 @@ private Q_SLOTS: QCOMPARE(mouseButtonPressedSpy4.count(), 0); QCOMPARE(mouseButtonPressedSpy5.count(), 0); - auto event2 = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(200.0f, 300.0f), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + auto event2 = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(200.0, 300.0), QPointF(200.0, 300.0), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event2); pickBVJob.runHelper(); } // WHEN -> Pressed on object2 in VP2 { - auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(541.0f, 183.0f), + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(541.0, 183.0), QPointF(541.0, 183.0), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -1791,7 +1792,7 @@ private Q_SLOTS: QCOMPARE(mouseButtonPressedSpy4.count(), 0); QCOMPARE(mouseButtonPressedSpy5.count(), 0); - auto event2 = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(541.0f, 183.0f), + auto event2 = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(541.0, 183.0), QPointF(541.0, 183.0), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event2); pickBVJob.runHelper(); @@ -1799,7 +1800,7 @@ private Q_SLOTS: // WHEN -> Pressed on object3 in VP1 { - auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(80.0f, 150.0f), + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(80.0, 150.0), QPointF(80.0, 150.0), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -1826,7 +1827,7 @@ private Q_SLOTS: // WHEN -> Pressed on object3 in VP2 { - auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(504.0f, 263.0f), + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(504.0, 263.0), QPointF(504.0, 263.0), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -1853,7 +1854,7 @@ private Q_SLOTS: // WHEN -> Pressed on object4 in VP1 { - auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(160.0f, 431.0f), + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(160.0, 431.0), QPointF(160.0, 431.0), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -1877,7 +1878,7 @@ private Q_SLOTS: QCOMPARE(mouseButtonPressedSpy4.count(), 1); QCOMPARE(mouseButtonPressedSpy5.count(), 0); - auto event2 = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(160.0f, 431.0f), + auto event2 = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(160.0, 431.0), QPointF(160.0, 431.0), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event2); pickBVJob.runHelper(); @@ -1885,7 +1886,7 @@ private Q_SLOTS: // WHEN -> Pressed on object4 in VP2 { - auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(447.0f, 472.0f), + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(447.0, 472.0), QPointF(447.0, 472.0), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -1909,7 +1910,7 @@ private Q_SLOTS: QCOMPARE(mouseButtonPressedSpy4.count(), 2); QCOMPARE(mouseButtonPressedSpy5.count(), 0); - auto event2 = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(447.0f, 472.0f), + auto event2 = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(447.0, 472.0), QPointF(447.0, 472.0), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event2); pickBVJob.runHelper(); @@ -1917,7 +1918,7 @@ private Q_SLOTS: // WHEN -> Pressed on object5 in VP1 { - auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(153.0f, 195.0f), + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(153.0, 195.0), QPointF(153.0, 195.0), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -1941,7 +1942,7 @@ private Q_SLOTS: QCOMPARE(mouseButtonPressedSpy4.count(), 2); QCOMPARE(mouseButtonPressedSpy5.count(), 1); - auto event2 = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(153.0f, 195.0f), + auto event2 = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(153.0, 195.0), QPointF(153.0, 195.0), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event2); pickBVJob.runHelper(); @@ -1959,12 +1960,12 @@ private Q_SLOTS: QMatrix4x4 m; m.rotate(360.f / float(n) * float(j), 0.f, 0.f, 1.f); for (int i=0; i<n; i++) { - const double angle = M_PI * 2. / double(n) * i; - const double x = std::sin(angle) * 10.; - const double z = std::cos(angle) * 10.; + const float angle = float(M_PI) * 2.f / float(n) * float(i); + const float x = std::sin(angle) * 10.f; + const float z = std::cos(angle) * 10.f; QVector3D pos(x, 0.f, z); QVector3D up(0.f, 1.f, 0.f); - QTest::newRow(QString::number(k++).toLatin1().data()) << m * pos << m * up; + QTest::newRow(QString::number(k++).toLatin1().data()) << m.map(pos) << m.map(up); } } } @@ -2025,7 +2026,7 @@ private Q_SLOTS: Qt3DRender::Render::PickBoundingVolumeJob pickBVJob; initializePickBoundingVolumeJob(&pickBVJob, test.data()); - auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(303., 303.), + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(303., 303.), QPointF(303., 303.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -2112,7 +2113,7 @@ private Q_SLOTS: // WHEN -> Pressed on object { - auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(300., 300.), + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(300., 300.), QPointF(300., 300.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -2140,7 +2141,7 @@ private Q_SLOTS: } { - auto event = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(300., 300.), + auto event = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(300., 300.), QPointF(300., 300.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); pickBVJob.runHelper(); @@ -2180,7 +2181,7 @@ private Q_SLOTS: // WHEN -> Pressed on object { - auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(300., 300.), + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(300., 300.), QPointF(300., 300.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); @@ -2208,7 +2209,7 @@ private Q_SLOTS: } { - auto event = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(300., 300.), + auto event = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(300., 300.), QPointF(300., 300.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); pickBVJob.processMouseEvent(nullptr, &event); pickBVJob.runHelper(); @@ -2275,7 +2276,7 @@ private Q_SLOTS: // THEN QCOMPARE(results.size(), 1); - auto vca = results.front(); + const auto &vca = results.front(); QCOMPARE(vca.area, QSize(600, 600)); QCOMPARE(vca.cameraId, camera->id()); QCOMPARE(vca.viewport, QRectF(0., 0., 1., 1.)); diff --git a/tests/auto/render/qmesh/tst_qmesh.cpp b/tests/auto/render/qmesh/tst_qmesh.cpp index 16545046d..1660c32f5 100644 --- a/tests/auto/render/qmesh/tst_qmesh.cpp +++ b/tests/auto/render/qmesh/tst_qmesh.cpp @@ -116,7 +116,7 @@ private Q_SLOTS: Qt3DRender::QMesh mesh; arbiter.setArbiterOnNode(&mesh); - Qt3DCore::QAspectEngine *engine = reinterpret_cast<Qt3DCore::QAspectEngine*>(0xdeadbeef); + Qt3DCore::QAspectEngine *engine = reinterpret_cast<Qt3DCore::QAspectEngine*>(0xdeadbeefL); Qt3DCore::QScene *scene = new Qt3DCore::QScene(engine); Qt3DCore::QNodePrivate *meshd = Qt3DCore::QNodePrivate::get(&mesh); meshd->setScene(scene); @@ -153,7 +153,7 @@ private Q_SLOTS: Qt3DRender::QMesh mesh; arbiter.setArbiterOnNode(&mesh); - Qt3DCore::QAspectEngine *engine = reinterpret_cast<Qt3DCore::QAspectEngine*>(0xdeadbeef); + Qt3DCore::QAspectEngine *engine = reinterpret_cast<Qt3DCore::QAspectEngine*>(0xdeadbeefL); Qt3DCore::QScene *scene = new Qt3DCore::QScene(engine); Qt3DCore::QNodePrivate *meshd = Qt3DCore::QNodePrivate::get(&mesh); meshd->setScene(scene); |