OGRE-Next  2.3
Object-Oriented Graphics Rendering Engine
Ogre::MeshSerializerImpl Class Reference

Internal implementation of Mesh reading / writing for the latest version of the .mesh format. More...

#include <OgreMesh2SerializerImpl.h>

+ Inheritance diagram for Ogre::MeshSerializerImpl:

Public Types

enum  Endian { ENDIAN_NATIVE , ENDIAN_BIG , ENDIAN_LITTLE }
 The endianness of written files. More...
 

Public Member Functions

 MeshSerializerImpl (VaoManager *vaoManager)
 
virtual ~MeshSerializerImpl ()
 
void exportMesh (const Mesh *pMesh, DataStreamPtr stream, Endian endianMode=ENDIAN_NATIVE)
 Exports a mesh to the file specified. More...
 
void importMesh (DataStreamPtr &stream, Mesh *pDest, MeshSerializerListener *listener)
 Imports Mesh and (optionally) Material data from a .mesh file DataStream. More...
 
void operator delete (void *ptr)
 
void operator delete (void *ptr, const char *, int, const char *)
 
void operator delete (void *ptr, void *)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr, const char *, int, const char *)
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info More...
 
void * operator new (size_t sz, void *ptr)
 placement operator new More...
 
void * operator new[] (size_t sz)
 
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info More...
 

Detailed Description

Internal implementation of Mesh reading / writing for the latest version of the .mesh format.

Remarks
In order to maintain compatibility with older versions of the .mesh format, there will be alternative subclasses of this class to load older versions, whilst this class will remain to load the latest version.
Note
This mesh format was used from Ogre v1.10.

Member Enumeration Documentation

◆ Endian

enum Ogre::Serializer::Endian
inherited

The endianness of written files.

Enumerator
ENDIAN_NATIVE 

Use the platform native endian.

ENDIAN_BIG 

Use big endian (0x1000 is serialised as 0x10 0x00)

ENDIAN_LITTLE 

Use little endian (0x1000 is serialised as 0x00 0x10)

Constructor & Destructor Documentation

◆ MeshSerializerImpl()

Ogre::MeshSerializerImpl::MeshSerializerImpl ( VaoManager vaoManager)

◆ ~MeshSerializerImpl()

virtual Ogre::MeshSerializerImpl::~MeshSerializerImpl ( )
virtual

Member Function Documentation

◆ exportMesh()

void Ogre::MeshSerializerImpl::exportMesh ( const Mesh pMesh,
DataStreamPtr  stream,
Endian  endianMode = ENDIAN_NATIVE 
)

Exports a mesh to the file specified.

Remarks
This method takes an externally created Mesh object, and exports both it and optionally the Materials it uses to a .mesh file.
Parameters
pMeshPointer to the Mesh to export
streamThe destination stream
endianModeThe endian mode for the written file

◆ importMesh()

void Ogre::MeshSerializerImpl::importMesh ( DataStreamPtr stream,
Mesh pDest,
MeshSerializerListener listener 
)

Imports Mesh and (optionally) Material data from a .mesh file DataStream.

Remarks
This method imports data from a DataStream opened from a .mesh file and places it's contents into the Mesh object which is passed in.
Parameters
streamThe DataStream holding the .mesh data. Must be initialised (pos at the start of the buffer).
pDestPointer to the Mesh object which will receive the data. Should be blank already.

◆ operator delete() [1/3]

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr)
inlineinherited

◆ operator delete() [2/3]

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

◆ operator delete() [3/3]

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
void *   
)
inlineinherited

◆ operator delete[]() [1/2]

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr)
inlineinherited

◆ operator delete[]() [2/2]

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

◆ operator new() [1/3]

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz)
inlineinherited

◆ operator new() [2/3]

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

operator new, with debug line info

◆ operator new() [3/3]

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
void *  ptr 
)
inlineinherited

placement operator new

◆ operator new[]() [1/2]

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz)
inlineinherited

◆ operator new[]() [2/2]

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

array operator new, with debug line info


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