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

Animation.h

Go to the documentation of this file.
00001 /*
00002 File: Animation.h
00003 
00004 Function: 
00005 
00006 Author: Andrew Willmott
00007 
00008 Copyright: (c) 2000, Andrew Willmott
00009 */
00010 
00011 #ifndef __Animation__
00012 #define __Animation__
00013 
00014 #include "gcl/Avars.h"
00015 #include "gcl/Hermite.h"
00016 #include "gcl/Geometry.h"
00017 #include "cl/Hash.h"
00018 
00019  const GCLReal kAutoVel = -999999.0;
00020  const GCLReal kAutoSplitVel = -999998.0;
00021 
00022 
00023  class AnimRec
00024 // keyframes for a single variable
00025 {
00026 public:
00027  AnimRec() : currentTimeIndex(-2) {};
00028 
00029 Void SetupAnim();
00030 
00031 Void AddKey(GCLReal time, GCLReal value, 
00032 GCLReal velIn, GCLReal velOut);
00033 
00034 GCLReal GetValue(GCLReal time);
00035 
00036 Int FindTimeIndex(GCLReal time);
00037 
00038 // fields
00039  ScalarList keyTimes;
00040  ScalarList values;
00041  ScalarList velIn;
00042  ScalarList velOut;
00043 
00044  Int currentTimeIndex;
00045  Cubic currentCubic;
00046 };
00047 
00048  typedef PtrArray<AnimRec> AnimRecList;
00049 
00050  class Animation
00051 // holds AnimRecs for all avars being tweaked.
00052 {
00053 public:
00054 Bool ParseAnimFile(StrConst filename);
00055 
00056 Void DumpAvars(GCLReal time, Int frame);
00057 // print current avar values
00058 Void SetAvarList(scAvarList *avarList, scCamera *itsCamera, GCLReal time);
00059 // set scene's avar list according to time
00060 
00061 Void AddKey(StrConst avarName, GCLReal time, GCLReal value,
00062 GCLReal velIn = kAutoVel, GCLReal velOut = kAutoVel);
00063 GCLReal GetValue(StrConst avarName, GCLReal time);
00064 
00065  IntHash avarNames;
00066  AnimRecList avarRecs;
00067  GCLReal length;
00068  Int quiet;
00069  Int addDash;
00070  StrConst tag;
00071  IndexList avarMap;
00072 };
00073 
00074 
00075 #endif

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

AltStyle によって変換されたページ (->オリジナル) /