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#

Properties#

  • columnCount - Number of columns in the data array

  • rowCount - Number of rows in the data array

  • series - This proxy is attached to

Functions#

Signals#

Note

This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE

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.

Note

Properties can be used directly when from __feature__ import true_property is used or via accessor functions otherwise.

property PᅟySide6.QtDataVisualization.QSurfaceDataProxy.columnCount: int#

This property holds The number of columns in the data array..

Access functions:
property PᅟySide6.QtDataVisualization.QSurfaceDataProxy.rowCount: int#

This property holds The number of rows in the data array..

Access functions:
property PᅟySide6.QtDataVisualization.QSurfaceDataProxy.series: PySide6.QtDataVisualization.QSurface3DSeries#

This property holds The series this proxy is attached to..

Access functions:
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()#

This signal is emitted when the data array is reset. If the contents of the whole array are changed without calling resetArray() , this signal needs to be emitted to update the graph.

PySide6.QtDataVisualization.QSurfaceDataProxy.columnCount()#
Return type:

int

Getter of property columnCount .

PySide6.QtDataVisualization.QSurfaceDataProxy.columnCountChanged(count)#
Parameters:

count – int

Notification signal of property columnCount .

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

This signal is emitted when the item at the position specified by rowIndex and columnIndex changes. If the item is changed in the array without calling setItem() , this signal needs to be emitted to update the graph.

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(arg__1)#
Parameters:

arg__1QSurfaceDataArray

PySide6.QtDataVisualization.QSurfaceDataProxy.resetArrayNp(x, deltaX, z, deltaZ, data)#
Parameters:
  • xdouble

  • deltaXdouble

  • zdouble

  • deltaZdouble

  • dataPyArrayObject

Populates the data from a 2 dimensional numpy array containing the y values for a range starting a x, z with steps of deltaX, deltaZ, respectively.

PySide6.QtDataVisualization.QSurfaceDataProxy.rowCount()#
Return type:

int

Getter of property rowCount .

PySide6.QtDataVisualization.QSurfaceDataProxy.rowCountChanged(count)#
Parameters:

count – int

Notification signal of property rowCount .

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

  • count – int

This signal is emitted when the number of rows specified by count is added starting at the position startIndex. If rows are added to the array without calling addRow() or addRows() , this signal needs to be emitted to update the graph.

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

  • count – int

This signal is emitted when the number of rows specified by count is changed starting at the position startIndex. If rows are changed in the array without calling setRow() or setRows() , this signal needs to be emitted to update the graph.

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

  • count – int

This signal is emitted when the number of rows specified by count is inserted at the position startIndex.

If rows are inserted into the array without calling insertRow() or insertRows() , this signal needs to be emitted to update the graph.

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

  • count – int

This signal is emitted when the number of rows specified by count is removed starting at the position startIndex.

The index is the current array size if the rows were removed from the end of the array. If rows are removed from the array without calling removeRows() , this signal needs to be emitted to update the graph.

PySide6.QtDataVisualization.QSurfaceDataProxy.series()#
Return type:

PySide6.QtDataVisualization.QSurface3DSeries

Getter of property series .

PySide6.QtDataVisualization.QSurfaceDataProxy.seriesChanged(series)#
Parameters:

seriesPySide6.QtDataVisualization.QSurface3DSeries

Notification signal of property series .

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.