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

GCLApp.h

Go to the documentation of this file.
00001 /*
00002     File:       GCLApp.h
00003 
00004     Function:   Useful routines for any GCL application that must deal
00005                 with a scene and avars
00006 
00007     Author:     Andrew Willmott
00008 
00009     Copyright:  (c) 1999-2000, Andrew Willmott
00010 */
00011 
00012 #ifndef __GCLApp__
00013 #define __GCLApp__
00014 
00015 #include "cl/ArgParse.h"
00016 #include "gcl/GCLConfig.h"
00017 #include "gcl/SceneLang.h"
00018 #ifndef GCL_NO_GL
00019 #include "gcl/ScenePane.h"
00020 #endif
00021 #include "gcl/Animation.h"
00022 
00023 typedef NArray<String> StringArray;
00024 
00025 class GCLApp
00026 {
00027 public:
00028                             GCLApp();
00029 
00030     Void                    ReadScene(FileName &sceneFile);
00031     Void                    SetAvars(scScenePtr scene);
00032     Void                    SetAvarsFromAnim(scScenePtr scene);
00033     
00034     ArgForm                 *GetOptionList();
00035 
00036 // options
00037     Int                     xsize;
00038     Int                     ysize;
00039     Colour                  bgColour;
00040     Int                     noScale;
00041     Int                     zUp;
00042     Int                     zDown;
00043 
00044     static Void             GetFileArgs(Int argc, Char *argv[]);
00045     static Void             GetAvarArgs(Int argc, Char *argv[]);
00046 
00047     static Char             **files;
00048     static Int              numFiles;
00049     static StrConstArray    avarNames;
00050     static ScalarList       avarVals;
00051 
00052 // fields
00053     scScenePtr              scene;
00054     scCamera                *itsCamera;
00055 #ifndef GCL_NO_GL
00056     ScenePane               *itsScenePane;
00057 #endif
00058     // animation
00059     Int                     frame;
00060     Double                  time;
00061     Double                  fps;
00062     Animation               *anim;
00063     scAvarList              *avarList;
00064 };
00065 
00066 #endif

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