28 lines
735 B
OpenSCAD
28 lines
735 B
OpenSCAD
// animation
|
|
function get_anim_keys() = [
|
|
0, // initial
|
|
0.1, // resting
|
|
0.25, // holodisk free-inserted
|
|
0.3, // holodisk click-inserted
|
|
0.4, // laser raised
|
|
0.5, // start playing
|
|
0.7, // stop playing, start lowering laser
|
|
0.8, // laser lowered, holodisk removing
|
|
0.85, // holodisk click-removed
|
|
1 // final, holodisk free-removed
|
|
];
|
|
|
|
function ANIM_START()=0;
|
|
function ANIM_RESTING()=0;
|
|
function ANIM_INSERTING()=1;
|
|
function ANIM_OPENING()=2;
|
|
function ANIM_RAISING()=3;
|
|
function ANIM_PLAYING()=4;
|
|
function ANIM_LOWERING()=5;
|
|
function ANIM_CLOSING()=6;
|
|
function ANIM_REMOVING()=7;
|
|
function ANIM_END()=8;
|
|
|
|
function anim(key_from, key_to, KEYS=get_anim_keys())
|
|
= max(0, min(($t - KEYS[key_from]) / (KEYS[key_to] - KEYS[key_from]), 1));
|