QSurfaceDataProxy Class
The QSurfaceDataProxy class is the data proxy for a 3D surface graph. More...
| Header: | #include <QSurfaceDataProxy> |
| qmake: | QT += datavisualization |
| Since: | QtDataVisualization 1.0 |
| Instantiated By: | SurfaceDataProxy |
| Inherits: | QAbstractDataProxy |
| Inherited By: |
This class was introduced in QtDataVisualization 1.0.
Properties
- columnCount : const int
- rowCount : const int
- series : QSurface3DSeries* const
Public Functions
| int | columnCount() const |
| int | rowCount() const |
| QSurface3DSeries * | series() const |
Signals
| void | columnCountChanged(int count) |
| void | rowCountChanged(int count) |
| void | seriesChanged(QSurface3DSeries *series) |
Related Non-Members
| typedef | QSurfaceDataArray |
| typedef | QSurfaceDataRow |
Detailed Description
A surface data proxy handles surface related data in rows. For this it provides two auxiliary typedefs: QtDataVisualization::QSurfaceDataArray and QtDataVisualization::QSurfaceDataRow. QSurfaceDataArray is a QList that controls the rows. QSurfaceDataRow is a QVector that contains QSurfaceDataItem objects. For more information about how to feed the data to the proxy, see the sample code in the Q3DSurface documentation.
All rows must have the same number of items.
QSurfaceDataProxy takes ownership of all QSurfaceDataRow objects passed to it, whether directly or in a QSurfaceDataArray container. To use surface data row pointers to directly modify data after adding the array to the proxy, the appropriate signal must be emitted to update the graph.
To make a sensible surface, the x-value of each successive item in all rows must be either ascending or descending throughout the row. Similarly, the z-value of each successive item in all columns must be either ascending or descending throughout the column.
Note: Currently only surfaces with straight rows and columns are fully supported. Any row with items that do not have the exact same z-value or any column with items that do not have the exact same x-value may get clipped incorrectly if the whole surface does not completely fit within the visible x-axis or z-axis ranges.
Note: Surfaces with less than two rows or columns are not considered valid surfaces and will not be rendered.
Note: On some environments, surfaces with a lot of visible vertices may not render, because they exceed the per-draw vertex count supported by the graphics driver. This is mostly an issue on 32-bit and OpenGL ES2 platforms.
See also Qt Data Visualization Data Handling.
Property Documentation
columnCount : const int
This property holds the number of columns in the data array.
Access functions:
| int | columnCount() const |
Notifier signal:
| void | columnCountChanged(int count) |
rowCount : const int
This property holds the number of rows in the data array.
Access functions:
| int | rowCount() const |
Notifier signal:
| void | rowCountChanged(int count) |
series : QSurface3DSeries* const
This property holds the series this proxy is attached to.
Access functions:
| QSurface3DSeries * | series() const |
Notifier signal:
| void | seriesChanged(QSurface3DSeries *series) |
Related Non-Members
typedef QSurfaceDataArray
A list of pointers to QSurfaceDataRow objects.
typedef QSurfaceDataRow
A vector of QSurfaceDataItem objects.