Spec-Zone.ru › Qt

Класс QMorphingAnimation

класс Qt3DAnimation::QMorphingAnimation

Класс, реализующий анимацию морфинга с помощью смешивания форм. Подробнее...

Заголовок: #include <QMorphingAnimation>
CMake: find_package(Qt6 COMPONENTS 3danimation REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3danimation)
qmake: QT += 3danimation
С момента: Qt 5.9
Создаётся из: MorphingAnimation
Наследуется от: Qt3DAnimation::QAbstractAnimation
  • Список всех членов, включая наследуемые

Типы публичного доступа

Перечисление Метод { Нормализованный, Относительный }

Свойства

  • easing : QEasingCurve
  • interpolator : const float
  • method : Метод
  • target : Qt3DRender::QGeometryRenderer*
  • targetName : QString
  • targetPositions : QVector<float>

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

QMorphingAnimation(QObject *parent = nullptr)
void addMorphTarget(Qt3DAnimation::QMorphTarget *target)
QEasingCurve easing() const
QVector<float> getWeights(int positionIndex)
float interpolator() const
QMorphingAnimation::Метод method() const
QVector<Qt3DAnimation::QMorphTarget *> morphTargetList()
void removeMorphTarget(Qt3DAnimation::QMorphTarget *target)
void setMorphTargets(const QVector<Qt3DAnimation::QMorphTarget *> &targets)
void setWeights(int positionIndex, const QVector<float> &weights)
Qt3DRender::QGeometryRenderer * target() const
QString targetName() const
QVector<float> targetPositions() const

Открытые слоты

void setEasing(const QEasingCurve &easing)
void setMethod(QMorphingAnimation::Метод method)
void setTarget(Qt3DRender::QGeometryRenderer *target)
void setTargetName(const QString name)
void setTargetPositions(const QVector<float> &targetPositions)

Сигналы

void easingChanged(const QEasingCurve &easing)
void interpolatorChanged(float interpolator)
void methodChanged(QMorphingAnimation::Метод method)
void targetChanged(Qt3DRender::QGeometryRenderer *target)
void targetNameChanged(const QString &name)
void targetPositionsChanged(const QVector<float> &targetPositions)

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

Qt3DAnimation::QMorphingAnimation реализует анимацию морфинга по форме для целевого QGeometryRenderer. QMorphingAnimation устанавливает правильные QAttributes из целевых morph целей для целевого QGeometryRenderer::geometry и вычисляет интерполятор для текущей позиции. Фактическое смешивание между атрибутами должно быть реализовано в материале. Qt3DAnimation::QMorphPhongMaterial реализует материал со поддержкой морфинга для модели освещения Phong. Смешивание происходит между двумя атрибутами - 'base' и 'target'. Имена атрибутов base и target берутся из имён morph целей, где атрибут base сохраняет уже имеющееся имя, а имя атрибута target дополняется 'Target'. Интерполятор может быть задан как QParameter для используемого материала. Все morph цели в анимации должны содержать атрибуты с теми же именами, что и в базовой геометрии.

Документация по типам членов

Перечисление QMorphingAnimation::Метод

Это перечисление задаёт метод морфинга.

Постоянная Значение Описание
Qt3DAnimation::QMorphingAnimation::Normalized 0 Смешивание должно использовать нормализованную формулу; V' = Vbase * (1.0 - sum(Wi)) + sum[Vi * Wi]
Qt3DAnimation::QMorphingAnimation::Relative 1 Смешивание должно использовать относительную формулу; V' = Vbase + sum[Vi * Wi]

Документация свойств

easing : QEasingCurve

Содержит кривую сглаживания интерполятора между морфинговыми целевыми объектами.

Функции доступа:

QEasingCurve easing() const
void setEasing(const QEasingCurve &easing)

Сигнал уведомления:

void easingChanged(const QEasingCurve &easing)

[read-only] interpolator : const float

Содержит интерполятор между базовыми и целевыми атрибутами.

Функции доступа:

float interpolator() const

Сигнал уведомления:

void interpolatorChanged(float interpolator)

method : Method

Содержит метод морфирования. По умолчанию — Relative.

Функции доступа:

QMorphingAnimation::Method method() const
void setMethod(QMorphingAnimation::Method method)

Сигнал уведомления:

void methodChanged(QMorphingAnimation::Method method)

target : Qt3DRender::QGeometryRenderer*

Содержит целевой QGeometryRenderer, к которому применяется анимация морфирования.

Функции доступа:

Qt3DRender::QGeometryRenderer * target() const
void setTarget(Qt3DRender::QGeometryRenderer *target)

Сигнал уведомления:

void targetChanged(Qt3DRender::QGeometryRenderer *target)

targetName : QString

Содержит имя целевой геометрии. Это удобное свойство, упрощающее сопоставление целевой геометрии с анимацией морфирования. Имя обычно совпадает с именем родительского сущности целевого QGeometryRenderer, но не обязательно.

Функции доступа:

QString targetName() const
void setTargetName(const QString name)

Сигнал уведомления:

void targetNameChanged(const QString &name)

targetPositions : QVector<float>

Содержит значения позиций целевого объекта морфирования. Каждая позиция в списке указывает позицию соответствующего целевого объекта морфирования с тем же индексом. Значения должны быть в порядке возрастания. Значения могут быть положительными или отрицательными и не имеют предопределённой единицы измерения.

Функции доступа:

QVector<float> targetPositions() const
void setTargetPositions(const QVector<float> &targetPositions)

Сигнал уведомления:

void targetPositionsChanged(const QVector<float> &targetPositions)

Документация функций-членов

QMorphingAnimation::QMorphingAnimation(QObject *parent = nullptr)

Создаёт новую QMorphingAnimation с parent.

void QMorphingAnimation::addMorphTarget(Qt3DAnimation::QMorphTarget *target)

Добавляет новый морфинговый target в конец анимации.

QVector<float> QMorphingAnimation::getWeights(int positionIndex)

Возвращает веса морфирования в positionIndex.

QVector<Qt3DAnimation::QMorphTarget *> QMorphingAnimation::morphTargetList()

Возвращает список целевых объектов морфирования.

void QMorphingAnimation::removeMorphTarget(Qt3DAnimation::QMorphTarget *target)

Удаляет морфинговый target из анимации.

void QMorphingAnimation::setMorphTargets(const QVector<Qt3DAnimation::QMorphTarget *> &targets)

Устанавливает морфинговые targets для анимации. Старые целевые объекты очищаются.

void QMorphingAnimation::setWeights(int positionIndex, const QVector<float> &weights)

Устанавливает веса морфирования в positionIndex.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qt3danimation-qmorphinganimation.html

Spec-Zone.ru

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