summaryrefslogtreecommitdiffstats
path: root/src/render/picking/qobjectpicker.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add comment about far plane value affecting pickingAntti Määttä2019-10-091-0/+6
| | | | | | | | Task-number: QTBUG-70589 Change-Id: I397d24f3d7fed25fe3612e481a3ee16d4e0fe1ab Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-08-131-0/+2
|\ | | | | | | Change-Id: I359b15d87622515ee4f05db1f01d4b476027378e
| * Improve documentation of ObjectPickerJean-Michaël Celerier2019-08-071-0/+2
| | | | | | | | | | | | | | Add a reference to Scene3D hoverEnabled Change-Id: I59e282a985ae5af30ff22d7caf433fb3b7cd821b Reviewed-by: Mike Krus <mike.krus@kdab.com>
* | QObjectPicker and QPickingSettings NearestPriorityPick picking modePaul Lemire2018-12-121-0/+37
|/ | | | | | | | | | | | Add a new priority property on QObjectPicker and a new QPickingSettings mode. This will select the result with the highest priority if there are several results on a given ray. If we have several results with identical properties, the result with the closest distance is selected. [ChangeLog][Qt3DRender] QObjectPicker: add a priority based result selection Change-Id: I7af12db6e163c3c2d9dad696e6d9f9bbbee064ed Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Documentation for ray castingMike Krus2018-03-071-0/+2
| | | | | | | | Also updated object picker and pick settings and made raycaster components non-sharable. Change-Id: Ief3e5dcb3eefdd94c05e7a4e914b43d56b43e24a Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Doc: Fix documentation warnings for Qt 3D RenderTopi Reinio2018-02-281-6/+6
| | | | | | | | | | | | | This change fixes multiple QDoc warnings for Qt 3D Render that are related to how Clang parses the source code and the \fn QDoc commands. A number of changes are related to preventing documentation for private classes from generating warnings. We still have a number of 'No documentation for ...' warnings left - those are not addressed in this change. Change-Id: Ic92a729496a81e7869060811ed7dd23408cff833 Reviewed-by: Martin Smith <martin.smith@qt.io>
* Fix qml signal documentation for QObjectPickerPaul Lemire2017-08-181-35/+62
| | | | | | | | Also align everything properly Change-Id: I7948670912f3d321829ee1af90ebcb2497b6f98f Task-number: QTBUG-61996 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Cleanup scene2d - remove event forwardAntti Määttä2017-03-151-33/+0
| | | | | | | | | Remove event forward related stuff as they are no longer necessary after the mouse event changes. Task-number: QTBUG-58876 Change-Id: I2c9c52e41d5af3078d04ac9d5cc66753898e0ad9 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* Update documentation related to pickingMike Krus2017-03-011-5/+39
| | | | | Change-Id: I67f37da8d4534938e252a0c96735e6efe58cb6e3 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add QEventForward to QObjectPickerAntti Määttä2017-01-251-0/+33
| | | | | Change-Id: I3a1a7ffdf2c5ec765e9f9e10ed5f15e3902ae15d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Check if parentEntity exists in propagateEventSvenn-Arne Dragly2016-08-021-1/+1
| | | | | | | | | | Currently we check if parent exists, but we are using parentEntity. This causes the application to crash if the entity has a nullptr parentEntity. Change-Id: I4864cccfc80b4296fceea2445a7eb8f548471363 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* More doc for render-pickingColin Ogilvie2016-06-031-0/+50
| | | | | | Task-number: QTBUG-46037 Change-Id: Idf4e2f123f4cf3d1662a91d5db82678caea26d6d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Skeletal Doc for render-pickingColin Ogilvie2016-06-031-0/+47
| | | | | | Task-number: QTBUG-46037 Change-Id: I2839f9d30498fa4ed3571bd282c2145cb5bcb25a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* De-inline dtors of public polymorphic classesMarc Mutz2016-05-191-0/+5
| | | | | | | | | | | | | | 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>
* Remove QBackendNodePropertyChangeSean Harmer2016-05-131-2/+2
| | | | | | | | Not needed as we can just use delivery flags on QPropertyUpdatedChange. Task-number: QTBUG-51494 Change-Id: I53b52ac7a1b226dd30756bcebcdd62bffd3a6fd5 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename NodeUpdated ChangeFlag to PropertyUpdatedSean Harmer2016-05-101-1/+1
| | | | | | | | This more correctly reflects the semantic meaning. Task-number: QTBUG-51494 Change-Id: I3a230e959ea007f1d19808eae73b5d95b6f06514 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* render: eradicate Q_FOREACH loops [remaining low-risk]Marc Mutz2016-05-051-3/+3
| | | | | | | | | | | | | | | | ... by replacing them with C++11 range-for loops. To avoid detaches of these mutable Qt containers, wrap the container in qAsConst(), where needed. This is the batch with low-risk changes. They operate on local containers or the loop body clearly does not cause the container to change. Saves ~3.8KiB in text size on optimized GCC 6.0 Linux AMD64 builds. Change-Id: I9c9669dd89f44d371d7a9cd4fc83a7930a06ce17 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QObjectPicker creates and handles creation changesSean Harmer2016-05-021-39/+11
| | | | | Change-Id: I04a38edbab0aa21edb341dd0954975436b98341f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Q_NULLPTR -> nullptrSean Harmer2016-05-011-4/+4
| | | | | | Task-number: QTBUG-52736 Change-Id: I58f9cbcdf018e7b672d33dd865067485412b79fe Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Strip out cloning subsystemSean Harmer2016-04-291-8/+0
| | | | | Change-Id: I4def54a11de0f9c676ef6b2d7bd8e723ded25ab9 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QNode: make cleanup a private slotPaul Lemire2016-04-231-5/+0
| | | | | | | | | | QT3D_CLONEABLE now implements a default dtor that calls _q_ cleanup QT3D_CLONEABLE_CUSTOM_DTOR is used for classes that really need to implement their own dtor but they need to invoke _q_cleanup manually Change-Id: I2937a3b9edeb5a763749f0044360d78ab4461a5e Task-number: QTBUG-51464 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Rename QBackendScenePropertyChange -> QBackendNodePropertyChangeSean Harmer2016-04-221-2/+2
| | | | | Change-Id: I875537e511b93d9bfd002fa9fa2a368999f7e75a Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Merge branch '5.6' into 5.7Sean Harmer2016-04-161-6/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/qt3d/examples-common/qorbitcontrol.h src/core/qnodecreatedchange.cpp src/core/qnodecreatedchange.h src/input/frontend/qaxisactionhandler.h src/input/frontend/qinputaspect.h src/input/frontend/qkeyboardhandler.h src/input/frontend/qmousedevice.h src/input/frontend/qmousehandler.h src/input/frontend/qphysicaldevicecreatedchange.h src/input/input.pro src/logic/qframeaction.h src/plugins/sceneparsers/assimp/assimp.pro src/quick3d/imports/input/importsinput.pro src/quick3d/imports/render/importsrender.pro src/render/backend/trianglesextractor.cpp src/render/framegraph/qclearbuffer.h src/render/framegraph/qlighting.h src/render/framegraph/qstateset.h src/render/frontend/qrenderattachment.h src/render/geometry/qabstractattribute.h src/render/geometry/qabstractbuffer.h src/render/geometry/qattribute.h src/render/geometry/qboundingvolumespecifier.h src/render/geometry/qbuffer.h src/render/materialsystem/qfilterkey.h src/render/materialsystem/qparameter.h src/render/materialsystem/qparametermapping.h src/render/renderstates/qblendstate.h src/render/renderstates/qdepthmask.h src/render/renderstates/qpointsize.cpp src/render/renderstates/qrenderstatecreatedchange.cpp src/render/renderstates/qstencilop.h src/render/renderstates/qstencilopseparate.h src/render/renderstates/qstenciltestseparate.h src/render/texture/qabstracttexture.h src/render/texture/qabstracttextureimage.h src/render/texture/qtextureproviders.h Change-Id: I894d7781042cabdaa0cac690c198b57a41127bd4
| * Fix build in C++98 mode: enums aren't namespacesv5.6.0Thiago Macieira2016-03-031-6/+6
| | | | | | | | | | | | | | trianglesextractor.cpp:73:28: error: ‘Qt3DRender::QAttribute::DataType’ is not a class or namespace Change-Id: Ic747cc2ab45e4dc6bb70ffff14384407a2997a70 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | QObjectPicker API changesMike Krus2016-03-041-32/+38
| | | | | | | | | | | | | | | | | | | | mouseTrackingEnabled renamed to isDragEnabled hoverEnabled renamed to isHoverEnabled private methods should move to the pimpl class Change-Id: I65ba98ce6be11540f73292e24fe3f76f4fd8f02c Task-Id: QTBUG-51498 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Do picking on mouse moveMike Krus2016-02-191-2/+46
| | | | | | | | | | | | | | | | If enabled (mouseTrackingEnabled), then do picking as the mouse moves across an object (pick needs to succeed on mouse pressed) Change-Id: I062d003c0461f48fa32e280543e41cea0a8668a8 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Unify license header usageAntti Kokko2016-01-261-11/+14
| | | | | | | | | | | | | | Update old header.LGPL3 to header.LGPL Change-Id: I8eac0cd6bbc276a56df487249cc459c0d4fab165 Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
* | Expose picking details to front endMike Krus2016-01-251-6/+6
|/ | | | | | | | Intersection (world and local) and distance added to pick event Modified test so that it includes the event Change-Id: I8631d626e5108d2e044374ee3425625f5588c38c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Added parameters to signals and made setters Q_SLOTSTomi Korpipää2015-12-091-3/+3
| | | | | | Change-Id: Icec2f9f207221e35ffdeeb594bb9b4dc6ef890f1 Task-number: QTBUG-49797 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Doc: Fix QDoc warnings and do further cleanupTopi Reinio2015-11-231-7/+5
| | | | | | | | | 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>
* Remove anything related to pick attribute in QObjectPickerPaul Lemire2015-11-161-28/+0
| | | | | | Change-Id: I5a25c97841854bd231af0600ecfe08ff4c056de1 Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* Move picking into its own directorySean Harmer2015-10-251-0/+326
Change-Id: I4982f08d18c855a57f621af28b13cc876f20eb16 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>