1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
#ifndef ANIMTOOL_OP_H_
#define ANIMTOOL_OP_H_
#include "util/str.h"
enum op_category
{
OPC_COMMAND,
OPC_EXPR,
OPC_NODE,
OPC_TRANSFORM,
OPC_SURFACE,
OPC_SEQ,
OPC_REP,
OPC_PROJ,
OPC_CAMERA,
OPC_POS,
};
#define OP_TYPES(X) \
X("var", VAR, COMMAND) \
X("fps", FPS, COMMAND) \
X("size", SIZE, COMMAND) \
X("seq", SEQ, COMMAND) \
X("proj", PROJ, COMMAND) \
X("bg", BG, COMMAND) \
X("out", OUT, COMMAND) \
X("scene", SCENE, COMMAND) \
X("+", ADD, EXPR) \
X("-", SUB, EXPR) \
X("*", MUL, EXPR) \
X("/", DIV, EXPR) \
X("%", MOD, EXPR) \
X("abs", ABS, EXPR) \
X("min", MIN, EXPR) \
X("max", MAX, EXPR) \
X("clamp", CLAMP, EXPR) \
X("mix", MIX, EXPR) \
X("rgb", RGB, EXPR) \
X("time", TIME, EXPR) \
X("cube", CUBE, NODE) \
X("obj", OBJ, NODE) \
X("bone", BONE, NODE) \
X("camera", CAMERA, NODE) \
X("light", LIGHT, NODE) \
X("trans", TRANSFORM, NODE) \
X("t", TRANSLATE, TRANSFORM) \
X("s", SCALE, TRANSFORM) \
X("r", ROTATE, TRANSFORM) \
X("texture", TEXTURE, SURFACE) \
X("cubemap", CUBEMAP, SURFACE) \
X("color", COLOR, SURFACE) \
X("pov", POV, SEQ) \
X("rep", REP, SEQ) \
X("inf", INF, REP) \
X("fov", FOV, PROJ) \
X("planes", PLANES, PROJ) \
X("roll", ROLL, CAMERA) \
X("pos", POS, POS) \
X("attach", ATTACH, POS)
enum op_type
{
#define OP_TYPE_SYM(name, sym, cat) OP_##sym,
OP_TYPES(OP_TYPE_SYM)
#undef OP_TYPE_SYM
};
extern enum op_category op_category_tab[];
extern str op_name_tab[];
#endif
|