Spec-Zone.ru › Qt 5.15

Класс QCustom3DItem

Класс QCustom3DItem добавляет пользовательский элемент в график. Подробнее...

Заголовок: #include <QCustom3DItem>
С версии: QtDataVisualization 1.1
Создаётся: Custom3DItem
Наследует: QObject
Наследуется:

QCustom3DLabel и QCustom3DVolume

Этот класс был введён в QtDataVisualization 1.1.

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

Свойства

  • meshFile : QString
  • position : QVector3D
  • positionAbsolute : bool
  • rotation : QQuaternion
  • scaling : QVector3D
  • scalingAbsolute : bool
  • shadowCasting : bool
  • textureFile : QString
  • visible : bool

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

QCustom3DItem(const QString &meshFile, const QVector3D &position, const QVector3D &scaling, const QQuaternion &rotation, const QImage &texture, QObject *parent = nullptr)
QCustom3DItem(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

Сигналы

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)

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

Пользовательский элемент имеет пользовательскую сетку, положение, масштабирование, поворот и необязательную текстуру.

См. также 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(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.

QCustom3DItem::QCustom3DItem(QObject *parent = nullptr)

Создаёт элемент 3D-объекта с заданным 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.15/qcustom3ditem.html

Spec-Zone.ru

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