Spec-Zone.ru › Qt 5.11

Класс QSurfaceDataProxy

Класс QSurfaceDataProxy — это прокси-объект данных для графиков 3D-поверхностей. Подробнее...

Заголовок: #include <QSurfaceDataProxy>
С момента: QtDataVisualization 1.0
Инициализируется: SurfaceDataProxy
Наследует от: QAbstractDataProxy
Наследуется:

QHeightMapSurfaceDataProxy и QItemModelSurfaceDataProxy

  • Список всех членов, включая наследуемые

Свойства

  • columnCount : const int
  • rowCount : const int
  • series : QSurface3DSeries* const
  • 1 свойство унаследовано от QAbstractDataProxy
  • 1 свойство унаследовано от QObject

Открытые функции

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(int rowIndex, int columnIndex) const
const QSurfaceDataItem * itemAt(const QPoint &position) const
void removeRows(int rowIndex, int removeCount)
void resetArray(QSurfaceDataArray *newArray)
int rowCount() const
QSurface3DSeries * series() const
void setItem(int rowIndex, int columnIndex, const QSurfaceDataItem &item)
void setItem(const QPoint &position, const QSurfaceDataItem &item)
void setRow(int rowIndex, QSurfaceDataRow *row)
void setRows(int rowIndex, const QSurfaceDataArray &rows)
  • 1 открытая функция унаследована от QAbstractDataProxy
  • 34 открытых функции унаследовано от QObject

Сигналы

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)
  • 2 сигнала унаследованы от QObject

Связанные нечлены

typedef QSurfaceDataArray
typedef QSurfaceDataRow

Дополнительные унаследованные члены

  • 1 открытый слот унаследован от QObject
  • 1 открытая переменная унаследована от QObject
  • 10 статических открытых членов унаследовано от QObject
  • 9 защищенных функций унаследовано от QObject
  • 2 защищенных переменных унаследовано от QObject

Подробное описание

Класс QSurfaceDataProxy — это прокси-объект данных для графиков 3D-поверхностей.

Прокси-объект данных поверхностей обрабатывает данные, связанные с поверхностью, в строках. Для этого он предоставляет два вспомогательных typedef: QtDataVisualization::QSurfaceDataArray и QtDataVisualization::QSurfaceDataRow. QSurfaceDataArray — это QList, который управляет строками. QSurfaceDataRow — это QVector, который содержит объекты QSurfaceDataItem. Дополнительную информацию о том, как передавать данные в прокси-объект, см. в примерах кода в документации Q3DSurface.

Все строки должны иметь одинаковое количество элементов.

QSurfaceDataProxy принимает на себя владение всеми объектами QSurfaceDataRow, переданными ему, как напрямую, так и в контейнере QSurfaceDataArray. Чтобы использовать указатели на строки данных поверхности для прямого изменения данных после добавления массива в прокси-объект, необходимо выпустить соответствующий сигнал для обновления графика.

Для создания осмысленной поверхности x-значение каждого последующего элемента во всех строках должно быть либо возрастающим, либо убывающим в течение всей строки. Аналогично, z-значение каждого последующего элемента во всех столбцах должно быть либо возрастающим, либо убывающим в течение всего столбца.

Примечание: В настоящее время полностью поддерживаются только поверхности с прямыми строками и столбцами. Любая строка с элементами, которые не имеют точно такое же z-значение, или любой столбец с элементами, которые не имеют точно такое же x-значение, могут быть неправильно обрезаны, если вся поверхность полностью не помещается в видимые диапазоны осей x или z.

Примечание: Поверхности с менее чем двумя строками или столбцами считаются недействительными поверхностями и не будут отображаться.

Примечание: В некоторых средах поверхности с большим количеством видимых вершин могут не отображаться, потому что они превышают количество вершин на отрисовку, поддерживаемое графическим драйвером. Это, в основном, проблема на 32-битных и OpenGL ES2 платформах.

См. также Обработка данных Qt Data Visualization.

Документация свойств

columnCount : const int

Это свойство содержит количество столбцов в массиве данных.

Функции доступа:

int columnCount() const

Сигнал уведомления:

void columnCountChanged(int count)

rowCount : const int

Это свойство содержит количество строк в массиве данных.

Функции доступа:

int rowCount() const

Сигнал уведомления:

void rowCountChanged(int count)

series : QSurface3DSeries* const

Это свойство содержит серию, к которой прикреплен этот прокси.

Функции доступа:

QSurface3DSeries * series() const

Сигнал уведомления:

void seriesChanged(QSurface3DSeries *series)

Документация по членам функций

QSurfaceDataProxy::QSurfaceDataProxy(QObject *parent = nullptr)

Создает QSurfaceDataProxy с заданным parent.

[virtual] QSurfaceDataProxy::~QSurfaceDataProxy()

Удаляет прокси данных поверхности.

int QSurfaceDataProxy::addRow(QSurfaceDataRow *row)

Добавляет новую строку row в конец массива. Новая строка должна иметь то же количество столбцов, что и строки в исходном массиве.

Возвращает индекс добавленной строки.

int QSurfaceDataProxy::addRows(const QSurfaceDataArray &rows)

Добавляет новые rows в конец массива. Новые строки должны иметь то же количество столбцов, что и строки в исходном массиве.

Возвращает индекс первой добавленной строки.

const QSurfaceDataArray *QSurfaceDataProxy::array() const

Возвращает указатель на массив данных.

[signal] void QSurfaceDataProxy::arrayReset()

Этот сигнал испускается при сбросе массива данных. Если содержимое всего массива изменено без вызова resetArray(), этот сигнал необходимо испустить для обновления графика.

void QSurfaceDataProxy::insertRow(int rowIndex, QSurfaceDataRow *row)

Вставляет новую строку row в позицию rowIndex. Если rowIndex равно размеру массива, строки добавляются в конец массива. Новая строка должна иметь то же количество столбцов, что и строки в исходном массиве.

void QSurfaceDataProxy::insertRows(int rowIndex, const QSurfaceDataArray &rows)

Вставляет новые rows в позицию rowIndex. Если rowIndex равно размеру массива, строки добавляются в конец массива. Новые rows должны иметь то же количество столбцов, что и строки в исходном массиве.

const QSurfaceDataItem *QSurfaceDataProxy::itemAt(int rowIndex, int columnIndex) const

Возвращает указатель на элемент в позиции, заданной rowIndex и columnIndex. Гарантируется, что он валиден только до следующего вызова, изменяющего данные.

const QSurfaceDataItem *QSurfaceDataProxy::itemAt(const QPoint &position) const

Возвращает указатель на элемент в позиции position. Значение x в position указывает строку, а значение y — столбец. Элемент гарантированно валиден только до следующего вызова, изменяющего данные.

[signal] void QSurfaceDataProxy::itemChanged(int rowIndex, int columnIndex)

Этот сигнал испускается, когда элемент в позиции, заданной rowIndex и columnIndex, изменяется. Если элемент изменен в массиве без вызова setItem(), этот сигнал необходимо испустить для обновления графика.

void QSurfaceDataProxy::removeRows(int rowIndex, int removeCount)

Удаляет количество строк, заданное removeCount, начиная с позиции rowIndex. Попытка удалить строки за пределами массива ничего не делает.

void QSurfaceDataProxy::resetArray(QSurfaceDataArray *newArray)

Принимает на себя владение массивом newArray. Очищает существующий массив, если новый массив отличается от него. Если массивы одинаковые, эта функция просто вызывает сигнал arrayReset().

Передача нулевого массива удаляет старый массив и создает новый пустой массив. Все строки в newArray должны иметь одинаковую длину.

[signal] void QSurfaceDataProxy::rowsAdded(int startIndex, int count)

Этот сигнал испускается, когда добавляется количество строк, заданное count, начиная с позиции startIndex. Если строки добавлены в массив без вызова addRow() или addRows(), этот сигнал необходимо испустить для обновления графика.

[signal] void QSurfaceDataProxy::rowsChanged(int startIndex, int count)

Этот сигнал испускается, когда изменяется количество строк, заданное count, начиная с позиции startIndex. Если строки изменены в массиве без вызова setRow() или setRows(), этот сигнал необходимо испустить для обновления графика.

[signal] void QSurfaceDataProxy::rowsInserted(int startIndex, int count)

Этот сигнал испускается, когда вставлено количество строк, заданное count, в позицию startIndex.

Если строки вставлены в массив без вызова insertRow() или insertRows(), этот сигнал необходимо испустить для обновления графика.

[signal] void QSurfaceDataProxy::rowsRemoved(int startIndex, int count)

Этот сигнал испускается, когда удаляется количество строк, заданное count, начиная с позиции startIndex.

Индекс — текущий размер массива, если строки были удалены с конца массива. Если строки удалены из массива без вызова removeRows(), этот сигнал необходимо испустить для обновления графика.

void QSurfaceDataProxy::setItem(int rowIndex, int columnIndex, const QSurfaceDataItem &item)

Изменяет один элемент в позиции, заданной rowIndex и columnIndex, на элемент item.

void QSurfaceDataProxy::setItem(const QPoint &position, const QSurfaceDataItem &item)

Изменяет один элемент в позиции position на элемент item. Значение x в position указывает строку, а значение y — столбец.

void QSurfaceDataProxy::setRow(int rowIndex, QSurfaceDataRow *row)

Изменяет существующую строку, заменив строку в позиции rowIndex новой строкой, заданной row. Новая строка может быть такой же, как существующая строка, уже хранящаяся в rowIndex. Новая строка должна иметь то же количество столбцов, что и строка, которую она заменяет.

void QSurfaceDataProxy::setRows(int rowIndex, const QSurfaceDataArray &rows)

Изменяет существующие строки, заменяя строки, начиная с позиции rowIndex, на новые строки, заданные параметром rows. Строки в массиве rows могут быть такими же, как и существующие строки, уже хранящиеся в позиции rowIndex. Новые строки должны иметь такое же количество столбцов, как и строки, которые они заменяют.

Связанные нечлены

typedef QSurfaceDataArray

Список указателей на объекты QSurfaceDataRow.

typedef QSurfaceDataRow

Вектор объектов QSurfaceDataItem.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qsurfacedataproxy.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API