/
redgpu
/
ezEngine
Обзор
Документация
Войти
/
redgpu
/
ezEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
Code/Editor/EditorFramework/Manipulators/BoneManipulatorAdapter.h
54 строки
2 KB
Jan Krassnigg
Migrate code to use Make* functions (#1022)
03 авг 2023, 08:07
Не верифицирован
03 авг 2023, 08:07
c42cf1d
Код
Авторство
О чём код?
#pragma once #include <EditorFramework/EditorFrameworkDLL.h> #include <EditorFramework/Gizmos/ClickGizmo.h> #include <EditorFramework/Gizmos/RotateGizmo.h> #include <EditorFramework/Gizmos/ScaleGizmo.h> #include <EditorFramework/Gizmos/TranslateGizmo.h> #include <EditorFramework/Manipulators/ManipulatorAdapter.h> #include <Foundation/Containers/DynamicArray.h> #include <RendererCore/AnimationSystem/EditableSkeleton.h> struct ezGizmoEvent; /// \brief Makes an array of ezExposedBone properties editable in the viewport /// /// Enabled by attaching the ezBoneManipulatorAttribute. class ezBoneManipulatorAdapter : public ezManipulatorAdapter { public: ezBoneManipulatorAdapter(); ~ezBoneManipulatorAdapter(); protected: virtual void Finalize() override; void MigrateSelection(); virtual void Update() override; void RotateGizmoEventHandler(const ezGizmoEvent& e); void ClickGizmoEventHandler(const ezGizmoEvent& e); virtual void UpdateGizmoTransform() override; struct ElementGizmo { ezMat4 m_Offset; ezMat4 m_InverseOffset; ezRotateGizmo m_RotateGizmo; ezClickGizmo m_ClickGizmo; }; ezVariantArray m_Keys; ezDynamicArray<ezExposedBone> m_Bones; ezDeque<ElementGizmo> m_Gizmos; ezTransform m_RootTransform = ezTransform::MakeIdentity(); void RetrieveBones(); void ConfigureGizmos(); void SetTransform(ezUInt32 uiBone, const ezTransform& value); ezMat4 ComputeFullTransform(ezUInt32 uiBone) const; ezMat4 ComputeParentTransform(ezUInt32 uiBone) const; static ezString s_sLastSelectedBone; };