Spec-Zone.ru › Qt 5.9

Класс QMorphingAnimation

(Qt3DAnimation::QMorphingAnimation)

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

Заголовок: #include <QMorphingAnimation>
qmake: QT += 3danimation
С момента: Qt 5.9
Инициализируется из: MorphingAnimation
Наследует: Qt3DAnimation::QAbstractAnimation
  • Список всех членов, включая наследуемые

Типы

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

Свойства

  • easing : QEasingCurve
  • interpolator : const float
  • method : QMorphingAnimation::Метод
  • target : Qt3DRender::QGeometryRenderer *
  • targetName : QString
  • targetPositions : QVector<float>
  • 4 свойства унаследованы от Qt3DAnimation::QAbstractAnimation
  • 1 свойство унаследовано от QObject

Общедоступные функции

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
  • 4 общедоступные функции унаследованы от Qt3DAnimation::QAbstractAnimation
  • 32 общедоступные функции унаследованы от QObject

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

void установитьСглаживание(const QEasingCurve &сглаживание)
void установитьМетод(QMorphingAnimation::Method метод)
void установитьЦель(Qt3DRender::QGeometryRenderer *цель)
void установитьИмяЦели(const QString имя)
void установитьПоложенияЦели(const QVector<float> &targetPositions)
  • 2 public slots унаследованы от Qt3DAnimation::QAbstractAnimation
  • 1 public slot унаследован от QObject

Сигналы

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

Дополнительные унаследованные члены

  • 11 статических public членов унаследованы от QObject
  • 1 защищённая функция унаследована от Qt3DAnimation::QAbstractAnimation
  • 9 защищённых функций унаследованы от QObject

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

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

Класс Qt3DAnimation::QMorphingAnimation реализует анимацию морфинга blend-shape для целевого 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)

interpolator : const float

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

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

float interpolator() const

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

void interpolatorChanged(float interpolator)

method : QMorphingAnimation::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)

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

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

Spec-Zone.ru

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