41 #ifndef _graphicsparticleemitter_cpp
42 #define _graphicsparticleemitter_cpp
44 #include "Graphics/particleemitter.h"
48 #include "stringtool.h"
57 GraphicsEmitter(InternalEmitter),
131 if( !CustomParametersNode.
Empty() ) {
133 String ParamName, ParamValue;
137 if( !(*ParamIt).Empty() ) {
138 if((*ParamIt).GetAttribute(
"Version").AsInt() == 1) {
139 CurrAttrib = (*ParamIt).GetAttribute(
"ParamName");
140 if( !CurrAttrib.
Empty() )
143 CurrAttrib = (*ParamIt).GetAttribute(
"ParamValue");
144 if( !CurrAttrib.
Empty() )
147 if( !ParamName.empty() && !ParamValue.empty() ) {
165 {
return "ParticleEmitter"; }
Attribute AppendAttribute(const Char8 *Name)
Creates an Attribute and puts it at the end of this Nodes attributes.
A light-weight handle for manipulating attributes in DOM tree.
virtual String GetDerivedSerializableName() const
Gets the most derived serializable name of this WorldProxy.
virtual void ProtoDeSerialize(const XML::Node &SelfRoot)
Take the data stored in an XML Node and overwrite this object with it.
Thrown when the requested identity could not be found.
#define MEZZ_EXCEPTION(num, desc)
An easy way to throw exceptions with rich information.
Thrown when a version is accessed/parsed/required and it cannot work correctly or is missing...
String GetCustomParam(const String &Name) const
Gets a custom parameter of a particle emitter.
const Char8 * AsString(const Char8 *def="") const
Attempts to convert the value of the attribute to a String and returns the results.
ParticleEmitter(Ogre::ParticleEmitter *InternalEmitter, ParticleSystemProxy *Creator)
Internal Class constructor.
void SetCustomParam(const String &Name, const String &Value)
Sets a custom parameter of a particle emitter.
bool Empty() const
Is this storing anything at all?
This implements the exception hiearchy for Mezzanine.
The interface for serialization.
bool SetValue(const Char8 *rhs)
Set the value of this.
Child node iterator (a bidirectional iterator over a collection of Node)
A light-weight handle for manipulating nodes in DOM tree.
iterator begin() const
Get a Child node iterator that references the first child Node.
int AsInt(int def=0) const
Attempts to convert the value of the attribute to an int and returns the results. ...
iterator end() const
Get a Child node iterator that references one past the last child Node.
bool Empty() const
Is this storing anything at all?
virtual void ProtoSerialize(XML::Node &ParentNode) const
Convert this class to an XML::Node ready for serialization.
NameValuePairMap CustomEmitterParameters
A cache containing all of the custom altered parameters of this particle emitter. ...
This is the proxy class for placing and manipulating particles in the scene.
Ogre::ParticleEmitter * GraphicsEmitter
The internal emitter class this class get's it functionality from.
virtual void ProtoDeSerializeCustomParameters(const XML::Node &SelfRoot)
Take the data stored in an XML Node and overwrite the custom altered parameters of this object with i...
The bulk of the engine components go in this namspace.
static String GetSerializableName()
Get the name of the the XML tag the proxy class will leave behind as its instances are serialized...
void SerializeError(const String &FailedTo, const String &ClassName, Boole SOrD)
Simply does some string concatenation, then throws an Exception.
virtual Ogre::ParticleEmitter * _GetGraphicsEmitter() const
Accessor for the internal particle emitter.
virtual void ProtoSerializeCustomParameters(XML::Node &SelfRoot) const
Convert the custom altered parameters of this class to an XML::Node ready for serialization.
Node AppendChild(NodeType Type=NodeElement)
Creates a Node and makes it a child of this one.
std::string String
A datatype used to a series of characters.
virtual ~ParticleEmitter()
Class destructor.
Attribute GetAttribute(const Char8 *Name) const
Attempt to get an Attribute on this Node with a given name.
Node GetChild(const Char8 *Name) const
Attempt to get a child Node with a given name.