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

# Ogre::MeshSerializerImpl Class Reference

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

`#include <OgreMeshSerializerImpl.h>`

Inheritance diagram for Ogre::MeshSerializerImpl:

[legend]
List of all members.

## Public Methods

| MeshSerializerImpl ()
virtual | ~MeshSerializerImpl ()
void | exportMesh (const Mesh *pMesh, const String &filename)
| Exports a mesh to the file specified.
void | importMesh (DataChunk &chunk, Mesh *pDest)
| Imports Mesh and (optionally) Material data from a .mesh file DataChunk.

## Protected Types

typedef std::map< String, Material * > | MaterialMap

## Protected Methods

virtual void | writeSubMeshNameTable (const Mesh *pMesh)
virtual void | writeMesh (const Mesh *pMesh)
virtual void | writeSubMesh (const SubMesh *s)
virtual void | writeSubMeshOperation (const SubMesh *s)
virtual void | writeGeometry (const VertexData *pGeom)
virtual void | writeSkeletonLink (const String &skelName)
virtual void | writeMeshBoneAssignment (const VertexBoneAssignment *assign)
virtual void | writeSubMeshBoneAssignment (const VertexBoneAssignment *assign)
virtual void | writeLodInfo (const Mesh *pMesh)
virtual void | writeLodSummary (unsigned short numLevels, bool manual)
virtual void | writeLodUsageManual (const Mesh::MeshLodUsage &usage)
virtual void | writeLodUsageGenerated (const Mesh *pMesh, const Mesh::MeshLodUsage &usage, unsigned short lodNum)
virtual void | writeBoundsInfo (const Mesh *pMesh)
virtual void | writeEdgeList (const Mesh *pMesh)
virtual unsigned long | calcMeshSize (const Mesh *pMesh)
virtual unsigned long | calcSubMeshSize (const SubMesh *pSub)
virtual unsigned long | calcGeometrySize (const VertexData *pGeom)
virtual unsigned long | calcSkeletonLinkSize (const String &skelName)
virtual unsigned long | calcBoneAssignmentSize (void)
virtual unsigned long | calcSubMeshOperationSize (const SubMesh *pSub)
virtual unsigned long | calcSubMeshNameTableSize (const Mesh *pMesh)
virtual unsigned long | calcEdgeListSize (const Mesh *pMesh)
virtual unsigned long | calcEdgeListLodSize (const EdgeData *data, bool isManual)
virtual unsigned long | calcEdgeGroupSize (const EdgeData::EdgeGroup &group)
virtual void | readTextureLayer (DataChunk &chunk, Material *pMat)
virtual void | readSubMeshNameTable (DataChunk &chunk)
virtual void | readMesh (DataChunk &chunk)
virtual void | readSubMesh (DataChunk &chunk)
virtual void | readSubMeshOperation (DataChunk &chunk, SubMesh *sub)
virtual void | readGeometry (DataChunk &chunk, VertexData *dest)
virtual void | readGeometryVertexDeclaration (DataChunk &chunk, VertexData *dest)
virtual void | readGeometryVertexElement (DataChunk &chunk, VertexData *dest)
virtual void | readGeometryVertexBuffer (DataChunk &chunk, VertexData *dest)
virtual void | readSkeletonLink (DataChunk &chunk)
virtual void | readMeshBoneAssignment (DataChunk &chunk)
virtual void | readSubMeshBoneAssignment (DataChunk &chunk, SubMesh *sub)
virtual void | readMeshLodInfo (DataChunk &chunk)
virtual void | readMeshLodUsageManual (DataChunk &chunk, unsigned short lodNum, Mesh::MeshLodUsage &usage)
virtual void | readMeshLodUsageGenerated (DataChunk &chunk, unsigned short lodNum, Mesh::MeshLodUsage &usage)
virtual void | readBoundsInfo (DataChunk &chunk)
virtual void | readEdgeList (DataChunk &chunk)
virtual void | flipFromLittleEndian (void *pData, size_t vertexCount, size_t vertexSize, const VertexDeclaration::VertexElementList &elems)
| Flip an entire vertex buffer from little endian.
virtual void | flipToLittleEndian (void *pData, size_t vertexCount, size_t vertexSize, const VertexDeclaration::VertexElementList &elems)
| Flip an entire vertex buffer to little endian.
virtual void | flipEndian (void *pData, size_t vertexCount, size_t vertexSize, const VertexDeclaration::VertexElementList &elems)
| Flip the endianness of an entire vertex buffer, passed in as a pointer to locked or temporary memory.
virtual void | writeFileHeader (void)
virtual void | writeChunkHeader (unsigned short id, unsigned long size)
void | writeReals (const Real *pReal, size_t count)
void | writeShorts (const unsigned short *pShort, size_t count)
void | writeInts (const unsigned int *pInt, size_t count)
void | writeLongs (const unsigned long *pLong, size_t count)
void | writeBools (const bool *pLong, size_t count)
void | writeObject (const Vector3 &vec)
void | writeObject (const Quaternion &q)
void | writeString (const String &string)
void | writeData (const void *buf, size_t size, size_t count)
virtual void | readFileHeader (DataChunk &chunk)
virtual unsigned short | readChunk (DataChunk &chunk)
void | readBools (DataChunk &chunk, bool *pDest, size_t count)
void | readReals (DataChunk &chunk, Real *pDest, size_t count)
void | readShorts (DataChunk &chunk, unsigned short *pDest, size_t count)
void | readInts (DataChunk &chunk, unsigned int *pDest, size_t count)
void | readLongs (DataChunk &chunk, unsigned long *pDest, size_t count)
void | readObject (DataChunk &chunk, Vector3 *pDest)
void | readObject (DataChunk &chunk, Quaternion *pDest)
String | readString (DataChunk &chunk)
String | readString (DataChunk &chunk, size_t numChars)
virtual void | flipToLittleEndian (void *pData, size_t size, size_t count=1)
virtual void | flipFromLittleEndian (void *pData, size_t size, size_t count=1)
virtual void | flipEndian (void *pData, size_t size, size_t count)
virtual void | flipEndian (void *pData, size_t size)

## Protected Attributes

MaterialMap | mMaterialList
Mesh * | mpMesh
bool | mIsSkeletallyAnimated
unsigned long | mCurrentChunkLen
FILE * | mpfFile
String | mVersion

## 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.

Definition at line 46 of file OgreMeshSerializerImpl.h.

## Member Typedef Documentation

typedef std::map<String, Material*> Ogre::MeshSerializerImpl::MaterialMap`[protected]`

| Definition at line 71 of file OgreMeshSerializerImpl.h.

## Constructor & Destructor Documentation

Ogre::MeshSerializerImpl::MeshSerializerImpl | ( |  | ) |

| Definition at line 45 of file OgreMeshSerializerImpl.cpp. References mpMesh, and Ogre::Serializer::mVersion.

Ogre::MeshSerializerImpl::~MeshSerializerImpl | ( |  | ) | `[virtual]`

| Definition at line 53 of file OgreMeshSerializerImpl.cpp.

## Member Function Documentation

unsigned long Ogre::MeshSerializerImpl::calcBoneAssignmentSize | ( | void |  | ) | `[protected, virtual]`

| Definition at line 938 of file OgreMeshSerializerImpl.cpp. References Ogre::CHUNK_OVERHEAD_SIZE. Referenced by writeMeshBoneAssignment(), and writeSubMeshBoneAssignment().

unsigned long Ogre::MeshSerializerImpl::calcEdgeGroupSize | ( | const EdgeData::EdgeGroup & | group | ) | `[protected, virtual]`

| Definition at line 1400 of file OgreMeshSerializerImpl.cpp. References Ogre::CHUNK_OVERHEAD_SIZE, and Ogre::EdgeData::EdgeGroup::edges. Referenced by calcEdgeListLodSize(), and writeEdgeList().

unsigned long Ogre::MeshSerializerImpl::calcEdgeListLodSize | ( | const EdgeData * | data,
|  | bool | isManual
| ) | `[protected, virtual]`

| Definition at line 1361 of file OgreMeshSerializerImpl.cpp. References calcEdgeGroupSize(), Ogre::CHUNK_OVERHEAD_SIZE, Ogre::EdgeData::edgeGroups, and Ogre::EdgeData::triangles. Referenced by calcEdgeListSize(), and writeEdgeList().

unsigned long Ogre::MeshSerializerImpl::calcEdgeListSize | ( | const Mesh * | pMesh | ) | `[protected, virtual]`

| Definition at line 1344 of file OgreMeshSerializerImpl.cpp. References calcEdgeListLodSize(), Ogre::CHUNK_OVERHEAD_SIZE, Ogre::Mesh::getEdgeList(), Ogre::Mesh::getNumLodLevels(), Ogre::Mesh::isLodManual(), and Ogre::ushort. Referenced by calcMeshSize(), and writeEdgeList().

unsigned long Ogre::MeshSerializerImpl::calcGeometrySize | ( | const VertexData * | pGeom | ) | `[protected, virtual]`

| Definition at line 450 of file OgreMeshSerializerImpl.cpp. References Ogre::CHUNK_OVERHEAD_SIZE, Ogre::VertexDeclaration::getElements(), Ogre::VertexElement::getType(), Ogre::VertexData::vertexCount, and Ogre::VertexData::vertexDeclaration. Referenced by calcMeshSize(), and calcSubMeshSize().

unsigned long Ogre::MeshSerializerImpl::calcMeshSize | ( | const Mesh * | pMesh | ) | `[protected, virtual]`

Definition at line 382 of file OgreMeshSerializerImpl.cpp.

References calcEdgeListSize(), calcGeometrySize(), calcSkeletonLinkSize(), calcSubMeshNameTableSize(), calcSubMeshSize(), Ogre::CHUNK_OVERHEAD_SIZE, Ogre::Mesh::getNumSubMeshes(), Ogre::Mesh::getSkeletonName(), Ogre::Mesh::getSubMesh(), Ogre::Mesh::hasSkeleton(), Ogre::Mesh::isEdgeListBuilt(), Ogre::Mesh::sharedVertexData, and Ogre::VertexData::vertexCount.

Referenced by writeMesh().

unsigned long Ogre::MeshSerializerImpl::calcSkeletonLinkSize | ( | const String & | skelName | ) | `[protected, virtual]`

| Definition at line 874 of file OgreMeshSerializerImpl.cpp. References Ogre::CHUNK_OVERHEAD_SIZE, and Ogre::String. Referenced by calcMeshSize(), and writeSkeletonLink().

unsigned long Ogre::MeshSerializerImpl::calcSubMeshNameTableSize | ( | const Mesh * | pMesh | ) | `[protected, virtual]`

| Definition at line 362 of file OgreMeshSerializerImpl.cpp. References Ogre::CHUNK_OVERHEAD_SIZE, and Ogre::Mesh::mSubMeshNameMap. Referenced by calcMeshSize(), and writeSubMeshNameTable().

unsigned long Ogre::MeshSerializerImpl::calcSubMeshOperationSize | ( | const SubMesh * | pSub | ) | `[protected, virtual]`

| Definition at line 445 of file OgreMeshSerializerImpl.cpp. References Ogre::CHUNK_OVERHEAD_SIZE. Referenced by writeSubMeshOperation().

unsigned long Ogre::MeshSerializerImpl::calcSubMeshSize | ( | const SubMesh * | pSub | ) | `[protected, virtual]`

| Definition at line 420 of file OgreMeshSerializerImpl.cpp. References calcGeometrySize(), Ogre::CHUNK_OVERHEAD_SIZE, Ogre::SubMesh::getMaterialName(), Ogre::IndexData::indexCount, Ogre::SubMesh::indexData, Ogre::SubMesh::useSharedVertices, and Ogre::SubMesh::vertexData. Referenced by calcMeshSize(), and writeSubMesh().

void Ogre::MeshSerializerImpl::exportMesh | ( | const Mesh * | pMesh,
|  | const String & | filename
| ) |

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:

  pMesh | Pointer to the Mesh to export
  filename | The destination filename

Definition at line 57 of file OgreMeshSerializerImpl.cpp.

References Except, Ogre::Mesh::getBoundingSphereRadius(), Ogre::Mesh::getBounds(), Ogre::AxisAlignedBox::isNull(), Ogre::Serializer::mpfFile, Ogre::String, Ogre::Serializer::writeFileHeader(), and writeMesh().

void Ogre::Serializer::flipEndian | ( | void * | pData,
|  | size_t | size
| ) | `[protected, virtual, inherited]`

| Definition at line 310 of file OgreSerializer.cpp.

void Ogre::Serializer::flipEndian | ( | void * | pData,
|  | size_t | size,
|  | size_t | count
| ) | `[protected, virtual, inherited]`

| Definition at line 302 of file OgreSerializer.cpp. Referenced by Ogre::Serializer::flipFromLittleEndian(), and Ogre::Serializer::flipToLittleEndian().

void Ogre::MeshSerializerImpl::flipEndian | ( | void * | pData,
|  | size_t | vertexCount,
|  | size_t | vertexSize,
|  | const VertexDeclaration::VertexElementList & | elems
| ) | `[protected, virtual]`

| Flip the endianness of an entire vertex buffer, passed in as a pointer to locked or temporary memory. Definition at line 1303 of file OgreMeshSerializerImpl.cpp. References Ogre::VET_COLOUR, Ogre::VET_FLOAT1, Ogre::VET_SHORT1, and Ogre::VET_UBYTE4. Referenced by flipFromLittleEndian(), and flipToLittleEndian().

void Ogre::Serializer::flipFromLittleEndian | ( | void * | pData,
|  | size_t | size,
|  | size_t | count = 1
| ) | `[protected, virtual, inherited]`

| Definition at line 295 of file OgreSerializer.cpp. References Ogre::Serializer::flipEndian(). Referenced by Ogre::Serializer::readInts(), Ogre::Serializer::readLongs(), Ogre::Serializer::readReals(), and Ogre::Serializer::readShorts().

void Ogre::MeshSerializerImpl::flipFromLittleEndian | ( | void * | pData,
|  | size_t | vertexCount,
|  | size_t | vertexSize,
|  | const VertexDeclaration::VertexElementList & | elems
| ) | `[protected, virtual]`

| Flip an entire vertex buffer from little endian. Definition at line 1287 of file OgreMeshSerializerImpl.cpp. References flipEndian(). Referenced by readGeometryVertexBuffer().

void Ogre::Serializer::flipToLittleEndian | ( | void * | pData,
|  | size_t | size,
|  | size_t | count = 1
| ) | `[protected, virtual, inherited]`

| Definition at line 288 of file OgreSerializer.cpp. References Ogre::Serializer::flipEndian(). Referenced by Ogre::Serializer::writeInts(), Ogre::Serializer::writeLongs(), Ogre::Serializer::writeReals(), and Ogre::Serializer::writeShorts().

void Ogre::MeshSerializerImpl::flipToLittleEndian | ( | void * | pData,
|  | size_t | vertexCount,
|  | size_t | vertexSize,
|  | const VertexDeclaration::VertexElementList & | elems
| ) | `[protected, virtual]`

| Flip an entire vertex buffer to little endian. Definition at line 1295 of file OgreMeshSerializerImpl.cpp. References flipEndian(). Referenced by writeGeometry().

void Ogre::MeshSerializerImpl::importMesh | ( | DataChunk & | chunk,
|  | Mesh * | pDest
| ) |

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

Remarks:
  This method imports data from a DataChunk opened from a .mesh file and places it's contents into the Mesh object which is passed in.

Parameters:

  chunk | The DataChunk holding the .mesh data. Must be initialised (pos at the start of the buffer).
  pDest | Pointer to the Mesh object which will receive the data. Should be blank already.

Definition at line 82 of file OgreMeshSerializerImpl.cpp.

References Ogre::DataChunk::isEOF(), Ogre::M_MESH, mpMesh, Ogre::Serializer::readChunk(), Ogre::Serializer::readFileHeader(), and readMesh().

void Ogre::Serializer::readBools | ( | DataChunk & | chunk,
|  | bool * | pDest,
|  | size_t | count
| ) | `[protected, inherited]`

| Definition at line 196 of file OgreSerializer.cpp. References free, malloc, and Ogre::DataChunk::read(). Referenced by readEdgeList(), readMesh(), readMeshLodInfo(), readMeshLodUsageGenerated(), and readSubMesh().

void Ogre::MeshSerializerImpl::readBoundsInfo | ( | DataChunk & | chunk | ) | `[protected, virtual]`

| Definition at line 1132 of file OgreMeshSerializerImpl.cpp. References Ogre::Mesh::_setBoundingSphereRadius(), Ogre::Mesh::_setBounds(), mpMesh, Ogre::Serializer::readReals(), Ogre::Real, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. Referenced by readMesh().

unsigned short Ogre::Serializer::readChunk | ( | DataChunk & | chunk | ) | `[protected, virtual, inherited]`

Definition at line 187 of file OgreSerializer.cpp.

References Ogre::Serializer::mCurrentChunkLen, Ogre::Serializer::readLongs(), and Ogre::Serializer::readShorts().

Referenced by importMesh(), Ogre::SkeletonSerializer::importSkeleton(), Ogre::SkeletonSerializer::readAnimation(), Ogre::SkeletonSerializer::readAnimationTrack(), readEdgeList(), Ogre::MeshSerializerImpl_v1_2::readGeometry(), readGeometry(), readGeometryVertexBuffer(), readGeometryVertexDeclaration(), readMesh(), readMeshLodInfo(), readMeshLodUsageGenerated(), readMeshLodUsageManual(), readSubMesh(), and readSubMeshNameTable().

void Ogre::MeshSerializerImpl::readEdgeList | ( | DataChunk & | chunk | ) | `[protected, virtual]`

Definition at line 1512 of file OgreMeshSerializerImpl.cpp.

References Ogre::CHUNK_OVERHEAD_SIZE, Ogre::EdgeData::Edge::degenerate, Ogre::Mesh::MeshLodUsage::edgeData, Ogre::EdgeData::edgeGroups, Ogre::EdgeData::EdgeGroup::edges, Except, Ogre::Mesh::getLodLevel(), Ogre::Mesh::getSubMesh(), Ogre::EdgeData::Triangle::indexSet, Ogre::DataChunk::isEOF(), Ogre::M_EDGE_GROUP, Ogre::M_EDGE_LIST_LOD, Ogre::Mesh::mEdgeListsBuilt, mpMesh, Ogre::EdgeData::Triangle::normal, Ogre::Serializer::readBools(), Ogre::Serializer::readChunk(), Ogre::Serializer::readLongs(), Ogre::Serializer::readReals(), Ogre::Serializer::readShorts(), Ogre::Mesh::sharedVertexData, Ogre::EdgeData::Edge::sharedVertIndex, Ogre::EdgeData::Triangle::sharedVertIndex, Ogre::DataChunk::skip(), Ogre::EdgeData::triangles, Ogre::EdgeData::Edge::triIndex, Ogre::SubMesh::vertexData, Ogre::EdgeData::EdgeGroup::vertexData, Ogre::EdgeData::EdgeGroup::vertexSet, Ogre::EdgeData::Triangle::vertexSet, Ogre::EdgeData::Edge::vertIndex, Ogre::EdgeData::Triangle::vertIndex, and Ogre::Vector4::x.

Referenced by readMesh().

void Ogre::Serializer::readFileHeader | ( | DataChunk & | chunk | ) | `[protected, virtual, inherited]`

| Definition at line 160 of file OgreSerializer.cpp. References Except, Ogre::HEADER_CHUNK_ID, Ogre::Serializer::mVersion, Ogre::Serializer::readShorts(), Ogre::Serializer::readString(), and Ogre::String. Referenced by importMesh(), and Ogre::SkeletonSerializer::importSkeleton().

void Ogre::MeshSerializerImpl::readGeometry | ( | DataChunk & | chunk,
|  | VertexData * | dest
| ) | `[protected, virtual]`

Reimplemented in Ogre::MeshSerializerImpl_v1_2.

Definition at line 471 of file OgreMeshSerializerImpl.cpp.

References Ogre::CHUNK_OVERHEAD_SIZE, Ogre::DataChunk::isEOF(), Ogre::M_GEOMETRY_VERTEX_BUFFER, Ogre::M_GEOMETRY_VERTEX_DECLARATION, Ogre::Serializer::readChunk(), readGeometryVertexBuffer(), readGeometryVertexDeclaration(), Ogre::Serializer::readInts(), Ogre::DataChunk::skip(), Ogre::VertexData::vertexCount, and Ogre::VertexData::vertexStart.

Referenced by readMesh(), and readSubMesh().

void Ogre::MeshSerializerImpl::readGeometryVertexBuffer | ( | DataChunk & | chunk,
|  | VertexData * | dest
| ) | `[protected, virtual]`

Definition at line 562 of file OgreMeshSerializerImpl.cpp.

References Except, Ogre::VertexDeclaration::findElementsBySource(), flipFromLittleEndian(), Ogre::VertexDeclaration::getVertexSize(), Ogre::M_GEOMETRY_VERTEX_BUFFER_DATA, mpMesh, Ogre::Mesh::mVertexBufferShadowBuffer, Ogre::Mesh::mVertexBufferUsage, Ogre::DataChunk::read(), Ogre::Serializer::readChunk(), Ogre::Serializer::readShorts(), Ogre::VertexBufferBinding::setBinding(), Ogre::VertexData::vertexBufferBinding, Ogre::VertexData::vertexCount, and Ogre::VertexData::vertexDeclaration.

Referenced by readGeometry().

void Ogre::MeshSerializerImpl::readGeometryVertexDeclaration | ( | DataChunk & | chunk,
|  | VertexData * | dest
| ) | `[protected, virtual]`

| Definition at line 510 of file OgreMeshSerializerImpl.cpp. References Ogre::CHUNK_OVERHEAD_SIZE, Ogre::DataChunk::isEOF(), Ogre::M_GEOMETRY_VERTEX_ELEMENT, Ogre::Serializer::readChunk(), readGeometryVertexElement(), and Ogre::DataChunk::skip(). Referenced by readGeometry().

void Ogre::MeshSerializerImpl::readGeometryVertexElement | ( | DataChunk & | chunk,
|  | VertexData * | dest
| ) | `[protected, virtual]`

| Definition at line 540 of file OgreMeshSerializerImpl.cpp. References Ogre::VertexDeclaration::addElement(), Ogre::Serializer::readShorts(), Ogre::VertexData::vertexDeclaration, Ogre::VertexElementSemantic, and Ogre::VertexElementType. Referenced by readGeometryVertexDeclaration().

void Ogre::Serializer::readInts | ( | DataChunk & | chunk,
|  | unsigned int * | pDest,
|  | size_t | count
| ) | `[protected, inherited]`

| Definition at line 224 of file OgreSerializer.cpp. References Ogre::Serializer::flipFromLittleEndian(), and Ogre::DataChunk::read(). Referenced by Ogre::MeshSerializerImpl_v1_2::readGeometry(), readGeometry(), readMeshBoneAssignment(), readMeshLodUsageGenerated(), readSubMesh(), and readSubMeshBoneAssignment().

void Ogre::Serializer::readLongs | ( | DataChunk & | chunk,
|  | unsigned long * | pDest,
|  | size_t | count
| ) | `[protected, inherited]`

| Definition at line 230 of file OgreSerializer.cpp. References Ogre::Serializer::flipFromLittleEndian(), and Ogre::DataChunk::read(). Referenced by Ogre::Serializer::readChunk(), readEdgeList(), and Ogre::MeshSerializerImpl_v1_2::readGeometryColours().

void Ogre::MeshSerializerImpl::readMesh | ( | DataChunk & | chunk | ) | `[protected, virtual]`

Reimplemented in Ogre::MeshSerializerImpl_v1_2.

Definition at line 659 of file OgreMeshSerializerImpl.cpp.

References Ogre::CHUNK_OVERHEAD_SIZE, Ogre::DataChunk::isEOF(), Ogre::M_EDGE_LISTS, Ogre::M_GEOMETRY, Ogre::M_MESH_BONE_ASSIGNMENT, Ogre::M_MESH_BOUNDS, Ogre::M_MESH_LOD, Ogre::M_MESH_SKELETON_LINK, Ogre::M_SUBMESH, Ogre::M_SUBMESH_NAME_TABLE, Ogre::Mesh::mAutoBuildEdgeLists, Ogre::Serializer::mCurrentChunkLen, mIsSkeletallyAnimated, mpMesh, Ogre::Serializer::readBools(), readBoundsInfo(), Ogre::Serializer::readChunk(), readEdgeList(), readGeometry(), readMeshBoneAssignment(), readMeshLodInfo(), readSkeletonLink(), readSubMesh(), readSubMeshNameTable(), Ogre::Mesh::sharedVertexData, and Ogre::DataChunk::skip().

Referenced by importMesh().

void Ogre::MeshSerializerImpl::readMeshBoneAssignment | ( | DataChunk & | chunk | ) | `[protected, virtual]`

| Definition at line 908 of file OgreMeshSerializerImpl.cpp. References Ogre::Mesh::addBoneAssignment(), Ogre::VertexBoneAssignment_s::boneIndex, mpMesh, Ogre::Serializer::readInts(), Ogre::Serializer::readReals(), Ogre::Serializer::readShorts(), Ogre::VertexBoneAssignment_s::vertexIndex, and Ogre::VertexBoneAssignment_s::weight. Referenced by readMesh().

void Ogre::MeshSerializerImpl::readMeshLodInfo | ( | DataChunk & | chunk | ) | `[protected, virtual]`

Definition at line 1154 of file OgreMeshSerializerImpl.cpp.

References Ogre::Mesh::MeshLodUsage::edgeData, Except, Ogre::Mesh::MeshLodUsage::fromDepthSquared, Ogre::Resource::getName(), Ogre::Mesh::getNumSubMeshes(), Ogre::Mesh::getSubMesh(), Ogre::Mesh::isLodManual(), Ogre::M_MESH_LOD_USAGE, Ogre::Mesh::mIsLodManual, Ogre::SubMesh::mLodFaceList, Ogre::Mesh::mMeshLodUsageList, Ogre::Mesh::mNumLods, mpMesh, Ogre::Serializer::readBools(), Ogre::Serializer::readChunk(), readMeshLodUsageGenerated(), readMeshLodUsageManual(), Ogre::Serializer::readReals(), and Ogre::Serializer::readShorts().

Referenced by readMesh().

void Ogre::MeshSerializerImpl::readMeshLodUsageGenerated | ( | DataChunk & | chunk,
|  | unsigned short | lodNum,
|  | Mesh::MeshLodUsage & | usage
| ) | `[protected, virtual]`

Definition at line 1222 of file OgreMeshSerializerImpl.cpp.

References Except, Ogre::Resource::getName(), Ogre::Mesh::getNumSubMeshes(), Ogre::Mesh::getSubMesh(), Ogre::IndexData::indexBuffer, Ogre::IndexData::indexCount, Ogre::M_MESH_LOD_GENERATED, Ogre::Mesh::MeshLodUsage::manualMesh, Ogre::Mesh::MeshLodUsage::manualName, Ogre::Mesh::mIndexBufferShadowBuffer, Ogre::Mesh::mIndexBufferUsage, Ogre::SubMesh::mLodFaceList, mpMesh, Ogre::Serializer::readBools(), Ogre::Serializer::readChunk(), Ogre::Serializer::readInts(), and Ogre::Serializer::readShorts().

Referenced by readMeshLodInfo().

void Ogre::MeshSerializerImpl::readMeshLodUsageManual | ( | DataChunk & | chunk,
|  | unsigned short | lodNum,
|  | Mesh::MeshLodUsage & | usage
| ) | `[protected, virtual]`

| Definition at line 1205 of file OgreMeshSerializerImpl.cpp. References Except, Ogre::Resource::getName(), Ogre::M_MESH_LOD_MANUAL, Ogre::Mesh::MeshLodUsage::manualMesh, Ogre::Mesh::MeshLodUsage::manualName, mpMesh, Ogre::Serializer::readChunk(), and Ogre::Serializer::readString(). Referenced by readMeshLodInfo().

void Ogre::Serializer::readObject | ( | DataChunk & | chunk,
|  | Quaternion * | pDest
| ) | `[protected, inherited]`

| Definition at line 278 of file OgreSerializer.cpp. References Ogre::Serializer::readReals(), Ogre::Quaternion::w, Ogre::Quaternion::x, Ogre::Quaternion::y, and Ogre::Quaternion::z.

void Ogre::Serializer::readObject | ( | DataChunk & | chunk,
|  | Vector3 * | pDest
| ) | `[protected, inherited]`

| Definition at line 271 of file OgreSerializer.cpp. References Ogre::Serializer::readReals(), Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. Referenced by Ogre::SkeletonSerializer::readBone(), and Ogre::SkeletonSerializer::readKeyFrame().

void Ogre::Serializer::readReals | ( | DataChunk & | chunk,
|  | Real * | pDest,
|  | size_t | count
| ) | `[protected, inherited]`

Definition at line 212 of file OgreSerializer.cpp.

References Ogre::Serializer::flipFromLittleEndian(), Ogre::DataChunk::read(), and Ogre::Real.

Referenced by Ogre::SkeletonSerializer::readAnimation(), readBoundsInfo(), readEdgeList(), Ogre::MeshSerializerImpl_v1_2::readGeometryNormals(), Ogre::MeshSerializerImpl_v1_2::readGeometryPositions(), Ogre::MeshSerializerImpl_v1_1::readGeometryTexCoords(), Ogre::MeshSerializerImpl_v1_2::readGeometryTexCoords(), Ogre::SkeletonSerializer::readKeyFrame(), readMeshBoneAssignment(), readMeshLodInfo(), Ogre::Serializer::readObject(), and readSubMeshBoneAssignment().

void Ogre::Serializer::readShorts | ( | DataChunk & | chunk,
|  | unsigned short * | pDest,
|  | size_t | count
| ) | `[protected, inherited]`

Definition at line 218 of file OgreSerializer.cpp.

References Ogre::Serializer::flipFromLittleEndian(), and Ogre::DataChunk::read().

Referenced by Ogre::MeshSerializer::importMesh(), Ogre::SkeletonSerializer::readAnimationTrack(), Ogre::SkeletonSerializer::readBone(), Ogre::SkeletonSerializer::readBoneParent(), Ogre::Serializer::readChunk(), readEdgeList(), Ogre::Serializer::readFileHeader(), Ogre::MeshSerializerImpl_v1_1::readGeometryTexCoords(), Ogre::MeshSerializerImpl_v1_2::readGeometryTexCoords(), readGeometryVertexBuffer(), readGeometryVertexElement(), readMeshBoneAssignment(), readMeshLodInfo(), readMeshLodUsageGenerated(), readSubMesh(), readSubMeshBoneAssignment(), readSubMeshNameTable(), and readSubMeshOperation().

void Ogre::MeshSerializerImpl::readSkeletonLink | ( | DataChunk & | chunk | ) | `[protected, virtual]`

| Definition at line 863 of file OgreMeshSerializerImpl.cpp. References mpMesh, Ogre::Serializer::readString(), Ogre::Mesh::setSkeletonName(), and Ogre::String. Referenced by readMesh().

String Ogre::Serializer::readString | ( | DataChunk & | chunk,
|  | size_t | numChars
| ) | `[protected, inherited]`

| Definition at line 236 of file OgreSerializer.cpp. References Ogre::DataChunk::read(), and Ogre::String.

String Ogre::Serializer::readString | ( | DataChunk & | chunk | ) | `[protected, inherited]`

| Definition at line 245 of file OgreSerializer.cpp. References Ogre::DataChunk::readUpTo(), and Ogre::String. Referenced by Ogre::MeshSerializer::importMesh(), Ogre::SkeletonSerializer::readAnimation(), Ogre::SkeletonSerializer::readBone(), Ogre::Serializer::readFileHeader(), readMeshLodUsageManual(), readSkeletonLink(), readSubMesh(), and readSubMeshNameTable().

void Ogre::MeshSerializerImpl::readSubMesh | ( | DataChunk & | chunk | ) | `[protected, virtual]`

Definition at line 746 of file OgreMeshSerializerImpl.cpp.

References Ogre::CHUNK_OVERHEAD_SIZE, Ogre::Mesh::createSubMesh(), Except, Ogre::IndexData::indexBuffer, Ogre::IndexData::indexCount, Ogre::SubMesh::indexData, Ogre::IndexData::indexStart, Ogre::DataChunk::isEOF(), Ogre::M_GEOMETRY, Ogre::M_SUBMESH_BONE_ASSIGNMENT, Ogre::M_SUBMESH_OPERATION, Ogre::Mesh::mIndexBufferShadowBuffer, Ogre::Mesh::mIndexBufferUsage, mpMesh, Ogre::Serializer::readBools(), Ogre::Serializer::readChunk(), readGeometry(), Ogre::Serializer::readInts(), Ogre::Serializer::readShorts(), Ogre::Serializer::readString(), readSubMeshBoneAssignment(), readSubMeshOperation(), Ogre::SubMesh::setMaterialName(), Ogre::DataChunk::skip(), Ogre::String, Ogre::SubMesh::useSharedVertices, and Ogre::SubMesh::vertexData.

Referenced by readMesh().

void Ogre::MeshSerializerImpl::readSubMeshBoneAssignment | ( | DataChunk & | chunk,
|  | SubMesh * | sub
| ) | `[protected, virtual]`

| Definition at line 923 of file OgreMeshSerializerImpl.cpp. References Ogre::SubMesh::addBoneAssignment(), Ogre::VertexBoneAssignment_s::boneIndex, Ogre::Serializer::readInts(), Ogre::Serializer::readReals(), Ogre::Serializer::readShorts(), Ogre::VertexBoneAssignment_s::vertexIndex, and Ogre::VertexBoneAssignment_s::weight. Referenced by readSubMesh().

void Ogre::MeshSerializerImpl::readSubMeshNameTable | ( | DataChunk & | chunk | ) | `[protected, virtual]`

| Definition at line 608 of file OgreMeshSerializerImpl.cpp. References Ogre::CHUNK_OVERHEAD_SIZE, Ogre::DataChunk::isEOF(), Ogre::M_SUBMESH_NAME_TABLE_ELEMENT, mpMesh, Ogre::Mesh::nameSubMesh(), Ogre::Serializer::readChunk(), Ogre::Serializer::readShorts(), Ogre::Serializer::readString(), and Ogre::DataChunk::skip(). Referenced by readMesh().

void Ogre::MeshSerializerImpl::readSubMeshOperation | ( | DataChunk & | chunk,
|  | SubMesh * | sub
| ) | `[protected, virtual]`

| Definition at line 847 of file OgreMeshSerializerImpl.cpp. References Ogre::SubMesh::operationType, and Ogre::Serializer::readShorts(). Referenced by readSubMesh().

void Ogre::MeshSerializerImpl::readTextureLayer | ( | DataChunk & | chunk,
|  | Material * | pMat
| ) | `[protected, virtual]`

| Definition at line 869 of file OgreMeshSerializerImpl.cpp.

void Ogre::Serializer::writeBools | ( | const bool * | pLong,
|  | size_t | count
| ) | `[protected, inherited]`

| Definition at line 127 of file OgreSerializer.cpp. References free, malloc, and Ogre::Serializer::writeData(). Referenced by writeEdgeList(), writeLodSummary(), writeLodUsageGenerated(), writeMesh(), and writeSubMesh().

void Ogre::MeshSerializerImpl::writeBoundsInfo | ( | const Mesh * | pMesh | ) | `[protected, virtual]`

| Definition at line 1109 of file OgreMeshSerializerImpl.cpp. References Ogre::CHUNK_OVERHEAD_SIZE, Ogre::AxisAlignedBox::getMaximum(), Ogre::AxisAlignedBox::getMinimum(), Ogre::M_MESH_BOUNDS, Ogre::Mesh::mAABB, Ogre::Mesh::mBoundRadius, Ogre::Serializer::writeChunkHeader(), Ogre::Serializer::writeReals(), Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. Referenced by writeMesh().

void Ogre::Serializer::writeChunkHeader | ( | unsigned short | id,
|  | unsigned long | size
| ) | `[protected, virtual, inherited]`

Definition at line 61 of file OgreSerializer.cpp.

References Ogre::Serializer::writeLongs(), and Ogre::Serializer::writeShorts().

Referenced by Ogre::SkeletonSerializer::writeAnimation(), Ogre::SkeletonSerializer::writeAnimationTrack(), Ogre::SkeletonSerializer::writeBone(), Ogre::SkeletonSerializer::writeBoneParent(), writeBoundsInfo(), writeEdgeList(), writeGeometry(), Ogre::SkeletonSerializer::writeKeyFrame(), writeLodSummary(), writeLodUsageGenerated(), writeLodUsageManual(), writeMesh(), writeMeshBoneAssignment(), writeSkeletonLink(), writeSubMesh(), writeSubMeshBoneAssignment(), writeSubMeshNameTable(), and writeSubMeshOperation().

void Ogre::Serializer::writeData | ( | const void * | buf,
|  | size_t | size,
|  | size_t | count
| ) | `[protected, inherited]`

| Definition at line 148 of file OgreSerializer.cpp. References Ogre::Serializer::mpfFile. Referenced by Ogre::Serializer::writeBools(), writeGeometry(), Ogre::Serializer::writeInts(), Ogre::Serializer::writeLongs(), Ogre::Serializer::writeReals(), and Ogre::Serializer::writeShorts().

void Ogre::MeshSerializerImpl::writeEdgeList | ( | const Mesh * | pMesh | ) | `[protected, virtual]`

Definition at line 1420 of file OgreMeshSerializerImpl.cpp.

References calcEdgeGroupSize(), calcEdgeListLodSize(), calcEdgeListSize(), Ogre::EdgeData::Edge::degenerate, Ogre::EdgeData::edgeGroups, Ogre::EdgeData::EdgeGroup::edges, Ogre::Mesh::getEdgeList(), Ogre::Mesh::getNumLodLevels(), Ogre::EdgeData::Triangle::indexSet, Ogre::Mesh::isLodManual(), Ogre::M_EDGE_GROUP, Ogre::M_EDGE_LIST_LOD, Ogre::M_EDGE_LISTS, Ogre::EdgeData::Triangle::normal, Ogre::EdgeData::Edge::sharedVertIndex, Ogre::EdgeData::Triangle::sharedVertIndex, Ogre::EdgeData::triangles, Ogre::EdgeData::Edge::triIndex, Ogre::ushort, Ogre::EdgeData::EdgeGroup::vertexSet, Ogre::EdgeData::Triangle::vertexSet, Ogre::EdgeData::Edge::vertIndex, Ogre::EdgeData::Triangle::vertIndex, Ogre::Serializer::writeBools(), Ogre::Serializer::writeChunkHeader(), Ogre::Serializer::writeLongs(), Ogre::Serializer::writeReals(), Ogre::Serializer::writeShorts(), and Ogre::Vector4::x.

Referenced by writeMesh().

void Ogre::Serializer::writeFileHeader | ( | void |  | ) | `[protected, virtual, inherited]`

| Definition at line 51 of file OgreSerializer.cpp. References Ogre::HEADER_CHUNK_ID, Ogre::Serializer::mVersion, Ogre::Serializer::writeShorts(), and Ogre::Serializer::writeString(). Referenced by exportMesh(), and Ogre::SkeletonSerializer::exportSkeleton().

void Ogre::MeshSerializerImpl::writeGeometry | ( | const VertexData * | pGeom | ) | `[protected, virtual]`

Definition at line 270 of file OgreMeshSerializerImpl.cpp.

References Ogre::CHUNK_OVERHEAD_SIZE, Ogre::VertexDeclaration::findElementsBySource(), flipToLittleEndian(), Ogre::VertexBufferBinding::getBindings(), Ogre::VertexDeclaration::getElements(), Ogre::VertexElement::getIndex(), Ogre::VertexElement::getOffset(), Ogre::VertexElement::getSemantic(), Ogre::VertexElement::getSource(), Ogre::VertexElement::getType(), Ogre::M_GEOMETRY, Ogre::M_GEOMETRY_VERTEX_BUFFER, Ogre::M_GEOMETRY_VERTEX_BUFFER_DATA, Ogre::M_GEOMETRY_VERTEX_DECLARATION, Ogre::M_GEOMETRY_VERTEX_ELEMENT, Ogre::VertexData::vertexBufferBinding, Ogre::VertexData::vertexCount, Ogre::VertexData::vertexDeclaration, Ogre::Serializer::writeChunkHeader(), Ogre::Serializer::writeData(), Ogre::Serializer::writeInts(), and Ogre::Serializer::writeShorts().

Referenced by writeMesh(), and writeSubMesh().

void Ogre::Serializer::writeInts | ( | const unsigned int * | pInt,
|  | size_t | count
| ) | `[protected, inherited]`

| Definition at line 97 of file OgreSerializer.cpp. References Ogre::Serializer::flipToLittleEndian(), free, malloc, and Ogre::Serializer::writeData(). Referenced by writeGeometry(), writeLodUsageGenerated(), writeMeshBoneAssignment(), writeSubMesh(), and writeSubMeshBoneAssignment().

void Ogre::MeshSerializerImpl::writeLodInfo | ( | const Mesh * | pMesh | ) | `[protected, virtual]`

| Definition at line 954 of file OgreMeshSerializerImpl.cpp. References Ogre::Mesh::getLodLevel(), Ogre::Mesh::getNumLodLevels(), Ogre::Mesh::isLodManual(), writeLodSummary(), writeLodUsageGenerated(), and writeLodUsageManual(). Referenced by writeMesh().

void Ogre::MeshSerializerImpl::writeLodSummary | ( | unsigned short | numLevels,
|  | bool | manual
| ) | `[protected, virtual]`

| Definition at line 978 of file OgreMeshSerializerImpl.cpp. References Ogre::CHUNK_OVERHEAD_SIZE, Ogre::M_MESH_LOD, Ogre::Serializer::writeBools(), Ogre::Serializer::writeChunkHeader(), and Ogre::Serializer::writeShorts(). Referenced by writeLodInfo().

void Ogre::MeshSerializerImpl::writeLodUsageGenerated | ( | const Mesh * | pMesh,
|  | const Mesh::MeshLodUsage & | usage,
|  | unsigned short | lodNum
| ) | `[protected, virtual]`

Definition at line 1020 of file OgreMeshSerializerImpl.cpp.

References Ogre::CHUNK_OVERHEAD_SIZE, Ogre::Mesh::MeshLodUsage::fromDepthSquared, Ogre::Mesh::getNumSubMeshes(), Ogre::Mesh::getSubMesh(), Ogre::IndexData::indexBuffer, Ogre::IndexData::indexCount, Ogre::M_MESH_LOD_GENERATED, Ogre::M_MESH_LOD_USAGE, Ogre::SubMesh::mLodFaceList, Ogre::Serializer::writeBools(), Ogre::Serializer::writeChunkHeader(), Ogre::Serializer::writeInts(), Ogre::Serializer::writeReals(), and Ogre::Serializer::writeShorts().

Referenced by writeLodInfo().

void Ogre::MeshSerializerImpl::writeLodUsageManual | ( | const Mesh::MeshLodUsage & | usage | ) | `[protected, virtual]`

| Definition at line 997 of file OgreMeshSerializerImpl.cpp. References Ogre::CHUNK_OVERHEAD_SIZE, Ogre::Mesh::MeshLodUsage::fromDepthSquared, Ogre::M_MESH_LOD_MANUAL, Ogre::M_MESH_LOD_USAGE, Ogre::Mesh::MeshLodUsage::manualName, Ogre::Serializer::writeChunkHeader(), Ogre::Serializer::writeReals(), and Ogre::Serializer::writeString(). Referenced by writeLodInfo().

void Ogre::Serializer::writeLongs | ( | const unsigned long * | pLong,
|  | size_t | count
| ) | `[protected, inherited]`

| Definition at line 112 of file OgreSerializer.cpp. References Ogre::Serializer::flipToLittleEndian(), free, malloc, and Ogre::Serializer::writeData(). Referenced by Ogre::Serializer::writeChunkHeader(), and writeEdgeList().

void Ogre::MeshSerializerImpl::writeMesh | ( | const Mesh * | pMesh | ) | `[protected, virtual]`

Definition at line 103 of file OgreMeshSerializerImpl.cpp.

References calcMeshSize(), Ogre::Mesh::getNumLodLevels(), Ogre::Mesh::getNumSubMeshes(), Ogre::Mesh::getSkeletonName(), Ogre::Mesh::getSubMesh(), Ogre::Mesh::hasSkeleton(), Ogre::Mesh::isEdgeListBuilt(), Ogre::M_MESH, Ogre::Mesh::mBoneAssignments, Ogre::Mesh::sharedVertexData, Ogre::Serializer::writeBools(), writeBoundsInfo(), Ogre::Serializer::writeChunkHeader(), writeEdgeList(), writeGeometry(), writeLodInfo(), writeMeshBoneAssignment(), writeSkeletonLink(), writeSubMesh(), and writeSubMeshNameTable().

Referenced by exportMesh().

void Ogre::MeshSerializerImpl::writeMeshBoneAssignment | ( | const VertexBoneAssignment * | assign | ) | `[protected, virtual]`

Definition at line 884 of file OgreMeshSerializerImpl.cpp.

References Ogre::VertexBoneAssignment_s::boneIndex, calcBoneAssignmentSize(), Ogre::M_MESH_BONE_ASSIGNMENT, Ogre::VertexBoneAssignment_s::vertexIndex, Ogre::VertexBoneAssignment_s::weight, Ogre::Serializer::writeChunkHeader(), Ogre::Serializer::writeInts(), Ogre::Serializer::writeReals(), and Ogre::Serializer::writeShorts().

Referenced by writeMesh().

void Ogre::Serializer::writeObject | ( | const Quaternion & | q | ) | `[protected, inherited]`

| Definition at line 263 of file OgreSerializer.cpp. References Ogre::Quaternion::w, Ogre::Serializer::writeReals(), Ogre::Quaternion::x, Ogre::Quaternion::y, and Ogre::Quaternion::z.

void Ogre::Serializer::writeObject | ( | const Vector3 & | vec | ) | `[protected, inherited]`

| Definition at line 255 of file OgreSerializer.cpp. References Ogre::Serializer::writeReals(), Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. Referenced by Ogre::SkeletonSerializer::writeBone(), and Ogre::SkeletonSerializer::writeKeyFrame().

void Ogre::Serializer::writeReals | ( | const Real * | pReal,
|  | size_t | count
| ) | `[protected, inherited]`

Definition at line 67 of file OgreSerializer.cpp.

References Ogre::Serializer::flipToLittleEndian(), free, malloc, Ogre::Real, and Ogre::Serializer::writeData().

Referenced by Ogre::SkeletonSerializer::writeAnimation(), writeBoundsInfo(), writeEdgeList(), Ogre::SkeletonSerializer::writeKeyFrame(), writeLodUsageGenerated(), writeLodUsageManual(), writeMeshBoneAssignment(), Ogre::Serializer::writeObject(), and writeSubMeshBoneAssignment().

void Ogre::Serializer::writeShorts | ( | const unsigned short * | pShort,
|  | size_t | count
| ) | `[protected, inherited]`

Definition at line 82 of file OgreSerializer.cpp.

References Ogre::Serializer::flipToLittleEndian(), free, malloc, and Ogre::Serializer::writeData().

Referenced by Ogre::SkeletonSerializer::writeAnimationTrack(), Ogre::SkeletonSerializer::writeBone(), Ogre::SkeletonSerializer::writeBoneParent(), Ogre::Serializer::writeChunkHeader(), writeEdgeList(), Ogre::Serializer::writeFileHeader(), writeGeometry(), writeLodSummary(), writeLodUsageGenerated(), writeMeshBoneAssignment(), writeSubMesh(), writeSubMeshBoneAssignment(), writeSubMeshNameTable(), and writeSubMeshOperation().

void Ogre::MeshSerializerImpl::writeSkeletonLink | ( | const String & | skelName | ) | `[protected, virtual]`

| Definition at line 855 of file OgreMeshSerializerImpl.cpp. References calcSkeletonLinkSize(), Ogre::M_MESH_SKELETON_LINK, Ogre::String, Ogre::Serializer::writeChunkHeader(), and Ogre::Serializer::writeString(). Referenced by writeMesh().

void Ogre::Serializer::writeString | ( | const String & | string | ) | `[protected, inherited]`

| Definition at line 153 of file OgreSerializer.cpp. References Ogre::Serializer::mpfFile, and Ogre::String. Referenced by Ogre::SkeletonSerializer::writeAnimation(), Ogre::SkeletonSerializer::writeBone(), Ogre::Serializer::writeFileHeader(), writeLodUsageManual(), writeSkeletonLink(), writeSubMesh(), and writeSubMeshNameTable().

void Ogre::MeshSerializerImpl::writeSubMesh | ( | const SubMesh * | s | ) | `[protected, virtual]`

Definition at line 200 of file OgreMeshSerializerImpl.cpp.

References calcSubMeshSize(), Ogre::SubMesh::getMaterialName(), Ogre::IndexData::indexBuffer, Ogre::IndexData::indexCount, Ogre::SubMesh::indexData, Ogre::M_SUBMESH, Ogre::SubMesh::mBoneAssignments, Ogre::SubMesh::useSharedVertices, Ogre::SubMesh::vertexData, Ogre::Serializer::writeBools(), Ogre::Serializer::writeChunkHeader(), writeGeometry(), Ogre::Serializer::writeInts(), Ogre::Serializer::writeShorts(), Ogre::Serializer::writeString(), writeSubMeshBoneAssignment(), and writeSubMeshOperation().

Referenced by writeMesh().

void Ogre::MeshSerializerImpl::writeSubMeshBoneAssignment | ( | const VertexBoneAssignment * | assign | ) | `[protected, virtual]`

Definition at line 896 of file OgreMeshSerializerImpl.cpp.

References Ogre::VertexBoneAssignment_s::boneIndex, calcBoneAssignmentSize(), Ogre::M_SUBMESH_BONE_ASSIGNMENT, Ogre::VertexBoneAssignment_s::vertexIndex, Ogre::VertexBoneAssignment_s::weight, Ogre::Serializer::writeChunkHeader(), Ogre::Serializer::writeInts(), Ogre::Serializer::writeReals(), and Ogre::Serializer::writeShorts().

Referenced by writeSubMesh().

void Ogre::MeshSerializerImpl::writeSubMeshNameTable | ( | const Mesh * | pMesh | ) | `[protected, virtual]`

| Definition at line 177 of file OgreMeshSerializerImpl.cpp. References calcSubMeshNameTableSize(), Ogre::CHUNK_OVERHEAD_SIZE, Ogre::M_SUBMESH_NAME_TABLE, Ogre::M_SUBMESH_NAME_TABLE_ELEMENT, Ogre::Mesh::mSubMeshNameMap, Ogre::Serializer::writeChunkHeader(), Ogre::Serializer::writeShorts(), and Ogre::Serializer::writeString(). Referenced by writeMesh().

void Ogre::MeshSerializerImpl::writeSubMeshOperation | ( | const SubMesh * | s | ) | `[protected, virtual]`

| Definition at line 260 of file OgreMeshSerializerImpl.cpp. References calcSubMeshOperationSize(), Ogre::M_SUBMESH_OPERATION, Ogre::SubMesh::operationType, Ogre::Serializer::writeChunkHeader(), and Ogre::Serializer::writeShorts(). Referenced by writeSubMesh().

## Member Data Documentation

unsigned long Ogre::Serializer::mCurrentChunkLen`[protected, inherited]`

| Definition at line 48 of file OgreSerializer.h. Referenced by Ogre::Serializer::readChunk(), Ogre::SkeletonSerializer::readKeyFrame(), and readMesh().

bool Ogre::MeshSerializerImpl::mIsSkeletallyAnimated`[protected]`

| Definition at line 74 of file OgreMeshSerializerImpl.h. Referenced by readMesh().

MaterialMap Ogre::MeshSerializerImpl::mMaterialList`[protected]`

| Definition at line 72 of file OgreMeshSerializerImpl.h.

FILE* Ogre::Serializer::mpfFile`[protected, inherited]`

| Definition at line 49 of file OgreSerializer.h. Referenced by exportMesh(), Ogre::SkeletonSerializer::exportSkeleton(), Ogre::Serializer::writeData(), and Ogre::Serializer::writeString().

Mesh* Ogre::MeshSerializerImpl::mpMesh`[protected]`

Definition at line 73 of file OgreMeshSerializerImpl.h.

Referenced by importMesh(), MeshSerializerImpl(), readBoundsInfo(), readEdgeList(), Ogre::MeshSerializerImpl_v1_2::readGeometryColours(), Ogre::MeshSerializerImpl_v1_2::readGeometryNormals(), Ogre::MeshSerializerImpl_v1_2::readGeometryPositions(), Ogre::MeshSerializerImpl_v1_1::readGeometryTexCoords(), Ogre::MeshSerializerImpl_v1_2::readGeometryTexCoords(), readGeometryVertexBuffer(), Ogre::MeshSerializerImpl_v1_2::readMesh(), readMesh(), readMeshBoneAssignment(), readMeshLodInfo(), readMeshLodUsageGenerated(), readMeshLodUsageManual(), readSkeletonLink(), readSubMesh(), and readSubMeshNameTable().

String Ogre::Serializer::mVersion`[protected, inherited]`

| Definition at line 50 of file OgreSerializer.h. Referenced by MeshSerializerImpl(), Ogre::MeshSerializerImpl_v1_1::MeshSerializerImpl_v1_1(), Ogre::MeshSerializerImpl_v1_2::MeshSerializerImpl_v1_2(), Ogre::Serializer::readFileHeader(), Ogre::Serializer::Serializer(), Ogre::SkeletonSerializer::SkeletonSerializer(), and Ogre::Serializer::writeFileHeader().

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

- OgreMeshSerializerImpl.h
- OgreMeshSerializerImpl.cpp

Copyright © 2002-2003 by The OGRE Team
Last modified Sun Nov 28 19:51:14 2004