group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
AnimationLibrary.hpp
Go to the documentation of this file.
1
3
4#pragma once
5
6#include <cstdint>
7#include <memory>
8#include <string>
9
11{
12class Animation;
13}
14
15class CharacterRig;
16
59
61const char* clipName(ClipId id);
62
64const char* clipFile(ClipId id);
65
68ClipId emoteClipForIndex(int index);
69
75{
76public:
82 AnimationLibrary& operator=(AnimationLibrary&&) noexcept;
83
98 bool loadClipFromFBX(const CharacterRig& rig, ClipId id, const std::string& path,
99 bool useRigRestTranslations = false);
100
102 [[nodiscard]] bool has(ClipId id) const;
103
105 [[nodiscard]] const ozz::animation::Animation* get(ClipId id) const;
106
108 [[nodiscard]] float duration(ClipId id) const;
109
110private:
111 struct Impl;
112 std::unique_ptr<Impl> impl_;
113};
ClipId
Enumerated clip IDs.
Definition AnimationLibrary.hpp:21
@ SlowRun
Definition AnimationLibrary.hpp:26
@ EmoteNorthernSoul
Definition AnimationLibrary.hpp:56
@ Jump
Airborne jump animation.
Definition AnimationLibrary.hpp:29
@ PivotLeft
Definition AnimationLibrary.hpp:49
@ StartRight
Definition AnimationLibrary.hpp:44
@ EmoteMaraschino
Definition AnimationLibrary.hpp:53
@ StartForward
Definition AnimationLibrary.hpp:41
@ WallRun
Definition AnimationLibrary.hpp:28
@ EmoteHipHop
Definition AnimationLibrary.hpp:55
@ StartLeft
Definition AnimationLibrary.hpp:43
@ CrouchWalkRight
Definition AnimationLibrary.hpp:39
@ Slide
Definition AnimationLibrary.hpp:27
@ StrafeLeft
Running strafe left.
Definition AnimationLibrary.hpp:30
@ TurnRight90
90-degree turn right (standing).
Definition AnimationLibrary.hpp:35
@ EmoteFlair
Definition AnimationLibrary.hpp:52
@ Walk
Definition AnimationLibrary.hpp:23
@ StartBackward
Definition AnimationLibrary.hpp:42
@ CrouchWalkLeft
Definition AnimationLibrary.hpp:38
@ CrouchWalk
Definition AnimationLibrary.hpp:37
@ StopRight
Definition AnimationLibrary.hpp:48
@ PivotRight
Definition AnimationLibrary.hpp:50
@ TurnLeft90
90-degree turn left (standing).
Definition AnimationLibrary.hpp:34
@ StrafeRight
Running strafe right.
Definition AnimationLibrary.hpp:31
@ StopForward
Definition AnimationLibrary.hpp:45
@ CrouchWalkBackward
Definition AnimationLibrary.hpp:40
@ CrouchIdle
Definition AnimationLibrary.hpp:36
@ Run
Definition AnimationLibrary.hpp:24
@ EmoteGangnam
Definition AnimationLibrary.hpp:54
@ StopBackward
Definition AnimationLibrary.hpp:46
@ StrafeRightWalk
Walking strafe right.
Definition AnimationLibrary.hpp:33
@ _Count
Sentinel; also used as "no clip / no override".
Definition AnimationLibrary.hpp:57
@ Idle
Definition AnimationLibrary.hpp:22
@ StrafeLeftWalk
Walking strafe left.
Definition AnimationLibrary.hpp:32
@ RunBackward
Definition AnimationLibrary.hpp:25
@ StopLeft
Definition AnimationLibrary.hpp:47
ClipId emoteClipForIndex(int index)
Map an emote wheel index (0..emotes::kEmoteCount-1) to its ClipId.
Definition AnimationLibrary.cpp:201
const char * clipName(ClipId id)
Human-readable name for a clip (for UI / logging).
Definition AnimationLibrary.cpp:45
const char * clipFile(ClipId id)
Filename (relative to assets/animations/) for a clip.
Definition AnimationLibrary.cpp:122
const ozz::animation::Animation * get(ClipId id) const
Pointer to the loaded clip, or null if not loaded.
Definition AnimationLibrary.cpp:240
AnimationLibrary(const AnimationLibrary &)=delete
std::unique_ptr< Impl > impl_
Definition AnimationLibrary.hpp:112
AnimationLibrary()
Definition AnimationLibrary.cpp:229
AnimationLibrary(AnimationLibrary &&) noexcept
float duration(ClipId id) const
Duration of the clip in seconds (0 if not loaded).
Definition AnimationLibrary.cpp:246
bool has(ClipId id) const
True if a clip has been loaded for id.
Definition AnimationLibrary.cpp:234
bool loadClipFromFBX(const CharacterRig &rig, ClipId id, const std::string &path, bool useRigRestTranslations=false)
Load one clip from an FBX file onto the rig's skeleton.
Definition AnimationLibrary.cpp:252
AnimationLibrary & operator=(const AnimationLibrary &)=delete
Shared skinned rig — skeleton + bind-pose meshes + joint map.
Definition CharacterRig.hpp:45
Definition AnimationLibrary.hpp:11
Definition AnimationLibrary.hpp:11
Definition AudioRuntime.hpp:365
Definition AnimationLibrary.cpp:225