QSurfaceDataProxy

The QSurfaceDataProxy class is the data proxy for a 3D surface graph. More

Inheritance diagram of PySide6.QtDataVisualization.QSurfaceDataProxy

Inherited by: QItemModelSurfaceDataProxy, QHeightMapSurfaceDataProxy

Synopsis

Functions

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 QList 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.

class PySide6.QtDataVisualization.QSurfaceDataProxy([parent=None])
Parameters

parentPySide6.QtCore.QObject

Constructs QSurfaceDataProxy with the given parent.

PySide6.QtDataVisualization.QSurfaceDataProxy.addRow(arg__1)
Parameters

arg__1

Return type

int

PySide6.QtDataVisualization.QSurfaceDataProxy.addRows(rows)
Parameters

rowsQSurfaceDataArray

Return type

int

Adds new rows to the end of an array. The new rows must have the same number of columns as the rows in the initial array.

Returns the index of the first added row.

PySide6.QtDataVisualization.QSurfaceDataProxy.array()
Return type

QSurfaceDataArray

Returns the pointer to the data array.

PySide6.QtDataVisualization.QSurfaceDataProxy.arrayReset()
PySide6.QtDataVisualization.QSurfaceDataProxy.columnCount()
Return type

int

PySide6.QtDataVisualization.QSurfaceDataProxy.columnCountChanged(count)
Parameters

count – int

PySide6.QtDataVisualization.QSurfaceDataProxy.insertRow(arg__1, arg__2)
Parameters
  • arg__1 – int

  • arg__2

PySide6.QtDataVisualization.QSurfaceDataProxy.insertRows(rowIndex, rows)
Parameters
  • rowIndex – int

  • rowsQSurfaceDataArray

Inserts new rows into rowIndex. If rowIndex is equal to the array size, the rows are added to the end of the array. The new rows must have the same number of columns as the rows in the initial array.

PySide6.QtDataVisualization.QSurfaceDataProxy.itemAt(position)
Parameters

positionPySide6.QtCore.QPoint

Return type

PySide6.QtDataVisualization.QSurfaceDataItem

Returns the pointer to the item at the position position. The x-value of position indicates the row and the y-value indicates the column. The item is guaranteed to be valid only until the next call that modifies data.

PySide6.QtDataVisualization.QSurfaceDataProxy.itemAt(rowIndex, columnIndex)
Parameters
  • rowIndex – int

  • columnIndex – int

Return type

PySide6.QtDataVisualization.QSurfaceDataItem

Returns the pointer to the item at the position specified by rowIndex and columnIndex. It is guaranteed to be valid only until the next call that modifies data.

PySide6.QtDataVisualization.QSurfaceDataProxy.itemChanged(rowIndex, columnIndex)
Parameters
  • rowIndex – int

  • columnIndex – int

PySide6.QtDataVisualization.QSurfaceDataProxy.removeRows(rowIndex, removeCount)
Parameters
  • rowIndex – int

  • removeCount – int

Removes the number of rows specified by removeCount starting at the position rowIndex. Attempting to remove rows past the end of the array does nothing.

PySide6.QtDataVisualization.QSurfaceDataProxy.resetArray(newArray)
Parameters

newArrayQSurfaceDataArray

Takes ownership of the array newArray. Clears the existing array if the new array differs from it. If the arrays are the same, this function just triggers the signal.

Passing a null array deletes the old array and creates a new empty array. All rows in newArray must be of same length.

PySide6.QtDataVisualization.QSurfaceDataProxy.rowCount()
Return type

int

PySide6.QtDataVisualization.QSurfaceDataProxy.rowCountChanged(count)
Parameters

count – int

PySide6.QtDataVisualization.QSurfaceDataProxy.rowsAdded(startIndex, count)
Parameters
  • startIndex – int

  • count – int

PySide6.QtDataVisualization.QSurfaceDataProxy.rowsChanged(startIndex, count)
Parameters
  • startIndex – int

  • count – int

PySide6.QtDataVisualization.QSurfaceDataProxy.rowsInserted(startIndex, count)
Parameters
  • startIndex – int

  • count – int

PySide6.QtDataVisualization.QSurfaceDataProxy.rowsRemoved(startIndex, count)
Parameters
  • startIndex – int

  • count – int

PySide6.QtDataVisualization.QSurfaceDataProxy.series()
Return type

PySide6.QtDataVisualization.QSurface3DSeries

PySide6.QtDataVisualization.QSurfaceDataProxy.seriesChanged(series)
Parameters

seriesPySide6.QtDataVisualization.QSurface3DSeries

PySide6.QtDataVisualization.QSurfaceDataProxy.setItem(position, item)
Parameters

Changes a single item at the position position to the item item. The x-value of position indicates the row and the y-value indicates the column.

PySide6.QtDataVisualization.QSurfaceDataProxy.setItem(rowIndex, columnIndex, item)
Parameters

Changes a single item at the position specified by rowIndex and columnIndex to the item item.

PySide6.QtDataVisualization.QSurfaceDataProxy.setRow(arg__1, arg__2)
Parameters
  • arg__1 – int

  • arg__2

PySide6.QtDataVisualization.QSurfaceDataProxy.setRows(rowIndex, rows)
Parameters
  • rowIndex – int

  • rowsQSurfaceDataArray

Changes existing rows by replacing the rows starting at the position rowIndex with the new rows specifies by rows. The rows in the rows array can be the same as the existing rows already stored at the rowIndex. The new rows must have the same number of columns as the rows they are replacing.