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

Ogre::ParticleScriptCompiler Class Reference

#include <OgreParticleScriptCompiler.h>

Inheritance diagram for Ogre::ParticleScriptCompiler:

Inheritance graph
[legend]
List of all members.

Public Types

typedef std::map< String,
uint32
IdMap
typedef SharedPtr< Error > ErrorPtr
typedef std::list< ErrorPtrErrorList
enum  {
  CE_STRINGEXPECTED, CE_NUMBEREXPECTED, CE_FEWERPARAMETERSEXPECTED, CE_VARIABLEEXPECTED,
  CE_UNDEFINEDVARIABLE, CE_OBJECTNAMEEXPECTED, CE_OBJECTALLOCATIONERROR, CE_INVALIDPARAMETERS,
  CE_DUPLICATEOVERRIDE, CE_UNEXPECTEDTOKEN, CE_OBJECTBASENOTFOUND, CE_UNSUPPORTEDBYRENDERSYSTEM,
  CE_REFERENCETOANONEXISTINGOBJECT
}
enum  {
  ID_ON = 1, ID_OFF = 2, ID_TRUE = 1, ID_FALSE = 2,
  ID_YES = 1, ID_NO = 2
}

Public Member Functions

 ParticleScriptCompiler ()
void setListener (ParticleScriptCompilerListener *listener)
 Sets the listener for this compiler.
ParticleSystemgetParticleSystem () const
 Returns the particle system currently being compiled.
bool compile (const String &str, const String &source, const String &group)
bool compile (const ConcreteNodeListPtr &nodes, const String &group)
 Compiles resources from the given concrete node list.
bool _compile (AbstractNodeListPtr nodes, const String &group)
 Compiles the given abstract syntax tree.
void addError (uint32 code, const String &file, int line, const String &msg="")
 Adds the given error to the compiler's list of errors.
void setListener (ScriptCompilerListener *listener)
 Sets the listener used by the compiler.
ScriptCompilerListenergetListener ()
 Returns the currently set listener.
const StringgetResourceGroup () const
 Returns the resource group currently set for this compiler.
void addNameExclusion (const String &type)
 Name exclusions identify object types which cannot accept names.
void removeNameExclusion (const String &type)
 Removes a name exclusion.
bool _fireEvent (const String &name, const std::vector< Any > &args, Any *retval)
 Internal method for firing the handleEvent method.
Any _fireCreateObject (const String &type, const std::vector< Any > &args)
 Internal method for firing the createObject event.
 AllocatedObject ()
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info
void * operator new (size_t sz)
void * operator new (size_t sz, void *ptr)
 placement operator new
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info
void * operator new[] (size_t sz)
void operator delete (void *ptr)
void operator delete (void *ptr, void *)
void operator delete (void *ptr, const char *, int, const char *)
void operator delete[] (void *ptr)
void operator delete[] (void *ptr, const char *, int, const char *)

Static Public Member Functions

static String formatErrorCode (uint32 code)

Protected Member Functions

bool compileImpl (ScriptNodeListPtr nodes)
 This begins the compilation of the particle system from the final transformed AST.
bool processNode (ScriptNodeList::iterator &i, ScriptNodeList::iterator &end)
 Delegates to the listener if it can, otherwise returns false. If it returns true, then some input was consumed.
ScriptNodeListPtr loadImportPath (const String &name)
 This is the override for loading imports.
void preParse ()
 Allows a listener to override the word id map before parsing.
bool errorRaised (const ScriptCompilerErrorPtr &error)
 Allows a listener to override error handling in the compiler.

Private Member Functions

void compileParticleSystem (const ScriptNodePtr &node)
void compileEmitter (const ScriptNodePtr &node)
void compileAffector (const ScriptNodePtr &node)
String getParameterValue (ScriptNodeList::iterator &i, ScriptNodeList::iterator &end)

Private Attributes

ParticleScriptCompilerListenermListener
ParticleSystemmSystem

Member Typedef Documentation

typedef std::list<ErrorPtr> Ogre::ScriptCompiler::ErrorList [inherited]
 

Definition at line 193 of file OgreScriptCompiler.h.

typedef SharedPtr<Error> Ogre::ScriptCompiler::ErrorPtr [inherited]
 

Definition at line 192 of file OgreScriptCompiler.h.

typedef std::map<String,uint32> Ogre::ScriptCompiler::IdMap [inherited]
 

Definition at line 183 of file OgreScriptCompiler.h.


Member Enumeration Documentation

anonymous enum [inherited]
 

Enumeration values:
CE_STRINGEXPECTED 
CE_NUMBEREXPECTED 
CE_FEWERPARAMETERSEXPECTED 
CE_VARIABLEEXPECTED 
CE_UNDEFINEDVARIABLE 
CE_OBJECTNAMEEXPECTED 
CE_OBJECTALLOCATIONERROR 
CE_INVALIDPARAMETERS 
CE_DUPLICATEOVERRIDE 
CE_UNEXPECTEDTOKEN 
CE_OBJECTBASENOTFOUND 
CE_UNSUPPORTEDBYRENDERSYSTEM 
CE_REFERENCETOANONEXISTINGOBJECT 

Definition at line 196 of file OgreScriptCompiler.h.

anonymous enum [inherited]
 

Enumeration values:
ID_ON 
ID_OFF 
ID_TRUE 
ID_FALSE 
ID_YES 
ID_NO 

Definition at line 304 of file OgreScriptCompiler.h.


Constructor & Destructor Documentation

Ogre::ParticleScriptCompiler::ParticleScriptCompiler  ) 
 


Member Function Documentation

bool Ogre::ScriptCompiler::_compile AbstractNodeListPtr  nodes,
const String group
[inherited]
 

Compiles the given abstract syntax tree.

Any Ogre::ScriptCompiler::_fireCreateObject const String type,
const std::vector< Any > &  args
[inherited]
 

Internal method for firing the createObject event.

bool Ogre::ScriptCompiler::_fireEvent const String name,
const std::vector< Any > &  args,
Any retval
[inherited]
 

Internal method for firing the handleEvent method.

void Ogre::ScriptCompiler::addError uint32  code,
const String file,
int  line,
const String msg = ""
[inherited]
 

Adds the given error to the compiler's list of errors.

void Ogre::ScriptCompiler::addNameExclusion const String type  )  [inherited]
 

Name exclusions identify object types which cannot accept names.

This means that excluded types will always have empty names. All values in the object header are stored as object values.

Ogre::AllocatedObject< ScriptingAllocPolicy >::AllocatedObject  )  [explicit, inherited]
 

Definition at line 55 of file OgreMemoryAllocatedObject.h.

bool Ogre::ScriptCompiler::compile const ConcreteNodeListPtr nodes,
const String group
[inherited]
 

Compiles resources from the given concrete node list.

bool Ogre::ScriptCompiler::compile const String str,
const String source,
const String group
[inherited]
 

Parameters:
str The script code
source The source of the script code (e.g. a script file)
group The resource group to place the compiled resources into

void Ogre::ParticleScriptCompiler::compileAffector const ScriptNodePtr &  node  )  [private]
 

void Ogre::ParticleScriptCompiler::compileEmitter const ScriptNodePtr &  node  )  [private]
 

bool Ogre::ParticleScriptCompiler::compileImpl ScriptNodeListPtr  nodes  )  [protected]
 

This begins the compilation of the particle system from the final transformed AST.

void Ogre::ParticleScriptCompiler::compileParticleSystem const ScriptNodePtr &  node  )  [private]
 

bool Ogre::ParticleScriptCompiler::errorRaised const ScriptCompilerErrorPtr &  error  )  [protected]
 

Allows a listener to override error handling in the compiler.

static String Ogre::ScriptCompiler::formatErrorCode uint32  code  )  [static, inherited]
 

ScriptCompilerListener* Ogre::ScriptCompiler::getListener  )  [inherited]
 

Returns the currently set listener.

String Ogre::ParticleScriptCompiler::getParameterValue ScriptNodeList::iterator &  i,
ScriptNodeList::iterator &  end
[private]
 

ParticleSystem* Ogre::ParticleScriptCompiler::getParticleSystem  )  const
 

Returns the particle system currently being compiled.

const String& Ogre::ScriptCompiler::getResourceGroup  )  const [inherited]
 

Returns the resource group currently set for this compiler.

ScriptNodeListPtr Ogre::ParticleScriptCompiler::loadImportPath const String name  )  [protected]
 

This is the override for loading imports.

Reimplemented from Ogre::ScriptCompiler.

void Ogre::AllocatedObject< ScriptingAllocPolicy >::operator delete void *  ptr,
const char *  ,
int  ,
const char * 
[inherited]
 

Definition at line 101 of file OgreMemoryAllocatedObject.h.

void Ogre::AllocatedObject< ScriptingAllocPolicy >::operator delete void *  ptr,
void * 
[inherited]
 

Definition at line 95 of file OgreMemoryAllocatedObject.h.

void Ogre::AllocatedObject< ScriptingAllocPolicy >::operator delete void *  ptr  )  [inherited]
 

Definition at line 89 of file OgreMemoryAllocatedObject.h.

void Ogre::AllocatedObject< ScriptingAllocPolicy >::operator delete[] void *  ptr,
const char *  ,
int  ,
const char * 
[inherited]
 

Definition at line 112 of file OgreMemoryAllocatedObject.h.

void Ogre::AllocatedObject< ScriptingAllocPolicy >::operator delete[] void *  ptr  )  [inherited]
 

Definition at line 106 of file OgreMemoryAllocatedObject.h.

void* Ogre::AllocatedObject< ScriptingAllocPolicy >::operator new size_t  sz,
void *  ptr
[inherited]
 

placement operator new

Definition at line 73 of file OgreMemoryAllocatedObject.h.

void* Ogre::AllocatedObject< ScriptingAllocPolicy >::operator new size_t  sz  )  [inherited]
 

Definition at line 67 of file OgreMemoryAllocatedObject.h.

void* Ogre::AllocatedObject< ScriptingAllocPolicy >::operator new size_t  sz,
const char *  file,
int  line,
const char *  func
[inherited]
 

operator new, with debug line info

Definition at line 62 of file OgreMemoryAllocatedObject.h.

void* Ogre::AllocatedObject< ScriptingAllocPolicy >::operator new[] size_t  sz  )  [inherited]
 

Definition at line 84 of file OgreMemoryAllocatedObject.h.

void* Ogre::AllocatedObject< ScriptingAllocPolicy >::operator new[] size_t  sz,
const char *  file,
int  line,
const char *  func
[inherited]
 

array operator new, with debug line info

Definition at line 79 of file OgreMemoryAllocatedObject.h.

void Ogre::ParticleScriptCompiler::preParse  )  [protected]
 

Allows a listener to override the word id map before parsing.

bool Ogre::ParticleScriptCompiler::processNode ScriptNodeList::iterator &  i,
ScriptNodeList::iterator &  end
[protected]
 

Delegates to the listener if it can, otherwise returns false. If it returns true, then some input was consumed.

void Ogre::ScriptCompiler::removeNameExclusion const String type  )  [inherited]
 

Removes a name exclusion.

void Ogre::ScriptCompiler::setListener ScriptCompilerListener listener  )  [inherited]
 

Sets the listener used by the compiler.

void Ogre::ParticleScriptCompiler::setListener ParticleScriptCompilerListener listener  ) 
 

Sets the listener for this compiler.


Member Data Documentation

ParticleScriptCompilerListener* Ogre::ParticleScriptCompiler::mListener [private]
 

Reimplemented from Ogre::ScriptCompiler.

Definition at line 77 of file OgreParticleScriptCompiler.h.

ParticleSystem* Ogre::ParticleScriptCompiler::mSystem [private]
 

Definition at line 80 of file OgreParticleScriptCompiler.h.


The documentation for this class was generated from the following file:

Copyright © 2008 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sat Apr 11 13:50:25 2009