summaryrefslogtreecommitdiffstats
path: root/src/core/services
Commit message (Collapse)AuthorAgeFilesLines
* Remove qmake build filesMike Krus2023-03-171-27/+0
| | | | | | | | Except in examples Pick-to: 6.5 Change-Id: I31b06ddfc79f14dde3369518a76d57606daf939f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Remove qsizetype to int narrowing conversionsAurélien Brooke2022-12-211-1/+1
| | | | | | | | Change the variable type from int to qsizetype when receiving qsizetype values. Change-Id: I2adf71e1d2f26b1452fee28890c0f68300f54224 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Port from qAsConst() to std::as_const()Marc Mutz2022-10-202-3/+3
| | | | | | | | | | | | | | | We've been requiring C++17 since Qt 6.0, and our qAsConst use finally starts to bother us (QTBUG-99313), so time to port away from it now. Since qAsConst has exactly the same semantics as std::as_const (down to rvalue treatment, constexpr'ness and noexcept'ness), there's really nothing more to it than a global search-and-replace. Task-number: QTBUG-99313 Change-Id: I1b3c7c4058726c55199fd8ba74b6d6890ad8dd93 Reviewed-by: Mike Krus <mike.krus@kdab.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Qt3DCore: includemocsMike Krus2022-06-227-0/+14
| | | | | | | Task-number: QTBUG-103286 Pick-to: 6.3 6.2 5.15 Change-Id: Ifca1713c5e2f3582788a8f0537621e166bda4492 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Use SPDX license identifiersLucie Gérard2022-06-2222-836/+44
| | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. License files are organized under LICENSES directory. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: I8105424281eed871037fa6c463871ca8829876b5 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Make sure all private headers include at least one otherThiago Macieira2022-03-081-2/+2
| | | | | | | | | | See script in qtbase/util/includeprivate for the rules. Since these files are being touched anyway, I also ran the updatecopyright.pl script too. Change-Id: Ib056b47dde3341ef9a52ffff13ef677e471674b6 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix vS2019 build issuesMike Krus2020-07-201-5/+0
| | | | | | Change-Id: I5af5b180f7b07b885e613c20b84b9904d6906ed5 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Use QList instead of QVector in implementation and docsJarek Kobus2020-07-093-9/+9
| | | | | | | | | Fix some const correctness. Use list-initialization. Task-number: QTBUG-84469 Change-Id: I9c56742581f48f89a3b02e4121fae414117c7a25 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Input Aspect: Dispatch events directlyMike Krus2020-07-012-9/+17
| | | | | | | | | | | | | Rather than accumulating events during a frame, they are now directly delivered to the device handlers synchronously. This removes the need to use jobs for updating the nodes. Updating axis and logical devices remains done using jobs at every frame. Change-Id: I2853a72cfe68201d8a6eb44d37bc64c9f50efd4f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Revert "Replace deprecate QNetworkReply::error() call"Timur Pocheptsov2020-02-241-1/+1
| | | | | | | | | This reverts commit 34cb77c210316dd254a8aa27052fb03223e3f7af. Naming in QProcess is considered to be the correct one and the rule. Change-Id: I75f267b4f8dcc991b0d4945752b48de1b4e5b386 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Replace deprecate QNetworkReply::error() callTimur Pocheptsov2020-01-151-1/+1
| | | | | | | | with QNetworkReply::networkError(). Task-number: QTBUG-80369 Change-Id: I6ab7e6b68b1bad33fc4c410894f6ba62d940255d Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Add commands to dump frame graph and scene graphMike Krus2020-01-091-1/+1
| | | | | | | | prints to the console, also dump the list of paths in the frame graph to help understand render views. Change-Id: Ic4756e09545971b224a239fafc6667b0ca3d4572 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Expand System InformationMike Krus2019-12-182-4/+31
| | | | | | | | | Add methods to: - Reveal folder where trace files are saved in the file browser - Dump the output of commands to the console Change-Id: Iaad76b4db93dbf60df170aa53212a8f4df1b2283 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Make GL profiling a runtime optionMike Krus2019-12-183-11/+51
| | | | | Change-Id: I6cf9007132aa9867fd7046e7e641d849ee141e28 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Move AspectCommandDebugger to system service, activate command executerMike Krus2019-12-173-1/+43
| | | | | | | | | | | - Always compile in AspectCommandDebugger and CommandExecuter - AspectCommandDebugger start when QT3D_COMMAND_SERVER_ENABLED is set - System information service becomes entry point for commands from the debugger - Added commands to enable and disable tracing Change-Id: Ic0d7fe72fa8a118a43ca348ca4284595a71827a4 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Implement getting list of aspects from system information classMike Krus2019-12-135-14/+43
| | | | | Change-Id: I999dfbb5c139ff8af2b1de9255f76ac132ae2dc0 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Make tracing a runtime optionMike Krus2019-12-135-28/+333
| | | | | | | | | | | - Moved most of the code QSystemInformationService (private class for now) - Tracing can be enabled by setting QT3D_TRACE_ENABLED or calling QSystemInformationService::setTraceEnabled(bool) - Introduced QTaskLogger class to easy logging (RAII) Change-Id: I2a3e08e4371fcee3e9ef3cf575725f13f57d1a94 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Remove the Aspect ThreadPaul Lemire2019-08-071-2/+2
| | | | | | | | | | | | | | | | | | This now makes the Qt3D simulation loop run in the Main Thread. In theory having the Aspect Thread allowed Qt3D to continue rendering even if the main thread got locked. In practice however this leads to a large amount of complexities in the Qt3D implementations and provides little value as in most cases blocking the main thread would block animations driven by frontend nodes. Removing the Aspect Thread will allow to remove the backend tree copies each aspect had to make which will allow to reduce memory. In addition, getting direct access to frontend nodes, will now be possible without introducing races which should allow to make more optimizations and reduce latencies on some operations. Change-Id: I80e4cd6427de06ddedfa1bb50d40710b91867b24 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* QEventFilterService: these aren't the algorithms you're looking forMarc Mutz2019-07-311-16/+12
| | | | | | | | | | | | | | | | | | | | The event filters are ordered by priority, so don't use a linear scan in order to find whether one with the same position already exists, use lower_bound, whose result at the same time gives the position of an existing filter (if any), as well as the insertion position for the new element. So no need to do a full sort afterwards, either. Change the exisitng op< into an aptly-named lambda, and don't depend on transitive includes. Also, since this code does not need the CoW feature of QVector, port to std::vector, which is faster and produces more compact code. Altogether saves ~2KiB (0.47%) in text size on optimized Linux AMD64 GCC 9.1 builds. Change-Id: Ie46ca2fbb2dcbea23a0098a72336604776dcc296 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Remove unused <QMap> includesMarc Mutz2019-07-221-1/+0
| | | | | Change-Id: I402937171aca2eaaeaea5ced3fd9095db08a38d5 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Switch export macros to standard formKai Koehne2019-04-026-8/+8
| | | | | | | | | | | | Qt expects the export macros to have Q_ prefixes, otherwise the symbol versioning script won't find them and mark them. Also remove non-exising QT3DLOGIC_PRIVATE_EXPORT macro from src/doc/qt3d.qdocconf Task-number: QTBUG-74752 Change-Id: I71b9e85ff09c002fb283824aa51a5a8f50e937f4 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QDownloadHelperService: add couple comments to give more contextPaul Lemire2018-07-201-0/+2
| | | | | Change-Id: I40fd1862d551fd81167ed7dcd316c0bcf27bfff8 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* QDownloadHelperService: fix commentPaul Lemire2018-01-201-1/+1
| | | | | Change-Id: I004059b83cd8bac43e9ccdcd4fa92c21c769a97f Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Merge branch '5.10' into devSean Harmer2018-01-171-1/+1
|\ | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I248aa369ba98659a61e563fd29cc811c76ea1e2d
| * Iterate on references to avoid copiesMike Krus2018-01-131-1/+1
| | | | | | | | | | | | | | Found by Clazy clazy-range-loop Change-Id: Ib2d7f4073cbe7b5b2280518d5dc92981b56541cc Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Replace Q_DECL_FINAL with finalKevin Funk2017-09-253-7/+7
|/ | | | | Change-Id: Ia80d1cb9cc96d76f8b367caa725c59a70ae0a4d5 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add missing emit, found by -Wclazy-incorrect-emitSergio Martins2017-06-061-1/+1
| | | | | Change-Id: I3dcdd075ed48dc2674e35adaca920c14d34e9b03 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Merge branch '5.9' into devSean Harmer2017-05-215-0/+5
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/core/qscene.cpp src/plugins/sceneparsers/gltf/gltfimporter.cpp src/plugins/sceneparsers/gltfexport/gltfexporter.cpp src/render/texture/gltexture.cpp Change-Id: I7bde0fc0177eae252fef01cc43725fcf69c13a80
| * Add missing Q_OBJECT (clazy reports)Mike Krus2017-05-025-0/+5
| | | | | | | | | | Change-Id: I0bc49e1b391c610a8f8f649a45391b31f9283302 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Add download service and use for remote meshesMike Krus2017-05-208-2/+691
|/ | | | | | | | | | | | | | | | | | | | | | | Add a new QDownloadHelpService. Can be provided with QDownloadRequests which will trigger downloads and return the data in a QByteArray. Downloads are triggered in a separate thread and requests have the opportunity to do long running operations there (it will block other requests though). Implemented for downloading meshes. When the functor is triggered, it checks the url and submits a request for download. When that completes, it’ll save the data in the functor and mark the component as dirty that that a job will run again to complete the parsing. LATER (5.10): - status property, progress maybe Task-number: QTBUG-57614 Change-Id: I05abe9610e12670a368d480b2fb3115987201e6b Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Merge branch '5.8' into 5.9Sean Harmer2017-04-0214-21/+36
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/core/jobs/qthreadpooler.cpp src/core/nodes/qcomponent.cpp src/core/qpostman.cpp src/core/qscene_p.h src/core/services/qservicelocator_p.h src/input/frontend/qinputaspect.cpp src/plugins/sceneparsers/assimp/assimpimporter.cpp src/plugins/sceneparsers/assimp/assimpimporter.h src/plugins/sceneparsers/gltf/gltfimporter.h src/plugins/sceneparsers/gltf/gltfio.cpp src/quick3d/imports/core/qt3dquick3dcoreplugin.cpp src/quick3d/imports/extras/qt3dquick3dextrasplugin.cpp src/quick3d/imports/render/qt3dquick3drenderplugin.cpp src/quick3d/quick3dextras/qt3dquickwindow.cpp Change-Id: I3566708c6f74a34959e7bb64b64e93647ca3f699
| * Fixes includes to comply with coding conventions for Src/CoreRobert Brock2017-03-3114-20/+35
| | | | | | | | | | | | | | | | Reordering the header includes to comply with Qt coding conventions Task-number: QTBUG-56185 Change-Id: I3943678c183c4ef46d403e0fff878c3cad964dfa Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Make QAbstractServiceProvider a QObjectMike Krus2017-03-035-15/+17
| | | | | | | | | | | | | | so it can have signals and slots Change-Id: I269ee6d1c8fb035864a8d46e9ace18de82911755 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Fix build for INTEGRITYKimmo Ollila2017-01-231-30/+31
|/ | | | | | | Change-Id: I8ca8d7b5c99891bd19c98d7a1d83f53a509a92ac Reviewed-by: Nikola Velinov <nvelinov@ghs.com> Reviewed-by: Rolland Dudemaine <rolland@ghs.com> Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* Fix reset in input event filters in shutdownMäättä Antti2016-06-082-0/+8
| | | | | | | | | | | | | | | | The event filters can cause reset if they remain registered while the scene is being shutdown. If the filters are not unregisteded, they will continue receiving events when the shutdown deallocates them. Unregister filters when the scene is being shutdown, except the eventSource filters, since the eventSource might be already deallocated by that point. Add connection to eventSource destroyed signal to prevent this. Task-number: QTBUG-53834 Change-Id: I1dd1875b98021592580dd59a178ad18308c7d67c Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Q_NULLPTR -> nullptrSean Harmer2016-05-012-3/+3
| | | | | | Task-number: QTBUG-52736 Change-Id: I58f9cbcdf018e7b672d33dd865067485412b79fe Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Move QRay3D to Qt3DRender and make privateMike Krus2016-03-051-1/+0
| | | | | | Change-Id: I30f328e1d71d1c27b6647b63cbf480ea0937dd68 Task-Id: QTBUG-51500 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Mark more types movable/primitiveMarc Mutz2016-03-041-2/+6
| | | | | | | | These types are held in Qt containers, incl. QVariant, so they should be marked up as primitive or movable. Change-Id: I5fe489d0b3c1a27d4f6436352fa1f61abf804de7 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Handle event filters more gracefullyMike Krus2016-02-181-38/+39
| | | | | | | | | | | Moved event filters into the QEventFilterService so that key can be managed even if the dispatcher has not yet been created Also fixed a crash on nullptr Change-Id: I2c38fd108089d0b37d1287d1f5f5f7ae1531bd75 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Merge remote-tracking branch 'origin/5.6' into devLiang Qi2016-01-266-48/+30
|\ | | | | | | | | | | | | | | | | Conflicts: src/doc/src/qt3dcollision-module.qdoc src/render/frontend/qcamera.cpp src/render/frontend/qcameralens.cpp Change-Id: I8a0ae250a6b8e065a1ef3c817968ebb7ef23b20d
| * Doc: Mark the rest of the private classes \internalTopi Reinio2016-01-266-30/+30
| | | | | | | | | | | | | | | | | | | | Private headers are no longer part of the documentation build, so the documentation for these classes triggers a lot of QDoc warnings. Avoid this by replacing the QDoc comment blocks '/*!' with standard C comments. Change-Id: Id7aac9354e12ba2b7a62f84b947a5f6f38702c6d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Doc: Exclude private header files from the documentation buildTopi Reinio2016-01-253-18/+0
| | | | | | | | | | | | | | | | | | | | | | | | In the documentation configuration, exclude all '_p.h' files from the documentation build. This prevents QDoc from generating documentation for private classes, and also allows removal of documentation that explicitly set the private classes \internal. Change-Id: I8fcf5c99a2a0b75e9ee5dcd928fa4a2b4b8cf34f Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Unify license header usageAntti Kokko2016-01-2617-187/+238
| | | | | | | | | | | | | | Update old header.LGPL3 to header.LGPL Change-Id: I8eac0cd6bbc276a56df487249cc459c0d4fab165 Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
* | QInputAspect: hookup EventSourceHelper/InputSetingsPaul Lemire2016-01-191-2/+6
|/ | | | | Change-Id: Idab8e24f80ae2be457bbc790f6784db8e02d5a2f Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add we mean it headersLaszlo Agocs2015-12-152-0/+22
| | | | | Change-Id: I0ad651a68441d3cd0f836c37304cdcb1effac455 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Turn all services private for nowKevin Ottens2015-12-1217-87/+120
| | | | | Change-Id: I9da605c77c5489b9bef4f07079e05f8babb9559f Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Move all raycasting code as private in Qt3DRenderKevin Ottens2015-12-108-552/+0
| | | | | Change-Id: I871cbc57166493f30ea307305d8664e2f8a8873f Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QCollisionQueryResult: Use implicit sharingAndy Nichols2015-11-273-10/+73
| | | | | | | | | | | | Previously the implimentation of QCollisionQueryResults was causing leaks by not deleting the private implementation. The way QCollisionQueryResult is used though it makes more sense to use implicit sharing, which also solves the issue of leaking the private implementation. Change-Id: Iab76aed2f4d9c6655a5e0fe39885a41072e565ea Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* QRayCastingService improvementsPaul Lemire2015-11-242-2/+4
| | | | | Change-Id: Id8072015f153bebf3e44b9d0a6ad9e2e9254aa83 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* Doc: Fix QDoc warnings and do further cleanupTopi Reinio2015-11-234-20/+13
| | | | | | | | | Fix the documentation issues that still remained broken after renaming the namespaces/QML modules. Do further cleanup and minor doc editing. Change-Id: Iff38c8c1b99e7f712dc3f9ad07ecd37a747b3a26 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>