Spec-Zone.ru › Qt 5.11

Класс 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
  • 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

Spec-Zone.ru

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