summaryrefslogtreecommitdiffstats
path: root/src/logic
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Update commercial license headers"v5.15.3-lts-lgplTarja Sundqvist2021-03-2318-360/+360
| | | | | | | | | | | This reverts commit 03e5f60e585701608c1181365faee484d7a1f14c. Revert of commercial license headers is required for Qt 5.15.3 opensource release. Task-number: QTBUG-91108 Change-Id: I359e89ed77b1b2750607617d138ebb6c316f0296 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Update commercial license headersTarja Sundqvist2021-02-0218-360/+360
| | | | | | | | | | | | | | | | Updated header.COMM to the files in tqtc-qt3d. Examples, documentation files or tests are not updated. The commercial license header may contain some additional lines so that its line count equals with the earlier license header. Reason for this is that some autotests use hard coded line numbers and a change in the line count causes failures in tests. Task-number: QTQAINFRA-4155 Change-Id: I139c8ad72c042b0900239decc36cfed4bc1c4951 Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
* QLogicAspect: use QAspectJob::postFrame to drive FrameAction updatesPaul Lemire2020-07-016-62/+42
| | | | | | Change-Id: I0707d1f971084fc6671aeb4bd1264c77f6406061 Reviewed-by: Mike Krus <mike.krus@kdab.com> (cherry picked from commit 7c2badb56eb564327b073fa706fb9c4f809c411a)
* Add missing overrideAlexander Volkov2020-05-251-1/+1
| | | | | Change-Id: I6a2a4577b4c45d7ac601d2693044c3817e245111 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Merge remote-tracking branch '5.14' into 5.15Mike Krus2020-02-052-1/+4
|\ | | | | | | Change-Id: I76b7e29d240b89e27ef509b30cc3cd622f281fc9
| * Fix potential crash when logic aspect exitsMike Krus2020-01-272-1/+4
| | | | | | | | | | | | | | | | | | Logic aspect does work in response to posted event. By that time the aspect may be gone (due to normal shutdown) and the scene pointer be invalid. Change-Id: Ia9454532a7c95cd3c00e8b225b8d95c178471a67 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Fix deprecation handlingMike Krus2020-01-141-0/+1
| | | | | | | | | | | | Change-Id: If981333f7a3d78028d4f08c59867453d4192b955 Task-number: QTBUG-81058 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Make tracing a runtime optionMike Krus2019-12-131-1/+1
|/ | | | | | | | | | | - 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>
* Fix Coverity warningsMike Krus2019-10-211-0/+2
| | | | | Change-Id: I00c875b48d838170fddf0b92f0ac5592828c6f0f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Remove the Aspect ThreadPaul Lemire2019-08-074-14/+1
| | | | | | | | | | | | | | | | | | 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>
* Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-07-161-2/+2
|\ | | | | | | Change-Id: Ibc90d50504e250a6f90f1c6f179c41cafb7f908b
| * Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-07-111-2/+2
| |\ | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Iabe445fa892f2022aa1e58d1783a2d588d6b6a87
| | * Document unit for FrameAction::triggeredMichael Brasser2019-07-031-2/+2
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-74165 Change-Id: I4d3de42cddd8f6e1e6729cc16a52e135ab7fa3b1 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Eradicate Q_FOREACH loops and mark the module cleanMarc Mutz2019-05-221-3/+0
|/ / | | | | | | | | | | | | | | | | | | The only noteworth change is where a loop around spy.events modified the container using takeFirst(). There was no reason to do so, so it was changed to use the loop variable instead of the result of taking. Change-Id: I02c62a7c2efc5d042c6e669fe5daddd7da7e85d2 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Switch export macros to standard formKai Koehne2019-04-023-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Fix GCC warning about cv qualifiers in castThiago Macieira2019-02-271-1/+1
|/ | | | | | | qinputaspect.cpp:226:56: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] Change-Id: Id061f35c088044b69a15fffd15818f24191f9d72 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Doc: Fix various documentation warningsTopi Reinio2018-11-071-0/+1
| | | | | Change-Id: I3eecd06bba9438b5aa472f3ba7ecaecdeda985e2 Reviewed-by: Martin Smith <martin.smith@qt.io>
* Doc: Add doc to undocumented methodsNico Vertriest2018-11-011-0/+5
| | | | | | | | | | | | | - qcomponent.cpp - qbackendnode.cpp - qjoint.cpp - qskeletonloader.cpp - qframeaction.cpp - qscene2d.h - qrenderaspect.cpp Change-Id: I25881dee19d2d01f948bfaf4a156a97f6caaea73 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Doc: Fix documentation warnings related to Clang QDoc parserTopi Reinio2018-04-201-1/+1
| | | | | | | | | | | | | | | | | | | | | Since Qt 5.11, QDoc uses Clang to parse C++ documentation. Clang requires a module header, as well as proper include paths, to build a precompiled header and process the sources. To do this, add a custom module header that pulls in all Qt 3D modules - this way, we can continue using a single documentation project to covers all of Qt 3D. Fix all documentation warnings are caused by missing namespaces, QML module/type names and typos, as well as a number of linking problems and other minor issues. After this change, the remaining documentation issues consist of 'No documentation for ...' warnings. Task-number: QTBUG-67790 Change-Id: I38b91163c475a00cc1893e793240470c5409eb57 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Revert "Doc: Divide documentation into submodules"Topi Reinio2018-04-203-125/+0
| | | | | | | | | | | This reverts commit c8964b8f1cf56718a189b0f57bad446cec30a8b8. QDoc now supports documentation-specific custom module headers and include headers that allow us to keep using a single documentation project that covers multiple modules. Change-Id: I84706a7149097a6b03f0f266e55d6f712a6c773e Reviewed-by: Martin Smith <martin.smith@qt.io>
* Document state of the Qt 3D modulesKai Koehne2018-03-121-0/+4
| | | | | | | | | | | | | Do make it explicit which ones are still in development also in the landing page, and add \preliminary and \since tags (for released and TP modules, respectively). Note that the \preliminary, \since tags currently do not work for \qmlmodule, which hopefully gets fixed at one point: QTBUG-65963. Change-Id: I6648311c38f331286be37eefa60794984cd239b7 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Doc: Divide documentation into submodulesTopi Reinio2018-02-093-0/+121
| | | | | | | | | | | | | | | | | QDoc in Qt 5.11 will use Clang (libclang) to parse C++ documentation. In order to do that, Clang needs to have the include paths available when parsing source; qmake provides that information to QDoc but only when the documentation project is located under the correct module (source) path. By having dedicated doc projects for Qt 3D Core, Render, Input, etc. the number of documentation warnings is signicantly reduced. A top-level 'Qt 3D' project is still kept, and contains the landing page, overview, examples, and top-level 'C++ classes' and 'QML types' pages that list all types documented across all Qt 3D submodules. Change-Id: Id5936de36f31c2a8764a64e1e9d7ae0d10e8ab14 Reviewed-by: Martin Smith <martin.smith@qt.io>
* Merge branch '5.10' into devSean Harmer2018-01-172-3/+2
|\ | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I248aa369ba98659a61e563fd29cc811c76ea1e2d
| * Merge branch '5.9' into 5.10Sean Harmer2018-01-122-3/+2
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/animation/backend/handle_types_p.h src/extras/defaults/qtexturematerial.h src/render/backend/entity_p.h src/render/backend/handle_types_p.h src/render/backend/renderview.cpp src/render/io/scenemanager.cpp Change-Id: Ic145062cc98360e9067fd60f0992c7a6b51e41bb
| | * Get rid of the INDEXBITS template argument for QHandleLars Knoll2017-12-132-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | It's not required anymore, as the resource manager can grow as needed. Change-Id: If509de7f2ef90e1af9729d8fc60d7ecb08ede687 Reviewed-by: Svenn-Arne Dragly <svenn-arne.dragly@qt.io> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | | Remove hardcoded C++ version for MinGW/GCCKai Koehne2018-01-111-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was apparently needed for older MinGW-w64 headers that did not properly define some common system functions otherwise. Anyhow, it is not required anymore for newer MinGW-w64, and actually breaks compilation with gcc 6 and newer: There we enable shift-overflow=2, which also warns about shifting into the sign bit for C++11, but not for C++14. Task-number: QTBUG-60249 Change-Id: I53bc858c6f8baf9b60940904b3b28f7a49ab28e6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | | Replace Q_DECL_FINAL with finalKevin Funk2017-09-251-1/+1
| | | | | | | | | | | | | | | Change-Id: Ia80d1cb9cc96d76f8b367caa725c59a70ae0a4d5 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | | Replace Q_DECL_OVERRIDE with overrideKevin Funk2017-09-254-9/+9
|/ / | | | | | | | | Change-Id: I92c955068e233c50043ad7d06a32300dd386c24d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Merge branch '5.9' into 5.10Sean Harmer2017-09-121-2/+1
|\| | | | | | | Change-Id: Id6a3d4ec579a2f2a2e559c22a2293d0e184f0bdf
| * Get rid of the AllocationPolicy template argument in the ResourceManagerLars Knoll2017-09-111-2/+1
| | | | | | | | | | | | | | We always use the same policy anyway. Change-Id: I3349b8c19ce0e6239b140dfac7ba66f8dda1b9be Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Only execute QFrameAction job if there are actionsJan Marker2017-08-223-1/+10
|/ | | | | Change-Id: Ie90d686a1161d487777cbdf758a276e34134653f Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Logic: only execute FrameActions which are enabledPaul Lemire2017-05-051-1/+1
| | | | | | Change-Id: Ib89f6a4eae1b875a17c124337e0e4283d5d62b9e Task-number: QTBUG-60584 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Fix spelling in comments and docsAndy Maloney2017-04-061-1/+1
| | | | | Change-Id: Ib93da3bc94ee43980d1190955c8c37e886c4b0fa Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Coding convention fix for Src/logicRobert Brock2017-03-0210-22/+33
| | | | | | | | Reordering the header includes to comply with Qt coding conventions Task-number: QTBUG-56185 Change-Id: I900997e93ba0e25351e74a91d4d43c5123431b97 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Remove CONFIG+=static when gcov is enabledPaul Lemire2016-11-231-1/+0
| | | | | | | | Is actually counterproductive as we end up with almost no coverage data. Change-Id: Ib3beed103586cc68be90459de23818c2fbcb26c8 Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* Update QFrameAction docsAntti Määttä2016-09-051-8/+18
| | | | | | Change-Id: I4bcde9ed1e1ab8a9d127dd1d4c75d30f8c342641 Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* CallbackJob set profiling typePaul Lemire2016-06-281-0/+2
| | | | | Change-Id: I2939e9104040f946cfdcfea2829556abf8f9f210 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Logic: add job types for profilingPaul Lemire2016-06-282-1/+78
| | | | | Change-Id: I7e8a35def338b8fd2bbce6bf296cae1ce8cb296b Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Missing Signal Doc for QFrameActionColin Ogilvie2016-05-282-1/+12
| | | | | | Task-number: QTBUG-46037 Change-Id: I4e99403ecd36619f92a2329d1db3e67bcd5ec057 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* added skeleton doc to logic moduleColin Ogilvie2016-05-281-0/+14
| | | | | | Task-number: QTBUG-46037 Change-Id: Id38721e9f0c4dd57aa1135253e30069ec9823bc9 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Avoid changing access rights to virtual methodsMike Krus2016-05-231-3/+1
| | | | | | | | Added QRenderAspectTester as friend for testing Task-number: QTBUG-53569 Change-Id: Ia7adde188065a2ba02b7fd480fcfe545ccbf4720 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* De-inline dtors of public polymorphic classesMarc Mutz2016-05-192-0/+6
| | | | | | | | | | | | | | By making the destructor (usually the first non-inline, non-pure, virtual function, and therefore the trigger for most compilers to emit the vtable and type_info structures for the class in that TU) out-of-line, vtables and, more importantly, type_info structures for the class are pinned to a single TU. This prevents false negative dynamic_cast and catch evaluation. It also allows to add code to them later, if necessary. Change-Id: I0da301cd788162abba6cdbbb21910090a22adb9a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Delegate to the correct ctor in QLogicAspectSean Harmer2016-05-151-1/+1
| | | | | Change-Id: I09a4be49c268a7f671242f23e497f6e41cf960cb Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add more explicitMarc Mutz2016-05-141-1/+1
| | | | | | Change-Id: Iaa91d6248cbc3822ed3380e360d2880d4894446d Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* De-inline dtors of aspect classesMarc Mutz2016-05-142-0/+6
| | | | | | | | | Costs 170B each in Logic, Render, Input, but otherwise we'll not be able to add code to the dtors down the line until Qt 6. Change-Id: Icf71bd959f2efa3c67bccaf166569e06a013fef1 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Use some constructor delegationMarc Mutz2016-05-141-7/+1
| | | | | | | | | | | | | to avoid code duplication (in both: executable and source code senses). Text size savings on optimized GCC 6.0 Linux AMD64 builds: Core: 16 Logic: 192 Input: -304 Render: 408 Change-Id: I23dd01fd4efe226c22942c24b21bbe20027c90b1 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Enable QT_NO_FOREACH for some librariesMarc Mutz2016-05-141-0/+3
| | | | | | | | | The core, extras, input, logic and render libraries contain no Q_FOREACH loops anymore. Enable QT_NO_FOREACH so it stays that way. Change-Id: Ie2fa6b7621cce2c89f76cf37d1511bf8c16c13ee Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Introduce local macros for declaring types as movable/primitive/sharedMarc Mutz2016-05-051-1/+1
| | | | | | | | | | | | | | | The QtCore macros aren't really suited to a namespaced library like Qt3D. In particular, the use of Q_DECLARE_SHARED is wrong, because it places the free swap() function in the Qt's namespace when it should be in the same (inner) namespace the type is in. Q_DECLARE_TYPEINFO, otoh, is just inconvenient to use because it requires exiting and later re-entering of the Qt3D namespace(s). The new macros do this implicitly. Change-Id: Ic91f447656f08ed59c118ce09cb5ac90ad212955 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Remove QBackendNode::updateFromPeer()Sean Harmer2016-05-032-7/+0
| | | | | | | | | | Implemented a few missing initializeFromPeer() implementations along with the corresponding frontend node creation change creation functions. Adapted unit tests. Change-Id: I571e53a7b68a5544bd0e308df0baf7e52533306e Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Remove virtual QBackendNode *create(QNode *frontend) constSean Harmer2016-05-012-10/+0
| | | | | | | | from QBackendNodeMapper and subclasses. No longer needed now we have disabled cloning. Change-Id: I261fa7bccfa9a4019d479079e2ff7c19154e5e72 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>