Commit Graph

263 Commits

Author SHA1 Message Date
Tomi Korpipää 3607a9c92b Added test for QML scene types
Also added missing version 1.2 properties to previously done
tests.

Task-number: QTRD-3368
Change-Id: Ifa5197cecc9bb95ca288a44ebcbd6fbcc0bf1e7d
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-15 11:50:29 +03:00
Mika Salmela f5ee23bb1f Small cleanups for surface
Unnecessary modelMatrix multiplications removed. Intentional whitespace
removal.

Change-Id: I78b8e6f984d44baf7015c9551701b04cb869fc8b
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-15 09:55:37 +03:00
Tomi Korpipää 733bff1b08 Added tests for QML custom items
Also added skeleton for remaining QML tests and some
inheritance updates to documentation.

Task-number: QTRD-3368
Change-Id: I28cb52c4738953b7f281ce91a3764f849643d35a
Change-Id: I28cb52c4738953b7f281ce91a3764f849643d35a
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-15 09:51:10 +03:00
Tomi Korpipää c5d9c5c197 QML tests for theme
Task-number: QTRD-3368
Change-Id: I1fa3de637dafcd601490155e29fb36008b1eafcf
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-15 09:37:22 +03:00
Miikka Heikkinen 91a9698b80 Simplify context handling at cleanup.
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>
2014-10-15 09:37:17 +03:00
Miikka Heikkinen d0244a84f1 Gradient adjustment logic was broken.
Bug in adjustment logic caused adjustment to happen pretty much always.

Task-number: QTRD-3374
Change-Id: Id6151d2d3eb8369bbf9252e4eb4b76ed57fb1f3c
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
2014-10-14 13:33:04 +03:00
Tomi Korpipää 7d954d4852 QML series tests added
Task-number: QTRD-3368
Change-Id: I80ecdb1a9bcef6ed83d278d975d70f7794ff03c1
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-14 11:35:19 +03:00
Tomi Korpipää 961600f654 Bars3D, Surface3D and Scatter3D tests
Task-number: QTRD-3368

+ Removed erroneous property from docs

Change-Id: I675e16b58e7b190b2b33d29029654039a60b5bfc
Change-Id: I675e16b58e7b190b2b33d29029654039a60b5bfc
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-14 09:37:57 +03:00
Miikka Heikkinen 4f70d3777e Fix gradient artifacts on some edge cases
When static optimization is in use with mesh objects and range
gradient, and the object Y-value resolves into a texture coordinate
that is exactly on the texel boundary, the rendered fragments
of the object are not all same colors on some graphics cards,
despite all vertices having the same UV value.
Fixed by adjusting the Y-value slightly if it is close to the
boundary.

Task-number: QTRD-3370
Change-Id: Ie028602cbd9a00bb0e17049eb8f40feb8b18a6bf
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-10-14 08:56:31 +03:00
Miikka Heikkinen 732c9f39f0 Fix context cleanup
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>
2014-10-13 10:33:10 +03:00
Tomi Korpipää 8ff6a5d6d8 Q3DBars, Q3DScatter and Q3DSurface autotests
Task-number: QTRD-3368
Change-Id: I86f1d632fe4421c35cc492161c7334602e6f61c0
Change-Id: I86f1d632fe4421c35cc492161c7334602e6f61c0
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-13 10:23:56 +03:00
Mika Salmela fd9486b6cb Qml performance measurement app
Change-Id: I425da013160a12c1d2b3985e04059886d0695474
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
2014-10-10 13:29:10 +03:00
Tomi Korpipää 220f236a18 Added initial CPP autotests
Task-number: QTRD-3368

Just a skeleton with a very basic test set for now.

Change-Id: I53309374a7d9cbfd06a4cdfbeb302f6649db9c4a
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-10 13:27:07 +03:00
Tomi Korpipää cb5ab9bc21 Basic autotests for Bars3D, Scatter3D and Surface3D
Change-Id: I36b384d2bcb9d2db2464b3eaaaae2c76c3bb740c
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-10 12:28:52 +03:00
Tomi Korpipää 93204b3bda Added initial QML autotests
Just a skeleton for now.

Change-Id: I27d577062e7e96880d843a87b71791f896bc2522
Change-Id: I27d577062e7e96880d843a87b71791f896bc2522
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
2014-10-10 06:05:50 +03:00
Miikka Heikkinen f3a7378273 Fix screen position based queries in threaded rendering environment
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>
2014-10-09 10:09:31 +03:00
Miikka Heikkinen 0d102fc303 Fix minor issues found in testing
Change-Id: If40f10043951409b3d6597776b60d7eb55c73eec
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-10-08 09:52:19 +03:00
Mika Salmela 90ac955006 Fix surface normals on ascending/descending
Normals and triangles are generated according to data direction.

Task-number: QTRD-3160
Change-Id: Ia4286467682628930da3d82b204fd1ec078a396a
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-10-06 11:34:27 +03:00
Tomi Korpipää d5535488b3 Fixed ordering of subviews
Task-number: QTRD-2790
Change-Id: I8ac6ce89920a9c988c7a059e1b02c980a0264200
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2014-10-02 10:30:54 +03:00
Miikka Heikkinen 6821c16e36 Make background margin configurable
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>
2014-09-30 10:08:14 +03:00
Miikka Heikkinen 23717be466 Fix absolutely scaled volumes
Min/max bounds were set incorrectly.

Change-Id: I54e115ef98321531410bcb64146ae32230375d4e
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
2014-09-26 12:21:37 +03:00
Miikka Heikkinen 0ab45b018f Implement zooming to cursor
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>
2014-09-26 10:06:52 +03:00
Miikka Heikkinen 36bc54f572 Allow setting the floor level on bar graphs.
Task-number: QTRD-3313
Change-Id: Ie0f8e36af8698081a6937c360043773da895b6e6
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-09-22 09:35:46 +03:00
Tomi Korpipää 3e795fd544 Fixed custom item wrong side reflection
Task-number: QTRD-3311

Change-Id: Ia5aea90259c249a5ffd48e16fae4e2dc33902afd
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2014-09-17 11:31:14 +03:00
Miikka Heikkinen e5f6ab99b4 Implement volume slice frames
Change-Id: I409f3c95892b26ca6097dd4509109fc9978b9900
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-09-12 12:15:02 +03:00
Miikka Heikkinen ddb9be979d Limit volume to axis ranges
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>
2014-09-10 12:30:54 +03:00
Miikka Heikkinen bb30ea555c Add possibility to scale custom items according to data ranges
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>
2014-09-08 09:21:04 +03:00
Miikka Heikkinen 28777a99f7 Allow setting volume subtexture along any axis
Change-Id: Iafaac6bd2106253bec913d1d9ee8a3f40e339adf
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
2014-09-03 14:34:08 +03:00
Miikka Heikkinen ac96d7ae26 Make volume items draw after regular custom items
Since volume items typically contain transparencies, make them
draw after regular custom items, which are less likely to be
transparent.

Change-Id: Id7c48b6c77d7ed8654b72923d7dccf4158c9c088
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-09-03 09:43:19 +03:00
Miikka Heikkinen d85e665b11 QML support for volume items
Change-Id: I4061bfd4d288aabaea76847c9f692e71ecf5f94c
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-09-03 09:12:28 +03:00
Miikka Heikkinen 57726e6752 Change volumetric example to show fictional terrain
Change-Id: I7cb3c59acef5364ff964da3e756d2db387b53308
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-09-03 09:12:19 +03:00
Miikka Heikkinen 3c2d0623c7 Add option to use low definition volume shader.
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>
2014-09-02 09:11:56 +03:00
Mika Salmela 6ec2eb3147 Diffuse and specular color for static optimization
Change-Id: I2c51ba06c6af9193a70f4a268dfd2fbd6c6910b3
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2014-08-27 11:49:15 +03:00
Tomi Korpipää fcac33d0ee Reflection API added
Task-number: QTRD-3287

Change-Id: I6c06b8fe025e0f1f87be00be906cab0e1f18a19f
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2014-08-26 11:57:58 +03:00
Miikka Heikkinen 5a51d06ec8 Add alpha multiplier to QCustom3DVolume api
Change-Id: I856c4166513f6d6f7b73fd52bc46d52ab1b8fdff
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
2014-08-25 15:01:10 +03:00
Miikka Heikkinen f9bb71fd11 Implement API function for rendering volume slice to an image.
Change-Id: Iea18967c3b525a8d4507a06e6541c85ed3abb470
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-08-25 08:17:45 +03:00
Miikka Heikkinen ae411d84b9 Tweak volume shaders.
Also fix custom object default texture.

Change-Id: Iba9ff6afb807d9f7a4e1f58b0e5fb4bca4c9c431
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
2014-08-22 14:47:54 +03:00
Miikka Heikkinen 169a4d638c Implement volume rendering support
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>
2014-08-18 09:11:30 +03:00
Miikka Heikkinen dd99eb7374 Enable camera targeting.
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>
2014-08-06 08:39:25 +03:00
Miikka Heikkinen 1b311517f8 Exposed default input handlers to QML
Also added properties to control rotation, zoom, and selection
individually.

Also added missing documentation about surface texture.

Task-number: QTRD-3202
Change-Id: I981edb7f336aea499440559f4a2098711200206d
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
2014-07-04 12:55:05 +03:00
Mika Salmela 6e4fb23270 Texture to surface
API for setting a texture to surface.

Task-number: QTRD-3232
Change-Id: Icd9de61882b54b9c1fc84a742e49980926ca681d
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2014-07-04 10:03:13 +03:00
Miikka Heikkinen 4e9ed2481a Fix labels and grid lines changing size when aspect ratio is changed
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>
2014-07-02 07:53:54 +03:00
Miikka Heikkinen a1293a58e0 Added horizontal aspect ratio property for abstract graphs
Value 0.0 indicates automatic scaling (the default).

Task-number: QTRD-3192
Change-Id: I5e4cc1b7a03c0ba811e2ed3916a440906429af57
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
2014-07-01 10:57:08 +03:00
Miikka Heikkinen 600aa5708e Adjust background margins based on angular labels and title
Also separated the vertical and horizontal background margins.

Task-number: QTRD-3184
Change-Id: I988217d4df7749585dd85b5ea8f3f50254dca6ad
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
2014-06-30 08:14:38 +03:00
Miikka Heikkinen 47cc882034 Polar chart for scatter
Task-number: QTRD-3184
Change-Id: Ie8e10050e58a3630eda87ec44fb342776d667ae6
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
2014-06-26 13:53:18 +03:00
Miikka Heikkinen ec195a3459 Polar graph support, phase one
- 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>
2014-06-26 10:43:30 +03:00
Miikka Heikkinen 964a6c7f8f Add testing of renderToImage to scatter test
Change-Id: I03c3868ac7c98658fafa71c19409eb3afe851a10
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-06-04 13:54:34 +03:00
Miikka Heikkinen b49bd4aea2 Misc fixes found during testing
- Memory leaks
- Y-axis placement issues in scatter and surface

Change-Id: I7ec6c9c3e53502445b52c049c973186a7c54c95f
Reviewed-by: Titta Heikkala <titta.heikkala@digia.com>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-06-04 08:26:32 +03:00
Miikka Heikkinen f667d18c84 Fix surface shadows and other misc fixes
- Remove culling from surface shadows to make them look correct
- Remove unnecessary metatype registration from qmloscilloscope
- itemmodeltest multi-change fixed
- Valgrind fixes

Task-number: QTRD-3160
Change-Id: I2da8b3e024dae56c52afb6b915535f49c6c987fc
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-06-03 13:36:50 +03:00
Miikka Heikkinen 5170c3fb57 Fix various issues
Change-Id: I4a6d4775f3ca578370a9ce23491bddcb0f5486ec
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-06-02 08:11:46 +03:00
Tomi Korpipää f1d7a46797 Added CustomLabelItem
Task-number: QTRD-3135
Change-Id: Ie13c7ab5cbfca2eef88ed4ca17eaf46f2aeb4788
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2014-05-28 13:51:16 +03:00
Miikka Heikkinen bda4432c80 Implement binary search for determining surface sample space
Task-number: QTRD-3066
Change-Id: I3a6d727c528e37e914aa1c3f08ee6d268a2c5230
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-05-28 11:35:38 +03:00
Miikka Heikkinen d9cb05d0f4 Optionally show axis titles on the graph
Task-number: QTRD-2961
Change-Id: I6a344156bd29fa8fb1ede0546af4d0e67e5e2db4
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-05-27 10:23:53 +03:00
Tomi Korpipää 5611563234 Added API for changing data aspect ratio
Task-number: QTRD-3144
Change-Id: I9acd1be13083d7fbbed840882260a60f46c5f698
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2014-05-26 10:00:29 +03:00
Tomi Korpipää 4a56455f7a Android and iOS config fix
+ example tweak

Change-Id: I408cd43a7af3efceccd42bd2439803e41c5272d6
Change-Id: I408cd43a7af3efceccd42bd2439803e41c5272d6
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-05-22 12:49:52 +03:00
Miikka Heikkinen cb79f11be1 Cache ObjectHelper instances
Task-number: QTRD-2792
Change-Id: I90d83bd9b73a0f337fd26f1b92000e72b3ec0607
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-05-22 08:03:06 +03:00
Tomi Korpipää b6da9160b2 Do not draw custom items outside axis ranges
Task-number: QTRD-3057
Change-Id: Icb8904fa0a1c009985ac21ee6fa51eefda81d9cc
Change-Id: Icb8904fa0a1c009985ac21ee6fa51eefda81d9cc
Reviewed-by: Titta Heikkala <titta.heikkala@digia.com>
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
2014-05-20 09:54:02 +03:00
Tomi Korpipää 05792cdf51 texture filename & test bug fix
Change-Id: I40a5084de0cf59cee6373d3fcba4bdb9c39a4139
Change-Id: I40a5084de0cf59cee6373d3fcba4bdb9c39a4139
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-05-19 13:10:28 +03:00
Tomi Korpipää 806fd8ab43 Added property for disabling shadows on custom items
Task-number: QTRD-3093
Change-Id: Ia24a1bc657af1bb1a528581e1f65fb50277e6874
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2014-05-19 10:17:15 +03:00
Tomi Korpipää 8015a58ea8 Added visible flag and possibility to release ownership of custom item
Task-number: QTRD-3080
Change-Id: I198930c48fe9bce6a158406aff5fbf31272b9afe
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2014-05-14 13:44:46 +03:00
Miikka Heikkinen 5f9be2bd06 Multi-match behavior implementation for surface item model proxy
Task-number: QTRD-3074
Change-Id: I2dc67f0c524bce87498129bbc462bd8f014b8d2c
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-05-14 09:26:37 +03:00
Miikka Heikkinen 576050ff96 Multi-match behavior implementation for bar item model proxy
Task-number: QTRD-3074
Change-Id: I8e34d2546198a743e0132f0ce201dd38daf7ce7a
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-05-13 12:57:45 +03:00
Miikka Heikkinen 3d7f8820a8 Enable mapping single role to multiple properties for scatter
Task-number: QTRD-3074
Change-Id: I7b1d338d28000eee7563a11a6069453f3e349c16
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-05-12 13:11:39 +03:00
Miikka Heikkinen 4dcef4be65 Enable mapping single role to multiple properties for surface
Task-number: QTRD-3074
Change-Id: If40de067526b6f24b3e55bf64ed804a79d473e5f
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Reviewed-by: Titta Heikkala <titta.heikkala@digia.com>
2014-05-12 12:26:20 +03:00
Tomi Korpipää 6880277f23 CustomDataItem made into a public class
Task-number: QTRD-3055
Change-Id: I1e449df7c1bcb48fc639dbae579e2e1499c9ef2b
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-05-12 10:07:15 +03:00
Miikka Heikkinen 590d11726e Enable mapping single role to multiple properties for bars
Surface and scatter to follow in separate task

Task-number: QTRD-3074
Change-Id: I790078446cd1b805a83da2e3760eaf27c586aaab
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-05-09 13:44:47 +03:00
Miikka Heikkinen 7b6ae38253 Allow surface rows and cols be in ascending or descending XZ order
This allows adding rows that have smaller Z-value than the
previously added row instead of being forced to insert rows
into the beginning of the data array in these cases.

Task-number: QTRD-2428
Change-Id: I4dc6c5a48a55ca494a2372f917aa7447f61f336e
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-05-08 08:37:22 +03:00
Miikka Heikkinen 8ff45fe94c Value axis reversing support
Task-number: QTRD-2428
Change-Id: I51b3a1f8f974d5b72b36ee1188b7557539b9609b
Reviewed-by: Titta Heikkala <titta.heikkala@digia.com>
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
2014-05-08 08:37:17 +03:00
Miikka Heikkinen dcb83cfdc0 Optimize single item changes in bar/surface item models.
We are only able to optimize this in cases where rows and
columns of the model are directly mapped to rows and columns
of the data proxy. In other cases we do not know if the new
values of the changed data item in the model actually specify the
same row/column in our data proxy as the previous values.

Task-number: QTRD-2190
Change-Id: Ie014469ac894474900e5cfd6d91fd1a60353b1f7
Reviewed-by: Titta Heikkala <titta.heikkala@digia.com>
2014-05-02 14:05:28 +03:00
Miikka Heikkinen 13d1117087 Scatter data changing optimization.
No longer reset the entire render item array if single item
changes, significantly speeding up this operation.

Task-number: QTRD-2190
Change-Id: Ia3de833b761dc6f24acff581ad79668f51c3e9c5
Reviewed-by: Titta Heikkala <titta.heikkala@digia.com>
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
2014-05-02 10:53:05 +03:00
Miikka Heikkinen 44b410f080 Bar data item and row changing optimizations
No longer reset the entire render item array if single item or
row changes, significantly speeding up these operations.

Task-number: QTRD-2190
Change-Id: I44b8abd384003e252e4bfc34af5d73ac1dee34bf
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
2014-04-30 13:35:41 +03:00
Tomi Korpipää 555acef736 Added QML support for custom items
Task-number: QTRD-3048

Change-Id: I90e6fbee38bae858c2e0910178684e28eacc6472
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
2014-04-23 11:43:41 +03:00
Miikka Heikkinen 79646ac966 Added some tests for massive arrays
Change-Id: Iac99e4fddbbbcb9074051199815e0c58412582fa
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-04-11 13:28:33 +03:00
Miikka Heikkinen 28e42188ef Optimize multiple series rendering.
Cache all series instead of just the visible ones on all graphs
instead of just surface.
Changes to one series now trigger data update to only the affected
series, which should significantly improve performance in these
cases.

Task-number: QTRD-2600
Task-number: QTRD-2957

Change-Id: I6db7c689108fce8d25aace6682a193936d6f0eaf
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-04-10 08:20:49 +03:00
Miikka Heikkinen 1b5d9a30ad Introduce fps measurement via properties
Task-number: QTRD-2134

Change-Id: I181ee6c784b998886c2292b7548e16ce75d86458
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-04-04 10:54:54 +03:00
Miikka Heikkinen aaf51bfad1 Enable querying selection label via API
Also enable suppressing drawing the label on graph.

Selection label formatting was consequently moved from renderers
to series.

Task-number: QTRD-2896

Change-Id: Ia6a1a40298d8db0f54349de3eb27fb0b683dd302
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-04-03 09:27:54 +03:00
Miikka Heikkinen fffa26dc14 Improve axis formatter flexibility
Number of grid lines and labels are no longer tied to segment
count.

Change-Id: I517ebc905f1f70e2e00ae86c05fd0e49e922845d
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-03-28 07:47:21 +02:00
Miikka Heikkinen b36b9eb7c6 Implement QLogValue3DAxisFormatter
Task-number: QTRD-2787

Change-Id: I6ecff5c3d2047a2c566051951bf237bf3e68ffab
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2014-03-26 12:25:18 +02:00
Miikka Heikkinen 724bcb3513 Actually use axis formatter in renderer.
Task-number: QTRD-2787

Change-Id: I0ced8e506928df5fba2e8df94258b53457f4412e
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
2014-03-25 08:17:53 +02:00
Miikka Heikkinen ba812351a1 Introduce value axis formatter
Currently only used for label formatting.

Also some other preparatory changes for logaxis.

Task-number: QTRD-2787

Note: Not to be merged until 1.0 is released

Change-Id: I2d7ab70b9c51677d0edd5b0226fb779c9e346286
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-03-24 09:34:40 +02:00
Tomi Korpipää d31860a8d9 Qt5.3.0 fix for qmlmultigraph example and test
Change-Id: Ib93917992c9cd8e744d4f8156271614893f8679e
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2014-03-14 08:10:41 +02:00
Miikka Heikkinen 5d224030a5 New multi-window test app
Change-Id: Iff97d020ef6104d266dbc53931e44d494b415800
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-02-28 13:12:54 +02:00
Tomi Korpipää e2904862ff Q3DCamera doc and API update
Change-Id: Id33645c7f921ad7289c2e368a656ee1c7b2d69ea
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2014-02-27 08:50:19 +02:00
Miikka Heikkinen 149c93ced7 Fix Valgrind found issues
Change-Id: Iccacab527abf745e7ccd1e562ff9ea5dea4c8005
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-02-25 12:34:12 +02:00
Tomi Korpipää 1cd67696b8 Kinect demo compilation fix
Change-Id: Ic50a84edff5775e724a0ccaf32626f971a346be9
Change-Id: Ic50a84edff5775e724a0ccaf32626f971a346be9
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-02-21 13:41:30 +02:00
Mika Salmela 1b6d1a300c Multiseries support for selection pointer
Task-number: QTRD-2515

Change-Id: Id3611533c4dd333b68b96669c7230707506b68ab
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2014-02-21 12:37:52 +02:00
Miikka Heikkinen 73e83d1394 Misc fixes
+ Rectangle used as main item in qml examples to make ui consistent
+ Surface autoaxis adjustment fixes for multiseries case
+ Qmlsurface example UI tweaks

Change-Id: Ie75b0efc08f9a56ca709f079b28865e34caa8641
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-02-21 08:05:01 +02:00
Miikka Heikkinen e083a4ccd8 Document the rendering changes
Change-Id: I100a516f6f5d8047b88f6d81cd8794979211df20
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-02-20 10:20:19 +02:00
Mika Salmela e0034b33b9 Scaling and offset support for multiseries
Task-number: QTRD-2868

Change-Id: I47cb0c6e26e2445ca39426e6a52963b80ebb3816
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2014-02-20 09:28:00 +02:00
Miikka Heikkinen 0f9aab7f37 Get rid of applicationviewer generated files
These tamper with examples installation, which we do not want.

Change-Id: Ibc81a5fe3323c2c831f21cdea94d941704abc641
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-02-13 12:44:03 +02:00
Miikka Heikkinen 88cd10aa7b Fix examples installation
Had to add one folder to the examples structure so
installation works correctly.

Change-Id: Ic92dfe9997413a6243abcf5eeba12744ba9e938c
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-02-13 10:09:17 +02:00
Miikka Heikkinen aa9ff418cd Bring back example installation
Change-Id: I7ee92a571cdcb676e962cbd0c446dfb08ee23dcc
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-02-13 10:03:15 +02:00
Miikka Heikkinen 396a01b474 Take qml_plugin.prf into use
Enables us to lose a bunch of hacks.

Change-Id: Id7641012004428aa9782cfb5dbaf9fc9c4629706
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-02-13 06:23:16 +02:00
Mika Salmela 64acaf065f Multiseries support for surface slice
Task-number: QTRD-2867

Change-Id: I705e3b743ab9d561d93039a60288d71627db8661
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2014-02-11 14:16:13 +02:00
Mika Salmela 51ad2b7e53 Multiseries support for surface
Multiseries support for item and row changes.

Task-number: QTRD-2767
Change-Id: I5702989e7f59913481a2ca888e402effa22a4221
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2014-02-10 10:30:49 +02:00
Miikka Heikkinen 61c84e2d9c Mostly revert the rotations refactor
Quaternions are actually easier to use in most use cases.
Added some convenience functionality for QML to enable using
axis/angle combinations, too.

Change-Id: I61c76e0967b4808aa9adaf43dfe6f4596c9ce353
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-02-10 08:25:28 +02:00
Miikka Heikkinen 811be6f81b Change rotations to use angle and vector in APIs
Quaternions are pain in the behind to use, especially
in QML, so change them to angle + vector combinations.

Change-Id: I25eb5ea92deaf3a079e2e193cce2e8de89f3c3c4
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-02-06 14:23:31 +02:00
Mika Salmela e91237b54c Multiseries support for surface
Task-number: QTRD-2767

Change-Id: Ifa7ca07f2afdb27974ad20819f0a4646293764b0
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2014-02-06 13:00:59 +02:00
Miikka Heikkinen 79f3a4d7aa Add qmloscilloscope example
+Fix itemAt() in surface proxy
+Add itemAt(QPoint) in bar and surface proxies
+Misc fixes to other examples

Task-number: QTRD-2816
Change-Id: I5e06cfce98f74719a20885e3ca5a1e6fefb23a9c
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-02-05 10:26:36 +02:00
Tomi Korpipää 2094558616 QML filename corrections
Change-Id: I3f24a75fd59e342a0dcb9d4cf325e3cf735ae653
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
2014-02-03 09:09:06 +02:00