Spec-Zone.ru › Qt 6.1

Класс QMorphingAnimation

класс Qt3DAnimation::QMorphingAnimation

Класс, реализующий анимацию морфинга blend-shape. Подробнее...

Заголовок: #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
  • Список всех членов, включая наследуемые

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

Перечисление Method { Normalized, Relative }

Свойства

  • easing : QEasingCurve
  • interpolator : const float
  • method : 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 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 установитьСглаживание(const QEasingCurve &сглаживание)
void установитьМетод(QMorphingAnimation::Method метод)
void установитьЦель(Qt3DRender::QGeometryRenderer *цель)
void установитьИмяЦели(const QString имя)
void установитьПозицииЦели(const QVector<float> &позицииЦели)

Сигналы

void сглаживаниеИзменилось(const QEasingCurve &сглаживание)
void интерполяторИзменился(float интерполятор)
void методИзменился(QMorphingAnimation::Method метод)
void цельИзменилась(Qt3DRender::QGeometryRenderer *цель)
void имяЦелиИзменилось(const QString &имя)
void позицииЦелиИзменились(const QVector<float> &позицииЦели)

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

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

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

перечисление 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.1/qt3danimation-qmorphinganimation.html

Spec-Zone.ru

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