Spec-Zone.ru › Qt 6.1

Класс QCustom3DItem

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

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

QCustom3DLabel и QCustom3DVolume

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

Свойства

  • 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.

[since QtDataVisualization 1.2] 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 модели.

[invokable] 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-6.1/qcustom3ditem.html

Spec-Zone.ru

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