| OGRE 1.11.1 Object-Oriented Graphics Rendering Engine

Classes | Public Types | Public Member Functions | List of all members
Ogre::MaterialSerializer Class Reference
Core » Materials

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

`#include <OgreMaterialSerializer.h>`

Inheritance diagram for Ogre::MaterialSerializer:
[legend]

## Classes
class | Listener
| Class that allows listening in on the various stages of material serialization process. More...

## Public Types
enum | SerializeEvent { MSE_PRE_WRITE, MSE_WRITE_BEGIN, MSE_WRITE_END, MSE_POST_WRITE }

## Public Member Functions
| MaterialSerializer ()
| default constructor More...
virtual | ~MaterialSerializer ()
| default destructor More...
void | addListener (Listener *listener)
| Register a listener to this Serializer. More...
void | beginSection (unsigned short level, const bool useMainBuffer=true)
void | clearQueue ()
| Clears the internal buffer. More...
void | endSection (unsigned short level, const bool useMainBuffer=true)
void | exportMaterial (const MaterialPtr &pMat, const String &filename, bool exportDefaults=false, const bool includeProgDef=false, const String &programFilename="", const String &materialName="")
| Exports a single in-memory Material to the named material script file. More...
void | exportQueued (const String &filename, const bool includeProgDef=false, const String &programFilename="")
| Exports queued material(s) to a named material script file. More...
const String & | getQueuedAsString () const
| Returns a string representing the parsed material(s) More...
void | queueForExport (const MaterialPtr &pMat, bool clearQueued=false, bool exportDefaults=false, const String &materialName="")
| Queue an in-memory Material to the internal buffer for export. More...
String | quoteWord (const String &val)
void | removeListener (Listener *listener)
| Remove a listener from this Serializer. More...
void | writeAttribute (unsigned short level, const String &att, const bool useMainBuffer=true)
void | writeComment (unsigned short level, const String &comment, const bool useMainBuffer=true)
void | writeValue (const String &val, const bool useMainBuffer=true)

## Detailed Description

Class for serializing Materials to a .material script.

## Member Enumeration Documentation

## ◆ SerializeEvent

enum Ogre::MaterialSerializer::SerializeEvent

Enumerator
MSE_PRE_WRITE |
MSE_WRITE_BEGIN |
MSE_WRITE_END |
MSE_POST_WRITE |

## Constructor & Destructor Documentation

## ◆ MaterialSerializer()

Ogre::MaterialSerializer::MaterialSerializer | ( |  | ) |

default constructor

## ◆ ~MaterialSerializer()

virtual Ogre::MaterialSerializer::~MaterialSerializer | ( |  | ) |
| inline virtual

default destructor

## Member Function Documentation

## ◆ queueForExport()

void Ogre::MaterialSerializer::queueForExport | ( | const MaterialPtr & | pMat,
|  | bool | clearQueued = `false`,
|  | bool | exportDefaults = `false`,
|  | const String & | materialName = `""`
| ) |  |

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

Parameters

  pMat | Material pointer
  clearQueued | If true, any materials already queued will be removed
  exportDefaults | If true, attributes which are defaulted will be included in the script exported, otherwise they will be omitted
  materialName | Allow exporting the given material under a different name. In case of empty string the original material name will be used.

## ◆ exportQueued()

void Ogre::MaterialSerializer::exportQueued | ( | const String & | filename,
|  | const bool | includeProgDef = `false`,
|  | const String & | programFilename = `""`
| ) |  |

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

Parameters

  filename | the file name of the material script to be exported
  includeProgDef | If true, vertex program and fragment program definitions will be written at the top of the material script
  programFilename | the file name of the vertex / fragment program script to be exported. This is only used if there are program definitions to be exported and includeProgDef is false when calling queueForExport.

## ◆ exportMaterial()

void Ogre::MaterialSerializer::exportMaterial | ( | const MaterialPtr & | pMat,
|  | const String & | filename,
|  | bool | exportDefaults = `false`,
|  | const bool | includeProgDef = `false`,
|  | const String & | programFilename = `""`,
|  | const String & | materialName = `""`
| ) |  |

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

Parameters

  exportDefaults | if true then exports all values including defaults
  includeProgDef | if true includes Gpu shader program definitions in the export material script otherwise if false then program definitions will be exported to a separate file with name programFilename if programFilename is not empty
  programFilename | the file name of the vertex / fragment program script to be exported. This is only used if includeProgDef is false.
  materialName | Allow exporting the given material under a different name. In case of empty string the original material name will be used.

## ◆ getQueuedAsString()

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

Returns a string representing the parsed material(s)

## ◆ clearQueue()

void Ogre::MaterialSerializer::clearQueue | ( |  | ) |

Clears the internal buffer.

## ◆ addListener()

void Ogre::MaterialSerializer::addListener | ( | Listener * | listener | ) |

Register a listener to this Serializer.

See also
  MaterialSerializer::Listener

## ◆ removeListener()

void Ogre::MaterialSerializer::removeListener | ( | Listener * | listener | ) |

Remove a listener from this Serializer.

See also
  MaterialSerializer::Listener

## ◆ beginSection()

void Ogre::MaterialSerializer::beginSection | ( | unsigned short | level,
|  | const bool | useMainBuffer = `true`
| ) |  |
| inline

## ◆ endSection()

void Ogre::MaterialSerializer::endSection | ( | unsigned short | level,
|  | const bool | useMainBuffer = `true`
| ) |  |
| inline

## ◆ writeAttribute()

void Ogre::MaterialSerializer::writeAttribute | ( | unsigned short | level,
|  | const String & | att,
|  | const bool | useMainBuffer = `true`
| ) |  |
| inline

## ◆ writeValue()

void Ogre::MaterialSerializer::writeValue | ( | const String & | val,
|  | const bool | useMainBuffer = `true`
| ) |  |
| inline

## ◆ quoteWord()

String Ogre::MaterialSerializer::quoteWord | ( | const String & | val | ) |
| inline

## ◆ writeComment()

void Ogre::MaterialSerializer::writeComment | ( | unsigned short | level,
|  | const String & | comment,
|  | const bool | useMainBuffer = `true`
| ) |  |
| inline

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

- OgreMaterialSerializer.h