gdk-graphics 0a0aef92e917cfbac53dffbc32c295e4de914093
Loading...
Searching...
No Matches
retarget.h
1// © Joseph Cameron - MIT License
2
3#ifndef GDK_GRAPHICS_EXT_ANIMATION_RETARGET_H
4#define GDK_GRAPHICS_EXT_ANIMATION_RETARGET_H
5
6#include <gdk/graphics/ext/animation/profile.h>
7#include <gdk/graphics/ext/animation/skeleton.h>
8
9#include <string>
10#include <vector>
11
12namespace gdk::graphics::animation {
13 using bone_mapping = std::vector<int>;
14
16 [[nodiscard]] pose retarget(const skeleton &aSource, const pose &aSourcePose,
17 const skeleton &aTarget, const bone_mapping &aMapping);
18
20 [[nodiscard]] clip retarget(const skeleton &aSource, const clip &aSourceClip,
21 const skeleton &aTarget, const bone_mapping &aMapping);
22
24 [[nodiscard]] std::size_t mapped_bone_count(const bone_mapping &aMapping);
25
30 [[nodiscard]] pose mirror_pose(const skeleton &aSkeleton, const rig_binding &aBinding,
31 const pose &aPose);
32
34 [[nodiscard]] clip mirror_clip(const skeleton &aSkeleton, const rig_binding &aBinding,
35 const clip &aClip);
36}
37
38#endif
a profile resolved against one particular skeleton.
Definition profile.h:38
a looping sequence of keyframed poses
Definition skeleton.h:86
one bone rotation per bone, relative to its parent.
Definition skeleton.h:57
a chain of bones in bind pose.
Definition skeleton.h:16