Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Ogre::MaterialSerializer Class Reference

Class for serializing Materials to / from a .material script. More...

#include <OgreMaterialSerializer.h>

List of all members.

Public Member Functions

 MaterialSerializer ()
 default constructor

virtual ~MaterialSerializer ()
 default destructor

void queueForExport (const MaterialPtr &pMat, bool clearQueued=false, bool exportDefaults=false)
 Queue an in-memory Material to the internal buffer for export.

void exportQueued (const String &filename)
 Exports queued material(s) to a named material script file.

void exportMaterial (const MaterialPtr &pMat, const String &filename, bool exportDefaults=false)
 Exports an in-memory Material to the named material script file.

const StringgetQueuedAsString () const
 Returns a string representing the parsed material(s).

void clearQueue ()
 Clears the internal buffer.

void parseScript (DataStreamPtr &stream, const String &groupName)
 Parses a Material script file passed as a stream.


Protected Types

typedef std::map< String,
ATTRIBUTE_PARSER
AttribParserList
 Keyword-mapped attribute parsers.

typedef std::multimap< TextureUnitState::TextureEffectType,
TextureUnitState::TextureEffect
EffectMap

Protected Member Functions

bool parseScriptLine (String &line)
 internal method for parsing a material

bool invokeParser (String &line, AttribParserList &parsers)
 internal method for finding & invoking an attribute parser.

void finishProgramDefinition (void)
 Internal method for saving a program definition which has been built up.

void writeMaterial (const MaterialPtr &pMat)
void writeTechnique (const Technique *pTech)
void writePass (const Pass *pPass)
void writeTextureUnit (const TextureUnitState *pTex)
void writeSceneBlendFactor (const SceneBlendFactor sbf_src, const SceneBlendFactor sbf_dest)
void writeSceneBlendFactor (const SceneBlendFactor sbf)
void writeCompareFunction (const CompareFunction cf)
void writeColourValue (const ColourValue &colour, bool writeAlpha=false)
void writeLayerBlendOperationEx (const LayerBlendOperationEx op)
void writeLayerBlendSource (const LayerBlendSource lbs)
void writeRotationEffect (const TextureUnitState::TextureEffect &effect, const TextureUnitState *pTex)
void writeTransformEffect (const TextureUnitState::TextureEffect &effect, const TextureUnitState *pTex)
void writeScrollEffect (const TextureUnitState::TextureEffect &effect, const TextureUnitState *pTex)
void writeEnvironmentMapEffect (const TextureUnitState::TextureEffect &effect, const TextureUnitState *pTex)
String convertFiltering (FilterOptions fo)

Protected Attributes

MaterialScriptContext mScriptContext
AttribParserList mRootAttribParsers
 Parsers for the root of the material script.

AttribParserList mMaterialAttribParsers
 Parsers for the material section of a script.

AttribParserList mTechniqueAttribParsers
 Parsers for the technique section of a script.

AttribParserList mPassAttribParsers
 Parsers for the pass section of a script.

AttribParserList mTextureUnitAttribParsers
 Parsers for the texture unit section of a script.

AttribParserList mProgramRefAttribParsers
 Parsers for the program reference section of a script.

AttribParserList mProgramAttribParsers
 Parsers for the program definition section of a script.

AttribParserList mProgramDefaultParamAttribParsers
 Parsers for the program definition section of a script.


Private Member Functions

void beginSection (unsigned short level)
void endSection (unsigned short level)
void writeAttribute (unsigned short level, const String &att)
void writeValue (const String &val)
void writeComment (unsigned short level, const String &comment)

Private Attributes

String mBuffer
bool mDefaults


Detailed Description

Class for serializing Materials to / from a .material script.

Definition at line 89 of file OgreMaterialSerializer.h.


Member Typedef Documentation

typedef std::map<String, ATTRIBUTE_PARSER> Ogre::MaterialSerializer::AttribParserList [protected]
 

Keyword-mapped attribute parsers.

Definition at line 93 of file OgreMaterialSerializer.h.

typedef std::multimap<TextureUnitState::TextureEffectType, TextureUnitState::TextureEffect> Ogre::MaterialSerializer::EffectMap [protected]
 

Definition at line 136 of file OgreMaterialSerializer.h.


Constructor & Destructor Documentation

Ogre::MaterialSerializer::MaterialSerializer  ) 
 

default constructor

virtual Ogre::MaterialSerializer::~MaterialSerializer  )  [virtual]
 

default destructor

Definition at line 148 of file OgreMaterialSerializer.h.


Member Function Documentation

void Ogre::MaterialSerializer::beginSection unsigned short  level  )  [private]
 

Definition at line 171 of file OgreMaterialSerializer.h.

void Ogre::MaterialSerializer::clearQueue  ) 
 

Clears the internal buffer.

String Ogre::MaterialSerializer::convertFiltering FilterOptions  fo  )  [protected]
 

void Ogre::MaterialSerializer::endSection unsigned short  level  )  [private]
 

Definition at line 180 of file OgreMaterialSerializer.h.

void Ogre::MaterialSerializer::exportMaterial const MaterialPtr pMat,
const String filename,
bool  exportDefaults = false
 

Exports an in-memory Material to the named material script file.

void Ogre::MaterialSerializer::exportQueued const String filename  ) 
 

Exports queued material(s) to a named material script file.

void Ogre::MaterialSerializer::finishProgramDefinition void   )  [protected]
 

Internal method for saving a program definition which has been built up.

const String& Ogre::MaterialSerializer::getQueuedAsString  )  const
 

Returns a string representing the parsed material(s).

bool Ogre::MaterialSerializer::invokeParser String line,
AttribParserList parsers
[protected]
 

internal method for finding & invoking an attribute parser.

void Ogre::MaterialSerializer::parseScript DataStreamPtr stream,
const String groupName
 

Parses a Material script file passed as a stream.

bool Ogre::MaterialSerializer::parseScriptLine String line  )  [protected]
 

internal method for parsing a material

Returns:
true if it expects the next line to be a {

void Ogre::MaterialSerializer::queueForExport const MaterialPtr pMat,
bool  clearQueued = false,
bool  exportDefaults = false
 

Queue an in-memory Material to the internal buffer for export.

void Ogre::MaterialSerializer::writeAttribute unsigned short  level,
const String att
[private]
 

Definition at line 190 of file OgreMaterialSerializer.h.

References Ogre::String.

void Ogre::MaterialSerializer::writeColourValue const ColourValue colour,
bool  writeAlpha = false
[protected]
 

void Ogre::MaterialSerializer::writeComment unsigned short  level,
const String comment
[private]
 

Definition at line 205 of file OgreMaterialSerializer.h.

References Ogre::String.

void Ogre::MaterialSerializer::writeCompareFunction const CompareFunction  cf  )  [protected]
 

void Ogre::MaterialSerializer::writeEnvironmentMapEffect const TextureUnitState::TextureEffect effect,
const TextureUnitState pTex
[protected]
 

void Ogre::MaterialSerializer::writeLayerBlendOperationEx const LayerBlendOperationEx  op  )  [protected]
 

void Ogre::MaterialSerializer::writeLayerBlendSource const LayerBlendSource  lbs  )  [protected]
 

void Ogre::MaterialSerializer::writeMaterial const MaterialPtr pMat  )  [protected]
 

void Ogre::MaterialSerializer::writePass const Pass pPass  )  [protected]
 

void Ogre::MaterialSerializer::writeRotationEffect const TextureUnitState::TextureEffect effect,
const TextureUnitState pTex
[protected]
 

void Ogre::MaterialSerializer::writeSceneBlendFactor const SceneBlendFactor  sbf  )  [protected]
 

void Ogre::MaterialSerializer::writeSceneBlendFactor const SceneBlendFactor  sbf_src,
const SceneBlendFactor  sbf_dest
[protected]
 

void Ogre::MaterialSerializer::writeScrollEffect const TextureUnitState::TextureEffect effect,
const TextureUnitState pTex
[protected]
 

void Ogre::MaterialSerializer::writeTechnique const Technique pTech  )  [protected]
 

void Ogre::MaterialSerializer::writeTextureUnit const TextureUnitState pTex  )  [protected]
 

void Ogre::MaterialSerializer::writeTransformEffect const TextureUnitState::TextureEffect effect,
const TextureUnitState pTex
[protected]
 

void Ogre::MaterialSerializer::writeValue const String val  )  [private]
 

Definition at line 200 of file OgreMaterialSerializer.h.

References Ogre::String.


Member Data Documentation

String Ogre::MaterialSerializer::mBuffer [private]
 

Definition at line 168 of file OgreMaterialSerializer.h.

bool Ogre::MaterialSerializer::mDefaults [private]
 

Definition at line 169 of file OgreMaterialSerializer.h.

AttribParserList Ogre::MaterialSerializer::mMaterialAttribParsers [protected]
 

Parsers for the material section of a script.

Definition at line 110 of file OgreMaterialSerializer.h.

AttribParserList Ogre::MaterialSerializer::mPassAttribParsers [protected]
 

Parsers for the pass section of a script.

Definition at line 114 of file OgreMaterialSerializer.h.

AttribParserList Ogre::MaterialSerializer::mProgramAttribParsers [protected]
 

Parsers for the program definition section of a script.

Definition at line 120 of file OgreMaterialSerializer.h.

AttribParserList Ogre::MaterialSerializer::mProgramDefaultParamAttribParsers [protected]
 

Parsers for the program definition section of a script.

Definition at line 122 of file OgreMaterialSerializer.h.

AttribParserList Ogre::MaterialSerializer::mProgramRefAttribParsers [protected]
 

Parsers for the program reference section of a script.

Definition at line 118 of file OgreMaterialSerializer.h.

AttribParserList Ogre::MaterialSerializer::mRootAttribParsers [protected]
 

Parsers for the root of the material script.

Definition at line 108 of file OgreMaterialSerializer.h.

MaterialScriptContext Ogre::MaterialSerializer::mScriptContext [protected]
 

Definition at line 95 of file OgreMaterialSerializer.h.

AttribParserList Ogre::MaterialSerializer::mTechniqueAttribParsers [protected]
 

Parsers for the technique section of a script.

Definition at line 112 of file OgreMaterialSerializer.h.

AttribParserList Ogre::MaterialSerializer::mTextureUnitAttribParsers [protected]
 

Parsers for the texture unit section of a script.

Definition at line 116 of file OgreMaterialSerializer.h.


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

Copyright © 2000-2005 by The OGRE Team
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Feb 12 13:01:01 2006