Класс 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 |
- 34 открытых функции унаследованы от 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
Дополнительные унаследованные члены
- 1 публичный слот унаследован от QObject
- 1 публичная переменная унаследована от QObject
- 10 статических публичных членов унаследованы от QObject
- 9 защищённых функций унаследованы от QObject
- 2 защищённых переменных унаследованы от QObject
Подробное описание
Класс QCustom3DItem добавляет пользовательский элемент в график.
Пользовательский элемент имеет собственную модель, положение, масштабирование, вращение и (по желанию) текстуру.
См. также QAbstract3DGraph::addCustomItem().
Документация по свойствам
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/archives/qt-5.11/qcustom3ditem.html