Класс QCustom3DItem
Класс QCustom3DItem добавляет пользовательский элемент на график. Подробнее...
| Заголовок: | #include <QCustom3DItem> |
| С момента: | QtDataVisualization 1.1 |
| Инициализируется: | Custom3DItem |
| Наследует: | QObject |
| Наследуется от: |
Свойства
|
|
- 1 свойство унаследовано от QObject
Открытые функции
| QCustom3DItem(QObject *parent = nullptr) | |
| QCustom3DItem(const QString &meshFile, const QVector3D &position, const QVector3D &scaling, const QQuaternion &rotation, const QImage &texture, QObject *parent = nullptr) | |
| virtual | ~QCustom3DItem() |
| bool | isPositionAbsolute() const |
| bool | isScalingAbsolute() const |
| bool | isShadowCasting() const |
| bool | isVisible() const |
| QString | meshFile() const |
| QVector3D | position() const |
| QQuaternion | rotation() |
| QVector3D | scaling() const |
| void | setMeshFile(const QString &meshFile) |
| void | setPosition(const QVector3D &position) |
| void | setPositionAbsolute(bool positionAbsolute) |
| void | setRotation(const QQuaternion &rotation) |
| void | setRotationAxisAndAngle(const QVector3D &axis, float angle) |
| void | setScaling(const QVector3D &scaling) |
| void | setScalingAbsolute(bool scalingAbsolute) |
| void | setShadowCasting(bool enabled) |
| void | setTextureFile(const QString &textureFile) |
| void | setTextureImage(const QImage &textureImage) |
| void | setVisible(bool visible) |
| QString | textureFile() const |
- 31 открытая функция унаследована от QObject
Сигналы
| void | meshFileChanged(const QString &meshFile) |
| void | positionAbsoluteChanged(bool positionAbsolute) |
| void | positionChanged(const QVector3D &position) |
| void | rotationChanged(const QQuaternion &rotation) |
| void | scalingAbsoluteChanged(bool scalingAbsolute) |
| void | scalingChanged(const QVector3D &scaling) |
| void | shadowCastingChanged(bool shadowCasting) |
| void | textureFileChanged(const QString &textureFile) |
| void | visibleChanged(bool visible) |
- 2 сигнала унаследованы от QObject
Статические открытые члены
| const QMetaObject | staticMetaObject |
- 9 статических открытых членов унаследованы от QObject
Защищенные переменные
| int | d_ptr |
Дополнительные унаследованные члены
Подробное описание
Класс QCustom3DItem добавляет пользовательский элемент на график.
Пользовательский элемент имеет пользовательскую сетку, позицию, масштабирование, вращение и (необязательную) текстуру.
См. также QAbstract3DGraph::addCustomItem().
END_OF_DOCUMENT_MARKERДокументация свойств
meshFile : QString
Это свойство хранит имя файла сетки элемента.
Элемент в файле должен быть в формате Wavefront OBJ и содержать вершины, нормали и UV-координаты. Он также должен быть представлен треугольниками.
Функции доступа:
| QString | meshFile() const |
| void | setMeshFile(const QString &meshFile) |
Сигнал уведомления:
| void | meshFileChanged(const QString &meshFile) |
position : QVector3D
Это свойство хранит положение элемента как QVector3D.
По умолчанию QVector3D(0.0, 0.0, 0.0).
Положение элемента задается либо в координатах данных, либо в абсолютных координатах, в зависимости от свойства positionAbsolute. При использовании абсолютных координат значения между -1.0...1.0 находятся в пределах диапазонов осей.
Примечание: Элементы, расположенные вне любого диапазона осей, не отображаются, если positionAbsolute равно false, за исключением случаев, когда элемент является QCustom3DVolume, который может быть частично виден, и scalingAbsolute также равно false. В этом случае видимая часть объёма будет отображена.
Функции доступа:
| QVector3D | position() const |
| void | setPosition(const QVector3D &position) |
Сигнал уведомления:
| void | positionChanged(const QVector3D &position) |
См. также positionAbsolute.
positionAbsolute : bool
Это свойство указывает, обрабатывается ли положение элемента в координатах данных или в абсолютных координатах.
По умолчанию false. Элементы с абсолютными координатами всегда будут отображаться, а элементы с координатами данных отображаются только в том случае, если они находятся в пределах диапазонов осей.
Функции доступа:
| bool | isPositionAbsolute() const |
| void | setPositionAbsolute(bool positionAbsolute) |
Сигнал уведомления:
| void | positionAbsoluteChanged(bool positionAbsolute) |
См. также position.
rotation : QQuaternion
Это свойство хранит вращение элемента как QQuaternion.
По умолчанию QQuaternion(0.0, 0.0, 0.0, 0.0).
Функции доступа:
| QQuaternion | rotation() |
| void | setRotation(const QQuaternion &rotation) |
Сигнал уведомления:
| void | rotationChanged(const QQuaternion &rotation) |
scaling : QVector3D
Это свойство хранит масштабирование элемента как QVector3D.
По умолчанию QVector3D(0.1, 0.1, 0.1).
Масштабирование элемента задаётся либо в значениях данных, либо в абсолютных значениях, в зависимости от свойства scalingAbsolute. Вектор по умолчанию, интерпретируемый как абсолютные значения, устанавливает элемент на 10% от высоты графика при условии, что сетка элемента нормализована, а пропорции графика не изменены от значений по умолчанию.
Функции доступа:
| QVector3D | scaling() const |
| void | setScaling(const QVector3D &scaling) |
Сигнал уведомления:
| void | scalingChanged(const QVector3D &scaling) |
См. также scalingAbsolute.
scalingAbsolute : bool
Это свойство указывает, обрабатывается ли масштабирование элемента в значениях данных или в абсолютных значениях.
По умолчанию true.
Элементы с абсолютным масштабированием будут отображаться с одинаковым размером независимо от диапазонов осей. Элементы с масштабированием данных будут изменять свой видимый размер в соответствии с диапазонами осей. Если positionAbsolute равно true, это свойство игнорируется, и масштабирование интерпретируется как абсолютное. Если у элемента есть вращение, масштабирование данных вычисляется для невращающегося элемента. Аналогично, для элементов QCustom3DVolume прирезка диапазона вычисляется для невращающегося элемента.
Примечание: Абсолютное масштабирование поддерживается только для элементов QCustom3DLabel или для пользовательских элементов, используемых в графиках polar.
Примечание: Сетка пользовательского элемента должна быть нормализована к диапазону [-1 ,1], иначе масштабирование данных не будет точным.
Это свойство было введено в QtDataVisualization 1.2.
Функции доступа:
| bool | isScalingAbsolute() const |
| void | setScalingAbsolute(bool scalingAbsolute) |
Сигнал уведомления:
| void | scalingAbsoluteChanged(bool scalingAbsolute) |
См. также scaling и positionAbsolute.
shadowCasting : bool
Это свойство указывает, включено ли отбрасывание тени для элемента.
По умолчанию true. Если false, элемент не отбрасывает тени независимо от QAbstract3DGraph::ShadowQuality.
Функции доступа:
| bool | isShadowCasting() const |
| void | setShadowCasting(bool enabled) |
Сигнал уведомления:
| void | shadowCastingChanged(bool shadowCasting) |
textureFile : QString
Это свойство хранит имя файла текстуры для элемента.
Если и это свойство, и изображение текстуры не заданы, будет использоваться однотонная серая текстура.
Примечание: Для экономии памяти загруженное из файла QImage очищается после создания текстуры.
Функции доступа:
| QString | textureFile() const |
| void | setTextureFile(const QString &textureFile) |
Сигнал уведомления:
| void | textureFileChanged(const QString &textureFile) |
visible : bool
Это свойство хранит видимость элемента.
По умолчанию true.
Функции доступа:
| bool | isVisible() const |
| void | setVisible(bool visible) |
Сигнал уведомления:
| void | visibleChanged(bool visible) |
Документация по функциям-членам
QCustom3DItem::QCustom3DItem(QObject *parent = nullptr)
Создаёт пользовательский 3D-элемент с указанным parent.
QCustom3DItem::QCustom3DItem(const QString &meshFile, const QVector3D &position, const QVector3D &scaling, const QQuaternion &rotation, const QImage &texture, QObject *parent = nullptr)
Создаёт элемент 3D с указанным meshFile, position, scaling, rotation, изображением texture и необязательным parent.
[virtual] QCustom3DItem::~QCustom3DItem()
Удаляет элемент 3D.
void QCustom3DItem::setRotationAxisAndAngle(const QVector3D &axis, float angle)
Удобная функция для построения кватерниона вращения из axis и angle.
Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
См. также rotation.
void QCustom3DItem::setTextureImage(const QImage &textureImage)
Устанавливает значение textureImage в качестве QImage для элемента. Текстура по умолчанию — тёмно-серый цвет.
Примечание: Для экономии памяти предоставленная QImage очищается после создания текстуры.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qcustom3ditem.html