Класс QCustom3DItem
Класс QCustom3DItem добавляет пользовательский элемент на график. Подробнее...
| Заголовок: | #include <QCustom3DItem> |
| С момента: | QtDataVisualization 1.1 |
| Инициализируется: | Custom3DItem |
| Наследуется от: | QObject |
| Наследуется: |
Свойства
|
|
- 1 свойство унаследовано от QObject
Открытые функции
| QCustom3DItem(QObject *parent = Q_NULLPTR) | |
| QCustom3DItem(const QString &meshFile, const QVector3D &position, const QVector3D &scaling, const QQuaternion &rotation, const QImage &texture, QObject *parent = Q_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 |
- 32 открытых функции унаследованы от 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
- 11 статических открытых членов унаследованы от QObject
- 9 защищенных функций унаследованы от 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 = Q_NULLPTR)
Конструирует пользовательский 3D-элемент с указанным parent.
QCustom3DItem::QCustom3DItem(const QString &meshFile, const QVector3D &position, const QVector3D &scaling, const QQuaternion &rotation, const QImage &texture, QObject *parent = Q_NULLPTR)
Создает элемент 3D-объекта с указанным meshFile, position, scaling, rotation, изображением texture и необязательным parent.
[virtual] QCustom3DItem::~QCustom3DItem()
Удаляет элемент 3D-объекта.
void QCustom3DItem::setRotationAxisAndAngle(const QVector3D &axis, float angle)
Функция для удобства построения кватерниона вращения из axis и angle.
См. также 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.9/qcustom3ditem.html