29#ifndef __MeshSerializer_H__
30#define __MeshSerializer_H__
Internal implementation of Mesh reading / writing for the latest version of the .mesh format.
virtual void processSkeletonName(Mesh *mesh, String *name)=0
Called to override the reference to a skeleton.
virtual void processMaterialName(Mesh *mesh, String *name)=0
Called to override the loading of the given named material.
virtual void processMeshCompleted(Mesh *mesh)=0
Allows to do changes on mesh after it's completely loaded. For example you can generate LOD levels he...
virtual ~MeshSerializerListener()
MeshVersionData(MeshVersion _ver, const String &_string, MeshSerializerImpl *_impl)
MeshSerializerImpl * impl
virtual ~MeshSerializer()
void exportMesh(const Mesh *pMesh, DataStreamPtr stream, MeshVersion version, Endian endianMode=ENDIAN_NATIVE)
Exports a mesh to the stream specified, in a specific version format.
vector< MeshVersionData * >::type MeshVersionDataList
void exportMesh(const Mesh *pMesh, const String &filename, Endian endianMode=ENDIAN_NATIVE)
Exports a mesh to the file specified, in the latest format.
MeshSerializerListener * getListener()
Returns the current listener.
void exportMesh(const Mesh *pMesh, const String &filename, MeshVersion version, Endian endianMode=ENDIAN_NATIVE)
Exports a mesh to the file specified, in a specific version format.
void exportMesh(const Mesh *pMesh, DataStreamPtr stream, Endian endianMode=ENDIAN_NATIVE)
Exports a mesh to the stream specified, in the latest format.
void importMesh(DataStreamPtr &stream, Mesh *pDest)
Imports Mesh and (optionally) Material data from a .mesh file DataStream.
MeshSerializerListener * mListener
void setListener(MeshSerializerListener *listener)
Sets the listener for this serializer.
MeshVersionDataList mVersionData
Resource holding data about 3D mesh.
Endian
The endianness of written files.
@ ENDIAN_NATIVE
Use the platform native endian.
SharedPtr< DataStream > DataStreamPtr
Shared pointer to allow data streams to be passed around without worrying about deallocation.
GeneralAllocatedObject SerializerAlloc
MeshVersion
Mesh compatibility versions.
@ MESH_VERSION_1_7
OGRE version v1.7+.
@ MESH_VERSION_LEGACY
Legacy versions, DO NOT USE for writing.
@ MESH_VERSION_1_8
OGRE version v1.8+.
@ MESH_VERSION_1_0
OGRE version v1.0+.
@ MESH_VERSION_1_4
OGRE version v1.4+.
@ MESH_VERSION_LATEST
Latest version available.