Класс QMorphingAnimation
(Qt3DAnimation::QMorphingAnimation)Класс, реализующий анимацию морфинга с наложениемПодробнее...
| Заголовок: | #include <QMorphingAnimation> |
| qmake: | QT += 3danimation |
| С момента: | Qt 5.9 |
| Инициализируется из: | MorphingAnimation |
| Наследует: | Qt3DAnimation::QAbstractAnimation |
Типы
| Перечисление | Метод { Нормализованный, Относительный } |
Свойства
|
|
- 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