stackchan-display
Loading...
Searching...
No Matches
Expression.h
1#pragma once
2
3#include <map>
4namespace stackchan::display
5{
6 // facial expression keys
7 // NOTE what is difference between expression & emotion?
8 // NOTE: https://vrm.dev/en/univrm1/vrm1_tutorial/expression/
9 enum class Expression : unsigned char
10 {
11 kNeutral = 0,
12 // kHappy,
13 kAngry,
14 kSad,
15 kDoubt,
16 kSleepy,
17 kSmile,
18 kGrin,
19 kSurprised,
20 kUpset,
21 kRelax,
22 // eye expressions
23 kBlink,
24 kLeftBlink,
25 kRightBlink,
26 kLookUp,
27 kLookDown,
28 kLookLeft,
29 kLookRight,
30 // mouth expressions
31 kAa,
32 // misc expressions
33 kBreath,
34 // TODO: add more expressions
35 kCount,
36 };
37
39 {
40 private:
41 std::map<Expression, unsigned char> weight_;
42
43 public:
45 void set(Expression expression, unsigned char weight);
46 void setEmotionalExpression(Expression expression, unsigned char weight);
47 unsigned char get(Expression expression);
48 bool contains(Expression expression) const;
49 void clear(void);
50 };
51
52} // namespace stackchan::display
Definition Expression.h:39