Commit Graph

54 Commits

Author SHA1 Message Date
Tomi Korpipaa d99428c3a6 Do selection on the first click
Pick-to: 6.8 6.9
Fixes: QTBUG-132159
Change-Id: If1786e9a1a89694b06d04f351305011db1ec6976
Reviewed-by: Sakaria Pouke <sakaria.pouke@qt.io>
Reviewed-by: Sami Varanka <sami.varanka@qt.io>
2024-12-18 09:38:25 +02:00
Tomi Korpipaa 675077c1bb Do not call setSelectedPoint unnecessarily at handleArrayReset
setSelectedPoint was called repeatedly with changing
data even when no selection was active. This could be easily seen
in the SurfaceGallery example, in which the Oscilloscope
caused unnecessary emitNeedRender calls from the setSelectedPoint
at each frame.

Pick-to: 6.8 6.9
Change-Id: I25abb9e9415310940af22887326a511a52da3f68
Reviewed-by: Sakaria Pouke <sakaria.pouke@qt.io>
Reviewed-by: Sami Varanka <sami.varanka@qt.io>
2024-12-16 10:55:51 +02:00
Tomi Korpipaa 715734e1f7 Clear picked status of models when clearing selection
Pick-to: 6.8 6.9
Task-number: QTBUG-132107
Change-Id: I0fc8f79e4afbb0935ca1a625e37cc2e6b9f231f9
Reviewed-by: Sakaria Pouke <sakaria.pouke@qt.io>
Reviewed-by: Kwanghyo Park <kwanghyo.park@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2024-12-16 09:02:13 +02:00
Sakaria Pouke f10ab883a6 Add transparency support to surface graph
Relies on Order independent transparencyín qtquick3d
Accurate OIT relies on commit
cbc1cc8c9bef15690e31485ab76e5ffc47fc59dd

Fixes: QTBUG-129384
Fixes: QTBUG-128235
Change-Id: I6f46a7fd00bf4ec79c5a9944d38e715e3a88dde5
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2024-12-08 20:44:52 +02:00
Sakaria Pouke 46d32cb83b Fix surfacegraph shadow artifacts
Fixes: QTBUG-131853
Pick-to: 6.8
Change-Id: I75b147b1ba9ec3525d857ac60355468f57118cf5
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Sami Varanka <sami.varanka@qt.io>
2024-12-06 11:11:39 +02:00
Sakaria Pouke 1530321fda Add ray picking to all graph types
Adding missing docs for picking

Task-number: QTBUG-129385
Change-Id: Ief9d3a0d50382ae937660f9566b1552c2444c9b6
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2024-12-03 09:22:31 +02:00
Tomi Korpipaa 5bcfc6a453 Fix edgeLabelsVisible property
Pick-to: 6.8
Fixes: QTBUG-131140
Change-Id: Ia750776d0f444beee17e74983b3f87c03ec06b28
Reviewed-by: Sami Varanka <sami.varanka@qt.io>
Reviewed-by: Kwanghyo Park <kwanghyo.park@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2024-11-18 11:01:23 +02:00
Tomi Korpipaa 755d8246de Fix docs for scene, selectedSeries, and selectedElement
Pick-to: 6.8 6.8.1
Task-number: QTBUG-131131
Change-Id: Ia1ad7eac5b5e2a33ea3844202262e53535082480
Reviewed-by: Sami Varanka <sami.varanka@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2024-11-15 12:45:42 +02:00
Tomi Korpipaa 1728887e0a React to userDefinedMesh and mesh change in Surface3D
Pick-to: 6.8.1 6.8
Fixes: QTBUG-130010
Fixes: QTBUG-130011
Fixes: QTBUG-130870
Change-Id: I3516b1af5a1af65ad0060c775143e73af8732167
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2024-11-11 13:20:24 +02:00
Tomi Korpipaa f2c98b5444 Fix selection item label visibility
Pick-to: 6.8
Fixes: QTBUG-130013
Change-Id: I978d65bccaa4c87af40f17b099b1706177c3afee
Reviewed-by: Kwanghyo Park <kwanghyo.park@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Sakaria Pouke <sakaria.pouke@qt.io>
2024-11-05 10:56:23 +02:00
Sami Varanka 4557de44d9 Fix memory leak SurfaceModel list
Pick-to: 6.8
Task-number: QTBUG-127722
Change-Id: Id4bda31a534ea0ebf4079423b0bfd312f7205fc0
Reviewed-by: Kaj Grönholm <kaj.gronholm@qt.io>
2024-08-26 19:19:46 +03:00
Sami Varanka d71fcd078a Avoid memory leak with temporary proxyindex list
Pick-to: 6.8
Task-number: QTBUG-127722
Change-Id: Ie5f8885a84911a22e15d4966734eda0606e5d9b6
Reviewed-by: Sakaria Pouke <sakaria.pouke@qt.io>
Reviewed-by: Kaj Grönholm <kaj.gronholm@qt.io>
2024-08-26 19:19:33 +03:00
Sakaria Pouke 9602bc0c34 Fix slice descending data indexing
Fixes: QTBUG-127500
Pick-to: 6.8
Change-Id: Ie6d6e44732637f2fcd4ee33b6bd383a916db9074
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2024-07-29 09:58:34 +03:00
Sami Varanka 690b569f34 Pass small types by value
Small types fit into 16 bytes.

Pick-to: 6.8
Task-number: QTBUG-127446
Change-Id: Ic609ccef3badcc0eebd88c0099a355b0cf7e9a2e
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2024-07-25 08:58:24 +03:00
Sami Varanka 41d0f05dea Change updaeSliceItemLabel to take const ref
Pick-to: 6.8
Task-number: QTBUG-127390
Change-Id: Ia528cdce2b5673639a84b97035a0b5fa34325286
Reviewed-by: Kaj Grönholm <kaj.gronholm@qt.io>
2024-07-19 18:57:17 +03:00
Dilek Akcay c86ee31bf3 Add an enum class for shading type in Surface3D
Task-number: QTBUG-126146
Pick-to: 6.8
Change-Id: Ide9bd731f348fb83cb10863efc4aa25484d9fac0
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2024-07-15 15:46:48 +03:00
Dilek Akcay 9bd01d6829 Add an enum class for grid line type
Task-number: QTBUG-126147
Pick-to: 6.8
Change-Id: I334b489b01eaf569200740c5fbc76213ce18b4fa
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2024-07-15 14:13:15 +03:00
Tomi Korpipaa 9c62d9f830 Do viewport and quickitem size changes correctly
This patch contains cleanup of the relevant
code and fixes the viewport and window size problems,
but does not fix the main resizing issue.

Also fix autotest failures that appeared after
autotests got enabled.

Pick-to: 6.8
Task-number: QTBUG-126506
Change-Id: Ib722e398ea48fe0d1312ac78c6641c690fb25d87
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2024-07-03 11:37:30 +03:00
Dilek Akcay dfd54c826c Change QGraphs3D namespace name to QtGraphs3D
Task-number: QTBUG-125886
Pick-to: 6.8
Change-Id: Ifcde54306e518c352d9b354c9bfe92c52c0bb0e3
Reviewed-by: Sami Varanka <sami.varanka@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2024-06-19 14:09:12 +00:00
Sakaria Pouke cb4f6f0125 Add item selected check for item label visibilty
Fixes: QTBUG-126269
Pick-to: 6.8
Change-Id: Ibada245167316587462f0c1c85838b0151859dd5
Reviewed-by: Dilek Akcay <dilek.akcay@qt.io>
Reviewed-by: Kwanghyo Park <kwanghyo.park@qt.io>
2024-06-13 09:29:40 +03:00
Dilek Akcay f51cb5027e Change 'enabled' properties to visible in 3D
Task-number: QTBUG-125377
Pick-to: 6.8
Change-Id: I342bb9e6a125867fb5e2bcc858d5254047a3ac23
Reviewed-by: Sami Varanka <sami.varanka@qt.io>
Reviewed-by: Kwanghyo Park <kwanghyo.park@qt.io>
2024-06-11 09:29:53 +00:00
Alexei Cazacov 1d42f9bcbb Docs: Add \qmlsignal descriptions for Qt Graphs 3D
Unify docs for QML properties \qmlsignal use.
Signals for {propertyName}Changed should be documented.

Move qml docs to proper source files.

Task-number: QTBUG-123522
Pick-to: 6.8
Change-Id: I47f34d10dc6bbf46d3c9712cee5d27aa5968a598
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
2024-06-03 11:33:03 +00:00
Sakaria Pouke cbf813718d Fix surface graph smooth normals generation
Result is not perfect but is better
Also renamed variables for clarity

Fixes: QTBUG-125578
Change-Id: I2b79e35e65a091be5f08519a17c673de59e76cd7
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2024-05-30 14:27:02 +03:00
Dilek Akcay 98d5b4ebfd Change SelectionFlag enum to enum class
Task-number: QTBUG-125365
Change-Id: Id890ab19b0126f503824778c06a506dfb706c7b4
Reviewed-by: Sakaria Pouke <sakaria.pouke@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2024-05-30 09:51:22 +00:00
Sami Varanka aae5e99117 Move enums away from QAbstract3DGraph
Fixes: QTBUG-125409
Change-Id: Ide84873da6fe4f59399c8c5f25416db5ae547620
Reviewed-by: Kaj Grönholm <kaj.gronholm@qt.io>
2024-05-22 19:02:19 +03:00
Kwanghyo Park 79b3a6a6ca Fix compile errors for ios build
There are some type conversion issues on ios build
to be fixed by this patch

Change-Id: Idce02b43f1689900ff773af2bff8779ee7410591
Reviewed-by: Kwanghyo Park <kwanghyo.park@qt.io>
2024-05-20 16:27:16 +03:00
Sakaria Pouke 3aed485439 Fix surface UV and normals with descending data
Renamed some shader variables for clarity

Fixes: QTBUG-124833
Change-Id: I1f9b0961fccb6a9134fde65c58921840a3dcbcf8
Reviewed-by: Kwanghyo Park <kwanghyo.park@qt.io>
2024-05-16 18:45:04 +03:00
Sakaria Pouke edf2f4c229 Clip surface graph at y-axis limits
Fixes: QTBUG-125259
Change-Id: I259bed82d2e279d3a44f1543f6ba24897e4ce1ae
Reviewed-by: Dilek Akcay <dilek.akcay@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2024-05-14 13:57:14 +03:00
Sakaria Pouke 63945efba8 Add Surface graph shadow issue to known issues
Also disabling shadows for surface as they do not render correctly

Fixes: QTBUG-125281
Change-Id: I2bcd957c4c9bc6a9eafd292bfba2d913635ae736
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Dilek Akcay <dilek.akcay@qt.io>
2024-05-14 08:56:52 +03:00
Kwanghyo Park c8be94138e Introduce integrated theme for graphs
Task-number: QTBUG-123223
Task-number: QTBUG-123461
Task-number: QTBUG-124837
Task-number: QTBUG-124836
Change-Id: Iaa5ab35a0707fc63329b07f10a203fc63e033f0d
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2024-04-30 08:15:46 +03:00
Dilek Akcay ee56ee614f Change camera type from orthographic to perspective in bars
Task-number: QTBUG-111588
Change-Id: I3aecd2d5c8d13ebefd816ede17aa1524e392ee78
Reviewed-by: Sami Varanka <sami.varanka@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2024-04-08 12:39:54 +00:00
Sakaria Pouke 928aa17974 Improve proxymodel picking accuracy
Picking for the surface now happens one frame late so that the proxy
model can be updated one frame early for accurate picking.

Fixes: QTBUG-124008
Change-Id: I319a5ec9fe7504599f58ec901a0e270158c75168
Reviewed-by: Sami Varanka <sami.varanka@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2024-04-05 15:55:10 +03:00
Sakaria Pouke 743553e0b8 Use Shader to render grid
Task-number: QTBUG-115735
Change-Id: Icf27ac1268683a25fa62b5a8e6db3a112f368426
Reviewed-by: Dilek Akcay <dilek.akcay@qt.io>
Reviewed-by: Sami Varanka <sami.varanka@qt.io>
Reviewed-by: Kwanghyo Park <kwanghyo.park@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2024-03-14 10:34:01 +02:00
Sakaria Pouke 749e0086c2 Fix surface graph wrong label numbers
Fixes: QTBUG-122247
Pick-to: 6.7
Change-Id: I1622bb2fbc869607e66d75f2315d04ed398f2405
Reviewed-by: Sami Varanka <sami.varanka@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2024-02-15 11:08:31 +02:00
Sakaria Pouke 8d502cee98 Fix incorrect point placement in polar graph
Fixes: QTBUG-122182
Pick-to: 6.7
Change-Id: Ic7f4b70bb227c5c80546f453c6cffe37cc2420e6
Reviewed-by: Sami Varanka <sami.varanka@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2024-02-13 16:21:17 +02:00
Sami Varanka 1e4f53a6e0 Warn about using polar with bars
In addtion uncomment crashing test.

Task-number: QTBUG-122112
Pick-to: 6.7
Change-Id: Ib5b58ea556f6dfb956737b2af49783746655af3a
Reviewed-by: Sakaria Pouke <sakaria.pouke@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2024-02-12 11:06:24 +02:00
Sami Varanka 96e0bf9ed8 Fix surface graph scaling
Due to recent changes to the grid, the qml spectogram had its
polar grid too big. This was because the function that calculates
scaling factors ignored polar graph completely.

Task-number: QTBUG-122050
Pick-to: 6.7
Change-Id: I05285bc4a5066acd1ec97199194cd5402307ef51
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Sakaria Pouke <sakaria.pouke@qt.io>
2024-02-09 07:32:49 +00:00
Dilek Akcay 085ea530d8 Remove data members from proxy in surface
Task-number: QTBUG-117226
Change-Id: I85290d5bd25c67f8702dbbfb16b507980aeec4ba
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2024-02-01 15:51:40 +02:00
Sami Varanka dd310faa9a Create the grid with a single geometry
The gridgeometry is drawn with line primitives. Using one geometry for
the whole grid makes it easier to handle the grid as we don't need to
change properties for each individual line nodes. In addition, the grid
line repeaters got removed as they are not needed anymore.

Fixes: QTBUG-116661
Pick-to: 6.7
Change-Id: If657d1cda35ae78c9ef016235d99fecf75d716c9
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
2024-01-29 16:38:42 +02:00
Sakaria Pouke 522e08e0c0 Fix surface texture flip with descending data
Fixes: QTBUG-120977
Pick-to: 6.7
Change-Id: Ic85579e43639c55302a66e4332e2d9c1365b408a
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Kwanghyo Park <kwanghyo.park@qt.io>
2024-01-25 14:47:28 +02:00
Kwanghyo Park 8336667c3a Fix abnormal input handling on touch devices with slice
On touch devices, it should go into slice when rotating the view

Fixes: QTBUG-121440
Change-Id: I68c30952231adaf8ea4f20fbf6b0d8634efd2321
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Sami Varanka <sami.varanka@qt.io>
2024-01-25 11:00:05 +02:00
Kwanghyo Park 58780ff563 Revamp InputHandlers
The previoud input handlers have complicated architecture
to handle various types of inputs and also due to the previous
graphs' architecture.

This introduces a new approach which uses the quick handlers
for any types of input and also uses signal-slot based event
handling instead of setting custom input handlers.

Fixes: QTBUG-114451
Change-Id: I981ac8042fa43d20581605f4c42b25e9d0aa465d
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2024-01-22 06:52:41 +02:00
Sakaria Pouke 8604ddb237 Fix surface slice rendering when axis data is descending
Fixes: QTBUG-120731
Pick-to: 6.7
Change-Id: I0a36a6b0df0130de483bbebc1cbd1c3785d3da09
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Sami Varanka <sami.varanka@qt.io>
2024-01-19 09:22:28 +02:00
Sakaria Pouke a4a57efb63 Fix wireframe toggle when series is not visible
Fixes: QTBUG-120552
Pick-to: 6.7
Change-Id: I674a5614fa6ede47698c4a4962e90629aa46e7fd
Reviewed-by: Sami Varanka <sami.varanka@qt.io>
Reviewed-by: Kwanghyo Park <kwanghyo.park@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Dilek Akcay <dilek.akcay@qt.io>
2024-01-19 09:22:23 +02:00
Sakaria Pouke 32942d1cec Fix jumping to slice view on graph update
Fixes: QTBUG-120480
Pick-to: 6.7
Change-Id: Iccbef707c6f54d6cc397a788c925c64858239e36
Reviewed-by: Kwanghyo Park <kwanghyo.park@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Dilek Akcay <dilek.akcay@qt.io>
2024-01-15 12:43:56 +02:00
Sakaria Pouke d584e2cec9 Return sample space early when out of bounds
Fixes: QTBUG-120701
Pick-to: 6.7
Change-Id: I62c6217c26ddf58eac1cd126b18a0b192a9c2f62
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Sami Varanka <sami.varanka@qt.io>
Reviewed-by: Dilek Akcay <dilek.akcay@qt.io>
2024-01-11 14:27:06 +02:00
Sakaria Pouke 91c96de164 Fix surface slice rendering in polar mode
The patch changes the slice data to be generated straight from the dataproxy rather than the model.

Fixes: QTBUG-120657
Change-Id: If1dceb758832180da8052280aef7d0244e9fa2e0
Reviewed-by: Sami Varanka <sami.varanka@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Dilek Akcay <dilek.akcay@qt.io>
2024-01-10 11:14:04 +02:00
Dilek Akcay d89dce1ba9 Update graph whenever 'Change' buttons are clicked
Pick-to: 6.7
Fixes: QTBUG-120292
Change-Id: I87621e012feab0c494970a0e08e2f03627582793
Reviewed-by: Kwanghyo Park <kwanghyo.park@qt.io>
Reviewed-by: Sakaria Pouke <sakaria.pouke@qt.io>
Reviewed-by: Sami Varanka <sami.varanka@qt.io>
2023-12-29 21:15:24 +00:00
Dilek Akcay 3c1d22a8c0 Exit surface slice graph if main graph is clicked
Pick-to: 6.7
Fixes: QTBUG-120310
Change-Id: I47a105b1886f1c5cc2387f72766439d8846125d9
Reviewed-by: Sakaria Pouke <sakaria.pouke@qt.io>
Reviewed-by: Kwanghyo Park <kwanghyo.park@qt.io>
2023-12-29 21:15:20 +00:00
Dilek Akcay 097f9ea8b2 Clear selected variables if outside of the graph is clicked
Fixes: QTBUG-120209
Change-Id: I97a3b2ef03adab6199317577d2263383bb20c2bc
Reviewed-by: Sami Varanka <sami.varanka@qt.io>
Reviewed-by: Jere Tuliniemi <jere.tuliniemi@qt.io>
Reviewed-by: Sakaria Pouke <sakaria.pouke@qt.io>
2023-12-21 07:38:43 +00:00