Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

Animator.cc

Go to the documentation of this file.
00001 /*
00002     File:       Animator.cc
00003 
00004     Function:   Little command line interface to the Animation class.
00005 
00006     Author:     Andrew Willmott
00007 
00008     Notes:      
00009 */
00010 
00011 #include "Animation.h"
00012 #include "cl/ArgParse.h"
00013 
00014 Int main(Int argc, Char *argv[])
00015 {
00016     Animation   anim;
00017     Double      fps = 24.0;
00018     Int         startFrame = -1, endFrame = -1, frameStep = 1;
00019     Int         frame;
00020     GCLReal     time;
00021     Char        *file1;
00022     
00023     // command-line options
00024     
00025     if (arg_parse(argc, argv, 
00026             "",                                         "usage: anim [options]",
00027             
00028             "%S",           &file1,                     "animation file",
00029             "-fps %F",      &fps,                       "set frames per sec [default 24]",
00030             "-start %d",    &startFrame,                "start frame [1]",
00031             "-end %d",      &endFrame,                  "end frame [24]",
00032             "-step %d",     &frameStep,                 "frame step [1]",
00033             "-d",           ARG_FLAG(&anim.addDash),    "add dashes to variables",
00034             "-q",           ARG_FLAG(&anim.quiet),      "quiet",
00035             "-o %S",        &anim.tag,                  "output tag_<frame>",
00036 
00037             0) < 0)
00038         exit(1);
00039 
00040     anim.ParseAnimFile(file1);
00041     if (startFrame < 0)
00042     {
00043         startFrame = 1;
00044         if (endFrame < 0)
00045             endFrame = Int(anim.length * fps);
00046     }
00047     else if (endFrame < 0)
00048         endFrame = startFrame;
00049                 
00050     for (frame = startFrame; frame <= endFrame; frame += frameStep)
00051     {
00052         time = (frame - 1) / fps;
00053         anim.DumpAvars(time, frame); 
00054     }
00055 }
00056 

Generated at Sat Aug 5 00:16:56 2000 for Graphics Class Library by doxygen 1.1.0 written by Dimitri van Heesch, © 1997-2000