summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/abstract3drenderer_p.h
Commit message (Collapse)AuthorAgeFilesLines
* Include what you need: <QPointer>Marc Mutz2023-10-131-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | All these TUs relied on transitive includes of qpointer.h, maybe to a large extent via qevent.h, though, given that qevent.h is more or less the only public QtBase header that includes qpointer.h, something else seems to be at play here. Said qevent.h actually needs QPointer in-name-only, so a forward declaration would suffice. Prepare for qevent.h dropping the include. The algorithm I used was: If the TU mentions 'passiveGrabbers', the name of the QEvent function that returns QPointers, and the TU doesn't have qpointer.h included explicitly, include it. That may produce False Positives, but better safe than sorry. Otherwise, in src/, add an include to all source and header files which mention QPointer. Exception: if foo.h of a foo.cpp already includes it, don't include again. Task-number: QTBUG-117670 Change-Id: I3e240ca20cb4d0f37a2267a70fa5a672264b4c52 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Use SPDX license identifiersLucie Gérard2022-06-131-28/+2
| | | | | | | | | | | 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: I3b3112f5a36673b90fff0010f973d020886cf08d Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Remove custom namespaceTomi Korpipaa2021-01-281-2/+2
| | | | | | Fixes: QTBUG-90400 Change-Id: Ia2f1974a21112bad97724717d073d367c4413a7f Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Fix compilation issues for macOS and Android on Qt 6.0Tuomo Pelkonen2021-01-271-2/+2
| | | | | | Task-number: QTBUG-89297 Change-Id: I57acf345b6fc64a93d08d41016c755cae4edd6db Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Migrate C++ API rendering path to Qt 6Tomi Korpipaa2020-12-141-2/+2
| | | | | | | | | | Replace QRegExp with QRegularExpression and change usage accordingly. Replace shared QOpenGLFunctions_2_1 with our own copy. Fix header include changes. Task-number: QTBUG-89297 Change-Id: I6d3cf36ba9303ef62db3220816ea35f51eb26a3c Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Use QList instead of QVectorJarek Kobus2020-06-251-1/+1
| | | | | | | Task-number: QTBUG-84469 Change-Id: I4dc064b70adb054ca4add2dd662e7227255ff970 Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix hanging at application exitTomi Korpipaa2019-04-291-4/+1
| | | | | | | Task-number: QTBUG-75256 Task-number: QTBUG-69627 Change-Id: If4221c8fcf783daf4bf6a38dbf1b9633a20eafb0 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Render custom items at insertion orderMika Salmela2017-11-161-0/+1
| | | | | | | | | Changes the rendering order of custom items to insertion order. Task-number: QTBUG-64312 Change-Id: I1ce865a3492c145ffa269cd12baa15ffff8d6a59 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Copyright file update to GPLMiikka Heikkinen2016-01-121-9/+17
| | | | | Change-Id: Ib264fe1f2cd1589e2ba1ef2dc7d8f3951e125708 Reviewed-by: Tomi Korpipää <tomi.korpipaa@theqtcompany.com>
* Update license headersMiikka Heikkinen2015-10-201-11/+14
| | | | | Change-Id: I0581aefcf9dabc64b05eb8c97b5b92da1fb26299 Reviewed-by: Titta Heikkala <titta.heikkala@theqtcompany.com>
* Fix compilation with namespaced Qt.Friedemann Kleint2015-09-211-1/+1
| | | | | | Task-number: QTRD-3655 Change-Id: Id68e9cec8d1093fe1557b07a148ae04a27656284 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
* Fix building against 5.6Miikka Heikkinen2015-06-171-1/+1
| | | | | | | | Apparently Qt modules are now required to use Q_SIGNALS and Q_SLOTS macros instead of 'signals' and 'slots' in headers. Change-Id: I4140b1fff4386d74bb371176919234366965e887 Reviewed-by: Mika Salmela <mika.salmela@theqtcompany.com>
* Copyright header changesMika Salmela2015-04-141-3/+3
| | | | | | | Copyright header changes for 5.5. Change-Id: I0361cfe1ebdb28955cb927700f14cf7b72694421 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
* Change copyright headers.Miikka Heikkinen2014-11-071-7/+7
| | | | | | Change-Id: I453438fee92f18c983c1bef04c68b24a7ff72cf9 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com> Reviewed-by: Mika Salmela <mika.salmela@theqtcompany.com>
* Use QOffscreenSurface instead of QWindow for dummy surfaces.Miikka Heikkinen2014-10-301-2/+2
| | | | | | | | | Android doesn't like creating extra QWindows, so changed dummy surfaces used to do static initialization and cleanup to use QOffscreenSurface. Change-Id: Ia42e288a05ef49524252c457f3a3494677e3fc63 Reviewed-by: Mika Salmela <mika.salmela@theqtcompany.com>
* Support for dynamic opengl builds.Miikka Heikkinen2014-10-291-3/+7
| | | | | | Task-number: QTRD-3392 Change-Id: I786bbf5ee9252b92d43d02d6b88ed9b986b4a5eb Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Simplify context handling at cleanup.Miikka Heikkinen2014-10-151-2/+0
| | | | | | | | | | | | | If the context exists at renderer deletion, it is possible that it no longer has valid surface, which means it won't be possible to set it back to current if we change context for deletion cleanup. Since the current context will be one of our shared contexts anyway, there is no need to do a dummy context for cleanup unless the current context is null. Change-Id: Ibabe081742beb975ee848ccb3690703ef5b027a9 Reviewed-by: Mika Salmela <mika.salmela@digia.com> Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Fix context cleanupMiikka Heikkinen2014-10-131-0/+9
| | | | | | | | | | Context was not getting properly cleaned up in cases where render thread stopped before the cleanup took place. Now we ensure that required cleanup is done before context thread terminates. Change-Id: I1489914dafec928eebb69bac737f6f858ff49432 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Fix screen position based queries in threaded rendering environmentMiikka Heikkinen2014-10-091-5/+8
| | | | | | | | | | | | | | | | QtQuick's threaded renderer doesn't seem to always pair up sync and render (or more accurately, beforeSynchronizing and node's preprocess calls). Sometimes sync comes without a followup render, or there are two syncs in a row, even though the sync is using direct connection. Both of these cases broke the old logic for handling position based queries. Changed the logic to actually ensure we have resolved the query before emitting the relevant signal. Task-number: QTRD-3358 Change-Id: Ica6c8c311f53a06311c21532aaabc18c28556655 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Fix selection color and gradient for static optimizationMiikka Heikkinen2014-10-011-0/+4
| | | | | | | | | | Added separate shaders for rendering selected items, as the texture mapping that the regular static optimization shaders expect is not correct for single objects. Task-number: QTRD-3306 Change-Id: I6eb6cef94a4d2b4e5bdd03748f18db641a9fc4f6 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Make background margin configurableMiikka Heikkinen2014-09-301-0/+5
| | | | | | | | | | | Added margin as abstract graph property. If the margin is narrow, the positions of theedge labels of the axes are adjusted to avoid overlap with edge labels on other axes. Task-number: QTRD-3204 Change-Id: I7fa5a04c8f2091519d99689ef2f6cbcf799fb15e Reviewed-by: Mika Salmela <mika.salmela@digia.com> Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Implement zooming to cursorMiikka Heikkinen2014-09-261-2/+17
| | | | | | | | | Zooming to cursor is now default operating mode of the default input handler. Task-number: QTRD-3263 Change-Id: I5699fc0ce7393059538972cd52f31f06d87e3d8d Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Change custom labels to use label shaderMiikka Heikkinen2014-09-191-0/+3
| | | | | | | | | This fixes the problem with specular highlight making camera-facing labels unreadable. Task-number: QTRD-3276 Change-Id: If16424b07a1f3362428980353c5fb5213c33d06b Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Added possibility to change graph's localeMiikka Heikkinen2014-09-191-0/+2
| | | | | | | | | | Locale affects how axis labels are formatted. Default locale is still the "C". Task-number: QTRD-3229 Change-Id: I6126ce676906f4bbc91ae0abd18775bc1d564118 Reviewed-by: Mika Salmela <mika.salmela@digia.com> Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Implement volume slice framesMiikka Heikkinen2014-09-121-1/+6
| | | | | Change-Id: I409f3c95892b26ca6097dd4509109fc9978b9900 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Limit volume to axis rangesMiikka Heikkinen2014-09-101-1/+2
| | | | | | | | | The volume object that would go partially outside axis ranges is scale and repositioned so that it only renders the portion that is inside the axis ranges. Change-Id: I792494e437998ba6276f58fab645767276c1476d Reviewed-by: Mika Salmela <mika.salmela@digia.com>
* Add possibility to scale custom items according to data rangesMiikka Heikkinen2014-09-081-0/+2
| | | | | | | | Proper behavior of volume objects that are shown only partially will be added in a separate patch later. Change-Id: I1fcd98faa6c4a7d09e3fef1645ed9816ff54654f Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Add option to use low definition volume shader.Miikka Heikkinen2014-09-021-1/+2
| | | | | | | | Low definition volume shader samples the texture at even intervals, so it will sometimes skip texels, causing flickering. Change-Id: Iee6cb0e8893498b89ce1a40f34701a53d100283e Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Reflection API addedTomi Korpipää2014-08-261-11/+4
| | | | | | | Task-number: QTRD-3287 Change-Id: I6c06b8fe025e0f1f87be00be906cab0e1f18a19f Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Implement volume rendering supportMiikka Heikkinen2014-08-181-2/+9
| | | | | | | | New subclass of QCustom3DItem, QCustom3DVolume is provided. The documentation for the example will be done in a separate commit. Change-Id: Idb3fdb0654c6bec7606ca012b75852a5a8412397 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Enable camera targeting.Miikka Heikkinen2014-08-061-0/+4
| | | | | | | | | | | | | | | Also fix custom item positioning in absolute mode as it was completely broken in bars and z-coord was flipped in others. Clarified Q3DObject::position property usage, namely that it is reserved for internal use for now. Some refactoring also done. Task-number: QTRD-2567 Change-Id: I5da65b83a2f8ecf20f8fd054e59748278ef1a714 Reviewed-by: Titta Heikkala <titta.heikkala@digia.com> Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Fix labels and grid lines changing size when aspect ratio is changedMiikka Heikkinen2014-07-021-0/+1
| | | | | | | | | | | Since shaders needed fixing anyway for surface because of this, also implements the support for object gradients for surface, which was missing. Task-number: QTRD-2666 Task-number: QTRD-3211 Change-Id: I0c5da7fdfef308a96ec0bae4750fd22035da4e82 Reviewed-by: Mika Salmela <mika.salmela@digia.com>
* Added horizontal aspect ratio property for abstract graphsMiikka Heikkinen2014-07-011-0/+2
| | | | | | | | Value 0.0 indicates automatic scaling (the default). Task-number: QTRD-3192 Change-Id: I5e4cc1b7a03c0ba811e2ed3916a440906429af57 Reviewed-by: Mika Salmela <mika.salmela@digia.com>
* Adjust background margins based on angular labels and titleMiikka Heikkinen2014-06-301-1/+6
| | | | | | | | Also separated the vertical and horizontal background margins. Task-number: QTRD-3184 Change-Id: I988217d4df7749585dd85b5ea8f3f50254dca6ad Reviewed-by: Mika Salmela <mika.salmela@digia.com>
* Fix polar axis title positioningMiikka Heikkinen2014-06-271-1/+2
| | | | | | Task-number: QTRD-3184 Change-Id: I366f41b928e06931784c6ff74e9b6b8a52414e3f Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Add radialLabelOffset property for graphsMiikka Heikkinen2014-06-261-0/+2
| | | | | | | | | This property indicates where radial labels of the polar chart are drawn Task-number: QTRD-3184 Change-Id: I1500e67da5e578b90d679876130c2d56c1d08039 Reviewed-by: Mika Salmela <mika.salmela@digia.com>
* Add flipHorizontalGrid property for surfaceMiikka Heikkinen2014-06-261-0/+1
| | | | | | | | | | | | This property allows drawind the horizontal grid and axis labels on top of the graph rather than on the bottom. This is useful when surface graph is used for 2D spectrograms in orthographic mode, as otherwise the grid is covered by the surface itself. Particularly relevant for polar plots of the same. Task-number: QTRD-3184 Change-Id: I9dbcdbfc754e13af52d2cf31a1d9991ef4b241f7 Reviewed-by: Mika Salmela <mika.salmela@digia.com>
* Polar graph support, phase oneMiikka Heikkinen2014-06-261-0/+17
| | | | | | | | | | - Polar property for toggling the polar mode - Example added. Example docs will be added in another patch once all of the functionality the example needs has been implemented. - Only surface graph supports polar so far. Scatter to be added later. Change-Id: I54d36f764ac1771ac88f73a5f3a2142f2309f6e8 Reviewed-by: Mika Salmela <mika.salmela@digia.com>
* Bars: Moved bar, background and grid line drawing to separate methodsTomi Korpipää2014-06-241-0/+10
| | | | | | | + Added floor reflection support in ifdefs Change-Id: I1060aee1bc8f7a0360ad01675c36c0f1a2120f1c Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Scatter perf improvementMika Salmela2014-06-051-0/+2
| | | | | | | Task-number: QTRD-3148 Change-Id: I2c9efa84184819aaac123ee29685bc3a9e35bfe6 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Clean up renderersTomi Korpipää2014-06-031-1/+0
| | | | | | | Task-number: QTRD-3149 Change-Id: I71b9b7533ad3730d0d203c3d07e66d824b690fbb Reviewed-by: Titta Heikkala <titta.heikkala@digia.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Fix various issuesMiikka Heikkinen2014-06-021-1/+1
| | | | | Change-Id: I4a6d4775f3ca578370a9ce23491bddcb0f5486ec Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Optionally show axis titles on the graphMiikka Heikkinen2014-05-271-0/+31
| | | | | | Task-number: QTRD-2961 Change-Id: I6a344156bd29fa8fb1ede0546af4d0e67e5e2db4 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Added API for changing data aspect ratioTomi Korpipää2014-05-261-0/+6
| | | | | | Task-number: QTRD-3144 Change-Id: I9acd1be13083d7fbbed840882260a60f46c5f698 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Update custom item translation when axes change, if needed Tomi Korpipää2014-05-221-0/+1
| | | | | | | Task-number: QTRD-3129 Change-Id: If7e28778ca7fd628159d37ee74ae2afb8d941e53 Change-Id: If7e28778ca7fd628159d37ee74ae2afb8d941e53 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Added support for custom items with absolute coordinatesTomi Korpipää2014-05-211-1/+2
| | | | | | Task-number: QTRD-3122 Change-Id: Iefd4c4adad45721ed3519bdcecbbfa1e97039f08 Reviewed-by: Mika Salmela <mika.salmela@digia.com>
* Implement axis label autorotationMiikka Heikkinen2014-05-191-0/+2
| | | | | | Task-number: QTRD-2857 Change-Id: I158abb75272813cf7eb5d4b419e24325389d940e Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
* Optimized custom item addition/removalTomi Korpipää2014-05-191-1/+1
| | | | | | Task-number: QTRD-3056 Change-Id: I653d8aeec797b76c19d9b542391b79e9370e7501 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Dirty bits to custom item Tomi Korpipää2014-05-161-0/+2
| | | | | | | Task-number: QTRD-3082 Change-Id: I1503b067edcc677904ca16c1501109187809f98b Change-Id: I1503b067edcc677904ca16c1501109187809f98b Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Added option to use orthographic projectionTomi Korpipää2014-05-141-0/+2
| | | | | | | Task-number: QTRD-3078 Change-Id: I07ebc2b7edd542cd28e405dfc80282f18b7a7314 Reviewed-by: Mika Salmela <mika.salmela@digia.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>