QSurfaceDataProxy Class
La clase QSurfaceDataProxy es el proxy de datos para un gráfico de superficie 3D. Más...
| Cabecera: | #include <QSurfaceDataProxy> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS DataVisualization)target_link_libraries(mytarget PRIVATE Qt6::DataVisualization) |
| qmake: | QT += datavisualization |
| Desde: | QtDataVisualization 1.0 |
| En QML: | SurfaceDataProxy |
| Hereda de: | QAbstractDataProxy |
| Heredado de: |
Propiedades
- columnCount : int
- rowCount : int
- series : QSurface3DSeries*
Funciones públicas
| QSurfaceDataProxy(QObject *parent = nullptr) | |
| virtual | ~QSurfaceDataProxy() |
| int | addRow(QSurfaceDataRow *row) |
| int | addRows(const QSurfaceDataArray &rows) |
| const QSurfaceDataArray * | array() const |
| int | columnCount() const |
| void | insertRow(int rowIndex, QSurfaceDataRow *row) |
| void | insertRows(int rowIndex, const QSurfaceDataArray &rows) |
| const QSurfaceDataItem * | itemAt(const QPoint &position) const |
| const QSurfaceDataItem * | itemAt(int rowIndex, int columnIndex) const |
| void | removeRows(int rowIndex, int removeCount) |
| void | resetArray(QSurfaceDataArray *newArray) |
| int | rowCount() const |
| QSurface3DSeries * | series() const |
| void | setItem(const QPoint &position, const QSurfaceDataItem &item) |
| void | setItem(int rowIndex, int columnIndex, const QSurfaceDataItem &item) |
| void | setRow(int rowIndex, QSurfaceDataRow *row) |
| void | setRows(int rowIndex, const QSurfaceDataArray &rows) |
Señales
| void | arrayReset() |
| void | columnCountChanged(int count) |
| void | itemChanged(int rowIndex, int columnIndex) |
| void | rowCountChanged(int count) |
| void | rowsAdded(int startIndex, int count) |
| void | rowsChanged(int startIndex, int count) |
| void | rowsInserted(int startIndex, int count) |
| void | rowsRemoved(int startIndex, int count) |
| void | seriesChanged(QSurface3DSeries *series) |
Relacionados No miembros
Descripción detallada
Un proxy de datos de superficie maneja datos relacionados con la superficie en filas. Para ello proporciona dos typedefs auxiliares: QtDataVisualization::QSurfaceDataArray y QtDataVisualization::QSurfaceDataRow. QSurfaceDataArray es un QList que controla las filas. QSurfaceDataRow es un QList que contiene objetos QSurfaceDataItem. Para más información sobre cómo introducir los datos en el proxy, consulte el código de ejemplo en la documentación de Q3DSurface.
Todas las filas deben tener el mismo número de elementos.
QSurfaceDataProxy se apropia de todos los objetos QSurfaceDataRow que se le pasan, ya sea directamente o en un contenedor QSurfaceDataArray. Para utilizar punteros de fila de datos de superficie para modificar directamente los datos después de añadir la matriz al proxy, se debe emitir la señal apropiada para actualizar el gráfico.
Para hacer una superficie sensible, el valor x de cada elemento sucesivo en todas las filas debe ser ascendente o descendente a lo largo de la fila. Del mismo modo, el valor z de cada elemento sucesivo en todas las columnas debe ser ascendente o descendente en toda la columna.
Nota: actualmente sólo se admiten superficies con filas y columnas rectas. Cualquier fila con elementos que no tengan exactamente el mismo valor z o cualquier columna con elementos que no tengan exactamente el mismo valor x puede recortarse incorrectamente si toda la superficie no encaja completamente dentro de los rangos visibles del eje x o del eje z.
Nota: Las superficies con menos de dos filas o columnas no se consideran superficies válidas y no se renderizarán.
Nota: En algunos entornos, las superficies con muchos vértices visibles pueden no renderizarse, porque exceden el número de vértices por dibujo soportado por el controlador gráfico. Esto ocurre principalmente en plataformas de 32 bits y OpenGL ES2.
Véase también Qt Data Visualization Data Handling.
Documentación de propiedades
[read-only] columnCount : int
Esta propiedad contiene el número de columnas de la matriz de datos.
Funciones de acceso:
| int | columnCount() const |
Señal del notificador:
| void | columnCountChanged(int count) |
[read-only] rowCount : int
Esta propiedad contiene el número de filas de la matriz de datos.
Funciones de acceso:
| int | rowCount() const |
Señal del notificador:
| void | rowCountChanged(int count) |
[read-only] series : QSurface3DSeries*
Esta propiedad contiene la serie a la que se adjunta este proxy.
Funciones de acceso:
| QSurface3DSeries * | series() const |
Señal del notificador:
| void | seriesChanged(QSurface3DSeries *series) |
Documentación de la función miembro
[explicit] QSurfaceDataProxy::QSurfaceDataProxy(QObject *parent = nullptr)
Construye QSurfaceDataProxy con la dirección parent.
[virtual noexcept] QSurfaceDataProxy::~QSurfaceDataProxy()
Elimina el proxy de datos de superficie.
int QSurfaceDataProxy::addRow(QSurfaceDataRow *row)
Añade la nueva fila row al final de un array. La nueva fila debe tener el mismo número de columnas que las filas del array inicial.
Devuelve el índice de la fila añadida.
int QSurfaceDataProxy::addRows(const QSurfaceDataArray &rows)
Añade nuevas rows al final de una matriz. Las nuevas filas deben tener el mismo número de columnas que las filas del array inicial.
Devuelve el índice de la primera fila añadida.
const QSurfaceDataArray *QSurfaceDataProxy::array() const
Devuelve el puntero a la matriz de datos.
[signal] void QSurfaceDataProxy::arrayReset()
Esta señal se emite cuando se reinicia la matriz de datos. Si se cambia el contenido de toda la matriz sin llamar a resetArray(), es necesario emitir esta señal para actualizar el gráfico.
void QSurfaceDataProxy::insertRow(int rowIndex, QSurfaceDataRow *row)
Inserta la nueva fila row en rowIndex. Si rowIndex es igual al tamaño del array, las filas se añaden al final del array. La nueva fila debe tener el mismo número de columnas que las filas de la matriz inicial.
void QSurfaceDataProxy::insertRows(int rowIndex, const QSurfaceDataArray &rows)
Inserta el nuevo rows en rowIndex. Si rowIndex es igual al tamaño del array, las filas se añaden al final del array. El nuevo rows debe tener el mismo número de columnas que las filas del array inicial.
const QSurfaceDataItem *QSurfaceDataProxy::itemAt(const QPoint &position) const
Devuelve el puntero al elemento situado en la posición position. El valor x de position indica la fila y el valor y indica la columna. Se garantiza que el elemento sólo será válido hasta la siguiente llamada que modifique los datos.
const QSurfaceDataItem *QSurfaceDataProxy::itemAt(int rowIndex, int columnIndex) const
Devuelve el puntero al elemento en la posición especificada por rowIndex y columnIndex. Se garantiza que sólo será válido hasta la siguiente llamada que modifique los datos.
[signal] void QSurfaceDataProxy::itemChanged(int rowIndex, int columnIndex)
Esta señal se emite cuando cambia el elemento en la posición especificada por rowIndex y columnIndex. Si el elemento se cambia en la matriz sin llamar a setItem(), esta señal debe emitirse para actualizar el gráfico.
void QSurfaceDataProxy::removeRows(int rowIndex, int removeCount)
Elimina el número de filas especificado por removeCount comenzando en la posición rowIndex. El intento de eliminar filas más allá del final de la matriz no hace nada.
void QSurfaceDataProxy::resetArray(QSurfaceDataArray *newArray)
Toma posesión del array newArray. Borra la matriz existente si la nueva matriz difiere de ella. Si las matrices son iguales, esta función sólo activa la señal arrayReset().
Si se pasa una matriz nula, se borra la matriz antigua y se crea una nueva matriz vacía. Todas las filas de newArray deben tener la misma longitud.
[signal] void QSurfaceDataProxy::rowsAdded(int startIndex, int count)
Esta señal se emite cuando se añade el número de filas especificado por count comenzando en la posición startIndex. Si se añaden filas a la matriz sin llamar a addRow() o addRows(), es necesario emitir esta señal para actualizar el gráfico.
[signal] void QSurfaceDataProxy::rowsChanged(int startIndex, int count)
Esta señal se emite cuando el número de filas especificado por count se modifica a partir de la posición startIndex. Si se cambian filas en el array sin llamar a setRow() o setRows(), esta señal debe ser emitida para actualizar el gráfico.
[signal] void QSurfaceDataProxy::rowsInserted(int startIndex, int count)
Esta señal se emite cuando el número de filas especificado por count se inserta en la posición startIndex.
Si se insertan filas en el array sin llamar a insertRow() o insertRows(), esta señal debe ser emitida para actualizar el gráfico.
[signal] void QSurfaceDataProxy::rowsRemoved(int startIndex, int count)
Esta señal se emite cuando se elimina el número de filas especificado por count comenzando en la posición startIndex.
El índice es el tamaño actual del array si las filas se han eliminado desde el final del array. Si se eliminan filas de la matriz sin llamar a removeRows(), es necesario emitir esta señal para actualizar el gráfico.
void QSurfaceDataProxy::setItem(const QPoint &position, const QSurfaceDataItem &item)
Cambia un único elemento en la posición position al elemento item. El valor x de position indica la fila y el valor y indica la columna.
void QSurfaceDataProxy::setItem(int rowIndex, int columnIndex, const QSurfaceDataItem &item)
Cambia un único elemento en la posición especificada por rowIndex y columnIndex al elemento item.
void QSurfaceDataProxy::setRow(int rowIndex, QSurfaceDataRow *row)
Modifica una fila existente sustituyendo la fila en la posición rowIndex por la nueva fila especificada por row. La nueva fila puede ser la misma que la fila existente ya almacenada en rowIndex. La nueva fila debe tener el mismo número de columnas que la fila a la que sustituye.
void QSurfaceDataProxy::setRows(int rowIndex, const QSurfaceDataArray &rows)
Modifica las filas existentes sustituyendo las filas que comienzan en la posición rowIndex por las nuevas filas especificadas por rows. Las filas de la matriz rows pueden ser las mismas que las filas existentes ya almacenadas en rowIndex. Las nuevas filas deben tener el mismo número de columnas que las filas a las que sustituyen.
No miembros relacionados
QSurfaceDataArray
Una lista de punteros a objetos QSurfaceDataRow.
QSurfaceDataRow
Una lista de objetos QSurfaceDataItem.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.