Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

CelScriptWrapper Class Reference

Inheritance diagram for CelScriptWrapper:

Inheritance graph
Collaboration diagram for CelScriptWrapper:

Collaboration graph
List of all members.

Public Member Functions

 CelScriptWrapper (CelestiaCore &appCore, istream &scriptfile)
CelestiaCoregetCelestiaCore () const
string getErrorMessage () const
RenderergetRenderer () const
SimulationgetSimulation () const
void showText (string s, int horig, int vorig, int hoff, int voff, double duration)
bool tick (double t)
virtual ~CelScriptWrapper ()

Private Attributes

CommandSequencecmdSequence
CelestiaCorecore
string errorMessage
Executionscript
double tickTime

Constructor & Destructor Documentation

CelScriptWrapper::CelScriptWrapper CelestiaCore appCore,
istream &  scriptfile
[inline]
 

Definition at line 188 of file celx.cpp.

References cmdSequence, core, errorMessage, script, and tickTime.

00188                                                                 : 
00189         script(NULL),
00190         core(appCore),
00191         cmdSequence(NULL),
00192         tickTime(0.0),
00193         errorMessage("")
00194     {
00195         CommandParser parser(scriptfile);
00196         cmdSequence = parser.parse();
00197         if (cmdSequence != NULL)
00198         {
00199             script = new Execution(*cmdSequence, *this);
00200         }
00201         else
00202         {
00203             const vector<string>* errors = parser.getErrors();
00204             if (errors->size() > 0)
00205                 errorMessage = "Error while parsing CEL-script: " + (*errors)[0];
00206             else
00207                 errorMessage = "Error while parsing CEL-script.";
00208         }
00209     }

virtual CelScriptWrapper::~CelScriptWrapper  )  [inline, virtual]
 

Definition at line 211 of file celx.cpp.

References cmdSequence, and script.

00212     {
00213         if (script != NULL)
00214             delete script;
00215         if (cmdSequence != NULL)
00216             delete cmdSequence;
00217     }


Member Function Documentation

CelestiaCore* CelScriptWrapper::getCelestiaCore  )  const [inline, virtual]
 

Implements ExecutionEnvironment.

Definition at line 248 of file celx.cpp.

References core.

00249     {
00250         return &core;         
00251     }

string CelScriptWrapper::getErrorMessage  )  const [inline]
 

Definition at line 219 of file celx.cpp.

References errorMessage.

Referenced by celscript_from_string().

00220     {
00221         return errorMessage;
00222     }

Renderer* CelScriptWrapper::getRenderer  )  const [inline, virtual]
 

Implements ExecutionEnvironment.

Definition at line 243 of file celx.cpp.

References core, and CelestiaCore::getRenderer().

00244     {
00245         return core.getRenderer();
00246     }

Simulation* CelScriptWrapper::getSimulation  )  const [inline, virtual]
 

Implements ExecutionEnvironment.

Definition at line 238 of file celx.cpp.

References core, and CelestiaCore::getSimulation().

00239     {
00240         return core.getSimulation();
00241     }

void CelScriptWrapper::showText string  s,
int  horig,
int  vorig,
int  hoff,
int  voff,
double  duration
[inline]
 

Definition at line 253 of file celx.cpp.

References core, and CelestiaCore::showText().

00255     {
00256         core.showText(s, horig, vorig, hoff, voff, duration);
00257     }

bool CelScriptWrapper::tick double  t  )  [inline]
 

Definition at line 225 of file celx.cpp.

References script, Execution::tick(), and tickTime.

Referenced by celscript_tick().

00226     {
00227         // use first tick to set the time
00228         if (tickTime == 0.0)
00229         {
00230             tickTime = t;
00231             return false;
00232         }
00233         double dt = t - tickTime;
00234         tickTime = t;
00235         return script->tick(dt);        
00236     }


Member Data Documentation

CommandSequence* CelScriptWrapper::cmdSequence [private]
 

Definition at line 262 of file celx.cpp.

Referenced by CelScriptWrapper(), and ~CelScriptWrapper().

CelestiaCore& CelScriptWrapper::core [private]
 

Definition at line 261 of file celx.cpp.

Referenced by CelScriptWrapper(), getCelestiaCore(), getRenderer(), getSimulation(), and showText().

string CelScriptWrapper::errorMessage [private]
 

Definition at line 264 of file celx.cpp.

Referenced by CelScriptWrapper(), and getErrorMessage().

Execution* CelScriptWrapper::script [private]
 

Definition at line 260 of file celx.cpp.

Referenced by CelScriptWrapper(), tick(), and ~CelScriptWrapper().

double CelScriptWrapper::tickTime [private]
 

Definition at line 263 of file celx.cpp.

Referenced by CelScriptWrapper(), and tick().


The documentation for this class was generated from the following file:
Generated on Sat Jan 14 22:33:10 2006 for Celestia by  doxygen 1.4.1