summaryrefslogtreecommitdiffstats
path: root/src/render/picking/qobjectpicker.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Geometry refactoringMike Krus2020-02-271-1/+1
| | | | | | | Move QBuffer, QAttribute, QGeometry to Qt3DCore. Change-Id: I59dfd091eefadcada93350b3aba955f40b304385 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Remove deprecated classes and functionsPaul Lemire2020-02-111-16/+0
| | | | | | | Mostly old messaging API Change-Id: I17eb2206b2ede56d2f7d36375d5e711d6149019f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Doc: Fix documentation warningsTopi Reinio2019-11-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | - Add (basic) documentation for Qt3DAnimation::QAnimationCallback. - Add missing namespace qualifiers for \class, \fn, \instantiates, \sa, and \property commands. - Remove linking to example file pages, as QDoc no longe treats them as linkable targets. - Fix function/QML method parameter documentation - Fix missing \qmlproperty types - Fix linking to QKeyEvent in QtGui. - Move Qt3DRender::Quick namespace documentation to where QDoc can see it. - Add enum documentation for Qt3DRender::QBlitFramebuffer::InterpolationMethod and Qt3DRender::QMesh::Status. - Other minor fixes This brings the current warning count to zero. Fixes: QTBUG-79822 Change-Id: I1154a7f9c34917a3f240e99da0e7a300be7d65a0 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Restore sceneChangeEvent overload that were removedPaul Lemire2019-10-221-0/+5
| | | | | | | | Not BIC compatible so they must stay until Qt6. Added TODO above them to make it easier to track for Qt6. Change-Id: Ia1adba25be5d55d3fa836727877c7c1f7346b668 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Merge remote-tracking branch 'origin/5.13' into 5.14Paul Lemire2019-10-151-0/+6
|\ | | | | | | Change-Id: I44133fbc9b93e96918463b0b0891ee5ab7db9f2c
| * 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>
* | Update PickBoundingVolumeJob to use direct syncMike Krus2019-10-141-36/+0
| | | | | | | | | | Change-Id: I7878294cd44872ccdc17515fbb44a6b2a99239e5 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* | Merge remote-tracking branch 'origin/5.13' into devPaul Lemire2019-08-201-0/+2
|\| | | | | | | Change-Id: I53aa6c3f61b1f624ec553079a9332c96486abf3f
| * 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>
* | | Fix picking in Scene2D following recent changesPaul Lemire2019-03-181-4/+0
| | | | | | | | | | | | | | | Change-Id: I69c2e31666bc5abb9777ab06e532c949cd21bf7f Reviewed-by: Mike Krus <mike.krus@kdab.com>
* | | Expose picked entity in eventMike Krus2019-03-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the object picker is not attached to a leaf node in the scene graph, this is useful to find which child entity was actually picked. Otherwise, it should be the same entity that the object picker component belongs to. [ChangeLog][Qt3DRender] QPickEvent adds property for picked entity Change-Id: Id39a91c1d8bf6d3ba9b288e9ea84d41a4b4ca0bf Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | | Add QNoPicking FrameGraph nodePaul Lemire2019-02-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allows to disable execution of picking computations for a specific FrameGraph branch. [ChangeLog][Qt3DRender] QNoPicking: control picking execution in the FrameGraph Change-Id: I5e82eeee9d04d48cfc39a6126d30d36eab61ea77 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* | | Add a viewport property to QPickEventGiulio Camuffo2019-02-251-9/+19
|/ / | | | | | | | | | | | | | | | | The new property will contain the viewport in which the input event originated. This is useful in cases where an entity with an ObjectPicker visible in multiple viewports wants to react differently based on which viewport was clicked. Change-Id: Ic5fb6393f3c3087cc3f54cd68c025d0e59ec2f20 Reviewed-by: Paul Lemire <paul.lemire@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>