#include <OgreMeshSerializerImpl.h>
Inheritance diagram for Ogre::MeshSerializerImpl_v1:
Public Methods | |
MeshSerializerImpl_v1 () | |
void | readMaterial (DataChunk &chunk) |
void | readTextureLayer (DataChunk &chunk, Material *pMat) |
void | readMesh (DataChunk &chunk) |
void | readSubMesh (DataChunk &chunk) |
void | readGeometry (DataChunk &chunk, VertexData *dest) |
void | readMeshBoneAssignment (DataChunk &chunk) |
void | readSubMeshBoneAssignment (DataChunk &chunk, SubMesh *sub) |
void | readMeshLodUsageGenerated (DataChunk &chunk, unsigned short lodNum, Mesh::MeshLodUsage &usage) |
void | readGeometryTexCoords (unsigned short bindIdx, DataChunk &chunk, VertexData *dest, unsigned short set) |
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 | writeCondensedVertexBuffer (HardwareVertexBufferSharedPtr vbuf, const VertexElement *elem, size_t vertexCount) |
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 void | readSubMeshNameTable (DataChunk &chunk) |
virtual void | readSubMeshOperation (DataChunk &chunk, SubMesh *sub) |
virtual void | readGeometryPositions (unsigned short bindIdx, DataChunk &chunk, VertexData *dest) |
virtual void | readGeometryNormals (unsigned short bindIdx, DataChunk &chunk, VertexData *dest) |
virtual void | readGeometryColours (unsigned short bindIdx, DataChunk &chunk, VertexData *dest) |
virtual void | readSkeletonLink (DataChunk &chunk) |
virtual void | readMeshLodInfo (DataChunk &chunk) |
virtual void | readMeshLodUsageManual (DataChunk &chunk, unsigned short lodNum, Mesh::MeshLodUsage &usage) |
virtual void | readBoundsInfo (DataChunk &chunk) |
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) |
void | flipToLittleEndian (void *pData, size_t size, size_t count=1) |
void | flipFromLittleEndian (void *pData, size_t size, size_t count=1) |
void | flipEndian (void *pData, size_t size, size_t count) |
void | flipEndian (void *pData, size_t size) |
Protected Attributes | |
bool | mFirstGeometry |
MaterialMap | mMaterialList |
Mesh * | mpMesh |
bool | mIsSkeletallyAnimated |
unsigned long | mCurrentChunkLen |
FILE * | mpfFile |
String | mVersion |
Definition at line 133 of file OgreMeshSerializerImpl.h.
|
Definition at line 70 of file OgreMeshSerializerImpl.h. |
|
Definition at line 1329 of file OgreMeshSerializerImpl.cpp. References Ogre::Serializer::mVersion. |
|
Definition at line 927 of file OgreMeshSerializerImpl.cpp. References Ogre::CHUNK_OVERHEAD_SIZE. Referenced by Ogre::MeshSerializerImpl::writeMeshBoneAssignment(), and Ogre::MeshSerializerImpl::writeSubMeshBoneAssignment(). |
|
Definition at line 445 of file OgreMeshSerializerImpl.cpp. References Ogre::CHUNK_OVERHEAD_SIZE, Ogre::VertexDeclaration::getElements(), Ogre::VertexElement::getType(), Ogre::VertexData::vertexCount, and Ogre::VertexData::vertexDeclaration. Referenced by Ogre::MeshSerializerImpl::calcMeshSize(), Ogre::MeshSerializerImpl::calcSubMeshSize(), and Ogre::MeshSerializerImpl::writeGeometry(). |
|
Definition at line 386 of file OgreMeshSerializerImpl.cpp. References Ogre::MeshSerializerImpl::calcGeometrySize(), Ogre::MeshSerializerImpl::calcSkeletonLinkSize(), Ogre::MeshSerializerImpl::calcSubMeshSize(), Ogre::CHUNK_OVERHEAD_SIZE, Ogre::Mesh::getNumSubMeshes(), Ogre::Mesh::getSkeletonName(), Ogre::Mesh::getSubMesh(), Ogre::Mesh::hasSkeleton(), Ogre::Mesh::sharedVertexData, and Ogre::VertexData::vertexCount. Referenced by Ogre::MeshSerializerImpl::writeMesh(). |
|
Definition at line 863 of file OgreMeshSerializerImpl.cpp. References Ogre::CHUNK_OVERHEAD_SIZE. Referenced by Ogre::MeshSerializerImpl::calcMeshSize(), and Ogre::MeshSerializerImpl::writeSkeletonLink(). |
|
Definition at line 366 of file OgreMeshSerializerImpl.cpp. References Ogre::CHUNK_OVERHEAD_SIZE, and Ogre::Mesh::mSubMeshNameMap. Referenced by Ogre::MeshSerializerImpl::writeSubMeshNameTable(). |
|
Definition at line 440 of file OgreMeshSerializerImpl.cpp. References Ogre::CHUNK_OVERHEAD_SIZE. Referenced by Ogre::MeshSerializerImpl::writeSubMeshOperation(). |
|
Definition at line 415 of file OgreMeshSerializerImpl.cpp. References Ogre::MeshSerializerImpl::calcGeometrySize(), Ogre::CHUNK_OVERHEAD_SIZE, Ogre::SubMesh::getMaterialName(), Ogre::IndexData::indexCount, Ogre::SubMesh::indexData, Ogre::SubMesh::useSharedVertices, and Ogre::SubMesh::vertexData. Referenced by Ogre::MeshSerializerImpl::calcMeshSize(), and Ogre::MeshSerializerImpl::writeSubMesh(). |
|
Exports a mesh to the file specified.
Definition at line 58 of file OgreMeshSerializerImpl.cpp. References Except, Ogre::Mesh::getBoundingSphereRadius(), Ogre::Mesh::getBounds(), Ogre::AxisAlignedBox::isNull(), Ogre::Serializer::mpfFile, Ogre::Serializer::writeFileHeader(), Ogre::MeshSerializerImpl::writeMesh(), and Ogre::MeshSerializerImpl::writeSubMeshNameTable(). |
|
Definition at line 301 of file OgreSerializer.cpp. |
|
Definition at line 293 of file OgreSerializer.cpp. Referenced by Ogre::Serializer::flipFromLittleEndian(), and Ogre::Serializer::flipToLittleEndian(). |
|
Definition at line 286 of file OgreSerializer.cpp. References Ogre::Serializer::flipEndian(). Referenced by Ogre::Serializer::readInts(), Ogre::Serializer::readLongs(), Ogre::Serializer::readReals(), and Ogre::Serializer::readShorts(). |
|
Definition at line 279 of file OgreSerializer.cpp. References Ogre::Serializer::flipEndian(). Referenced by Ogre::Serializer::writeInts(), Ogre::Serializer::writeLongs(), Ogre::Serializer::writeReals(), and Ogre::Serializer::writeShorts(). |
|
Imports Mesh and (optionally) Material data from a .mesh file DataChunk.
Definition at line 90 of file OgreMeshSerializerImpl.cpp. References Ogre::DataChunk::isEOF(), Ogre::M_MATERIAL, Ogre::M_MESH, Ogre::M_SUBMESH_NAME_TABLE, Ogre::MeshSerializerImpl::mpMesh, Ogre::Serializer::readChunk(), Ogre::Serializer::readFileHeader(), Ogre::MeshSerializerImpl::readMaterial(), Ogre::MeshSerializerImpl::readMesh(), and Ogre::MeshSerializerImpl::readSubMeshNameTable(). |
|
Definition at line 196 of file OgreSerializer.cpp. References free, malloc, and Ogre::DataChunk::read(). Referenced by Ogre::MeshSerializerImpl::readMesh(), Ogre::MeshSerializerImpl::readMeshLodInfo(), Ogre::MeshSerializerImpl::readMeshLodUsageGenerated(), readSubMesh(), and Ogre::MeshSerializerImpl::readSubMesh(). |
|
Definition at line 1121 of file OgreMeshSerializerImpl.cpp. References Ogre::Mesh::_setBoundingSphereRadius(), Ogre::Mesh::_setBounds(), Ogre::MeshSerializerImpl::mpMesh, Ogre::Serializer::readReals(), Ogre::Real, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. Referenced by Ogre::MeshSerializerImpl::readMesh(). |
|
|
Definition at line 160 of file OgreSerializer.cpp. References Except, Ogre::HEADER_CHUNK_ID, Ogre::Serializer::mVersion, Ogre::Serializer::readShorts(), and Ogre::Serializer::readString(). Referenced by Ogre::MeshSerializerImpl::importMesh(), and Ogre::SkeletonSerializer::importSkeleton(). |
|
|
|
|
|
|
Definition at line 224 of file OgreSerializer.cpp. References Ogre::Serializer::flipFromLittleEndian(), and Ogre::DataChunk::read(). Referenced by Ogre::MeshSerializerImpl::readGeometry(), Ogre::MeshSerializerImpl::readMeshBoneAssignment(), Ogre::MeshSerializerImpl::readMeshLodUsageGenerated(), Ogre::MeshSerializerImpl::readSubMesh(), and Ogre::MeshSerializerImpl::readSubMeshBoneAssignment(). |
|
Definition at line 230 of file OgreSerializer.cpp. References Ogre::Serializer::flipFromLittleEndian(), and Ogre::DataChunk::read(). Referenced by Ogre::Serializer::readChunk(), readGeometry(), and Ogre::MeshSerializerImpl::readGeometryColours(). |
|
|
|
Reimplemented from Ogre::MeshSerializerImpl. Definition at line 1665 of file OgreMeshSerializerImpl.cpp. References Ogre::Mesh::addBoneAssignment(), Ogre::VertexBoneAssignment_s::boneIndex, Ogre::MeshSerializerImpl::mpMesh, Ogre::Serializer::readReals(), Ogre::Serializer::readShorts(), Ogre::VertexBoneAssignment_s::vertexIndex, and Ogre::VertexBoneAssignment_s::weight. Referenced by readMesh(). |
|
|
|
Definition at line 1194 of file OgreMeshSerializerImpl.cpp. References Except, Ogre::Resource::getName(), Ogre::M_MESH_LOD_MANUAL, Ogre::Mesh::MeshLodUsage::manualMesh, Ogre::Mesh::MeshLodUsage::manualName, Ogre::MeshSerializerImpl::mpMesh, Ogre::Serializer::readChunk(), and Ogre::Serializer::readString(). Referenced by Ogre::MeshSerializerImpl::readMeshLodInfo(). |
|
Definition at line 269 of file OgreSerializer.cpp. References Ogre::Serializer::readReals(), Ogre::Quaternion::w, Ogre::Quaternion::x, Ogre::Quaternion::y, and Ogre::Quaternion::z. |
|
Definition at line 262 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(). |
|
|
|
Definition at line 845 of file OgreMeshSerializerImpl.cpp. References Ogre::MeshSerializerImpl::mpMesh, Ogre::Serializer::readString(), and Ogre::Mesh::setSkeletonName(). Referenced by readMesh(), and Ogre::MeshSerializerImpl::readMesh(). |
|
Definition at line 236 of file OgreSerializer.cpp. References Ogre::DataChunk::readUpTo(). Referenced by Ogre::MeshSerializer::importMesh(), Ogre::SkeletonSerializer::readAnimation(), Ogre::SkeletonSerializer::readBone(), Ogre::Serializer::readFileHeader(), readMaterial(), Ogre::MeshSerializerImpl::readMeshLodUsageManual(), Ogre::MeshSerializerImpl::readSkeletonLink(), readSubMesh(), Ogre::MeshSerializerImpl::readSubMesh(), Ogre::MeshSerializerImpl::readSubMeshNameTable(), and readTextureLayer(). |
|
|
Reimplemented from Ogre::MeshSerializerImpl. Definition at line 1682 of file OgreMeshSerializerImpl.cpp. References Ogre::SubMesh::addBoneAssignment(), Ogre::VertexBoneAssignment_s::boneIndex, Ogre::Serializer::readReals(), Ogre::Serializer::readShorts(), Ogre::VertexBoneAssignment_s::vertexIndex, and Ogre::VertexBoneAssignment_s::weight. Referenced by readSubMesh(). |
|
Definition at line 467 of file OgreMeshSerializerImpl.cpp. References Ogre::CHUNK_OVERHEAD_SIZE, Ogre::DataChunk::isEOF(), Ogre::M_SUBMESH_NAME_TABLE_ELEMENT, Ogre::MeshSerializerImpl::mpMesh, Ogre::Mesh::nameSubMesh(), Ogre::Serializer::readChunk(), Ogre::Serializer::readShorts(), Ogre::Serializer::readString(), and Ogre::DataChunk::skip(). Referenced by Ogre::MeshSerializerImpl::importMesh(). |
|
Definition at line 693 of file OgreMeshSerializerImpl.cpp. References Ogre::SubMesh::operationType, and Ogre::Serializer::readShorts(). Referenced by Ogre::MeshSerializerImpl::readSubMesh(). |
|
Reimplemented from Ogre::MeshSerializerImpl. Definition at line 1832 of file OgreMeshSerializerImpl.cpp. References Ogre::Pass::createTextureUnitState(), Ogre::Technique::getPass(), Ogre::Material::getTechnique(), and Ogre::Serializer::readString(). Referenced by readMaterial(). |
|
Definition at line 127 of file OgreSerializer.cpp. References free, malloc, and Ogre::Serializer::writeData(). Referenced by Ogre::MeshSerializerImpl::writeLodSummary(), Ogre::MeshSerializerImpl::writeLodUsageGenerated(), Ogre::MeshSerializerImpl::writeMesh(), and Ogre::MeshSerializerImpl::writeSubMesh(). |
|
Definition at line 1098 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 Ogre::MeshSerializerImpl::writeMesh(). |
|
|
Definition at line 272 of file OgreMeshSerializerImpl.cpp. References Ogre::VertexElement::baseVertexPointerToElement(), Ogre::VertexElement::getSize(), Ogre::VertexElement::getType(), Ogre::Real, and Ogre::Serializer::writeReals(). Referenced by Ogre::MeshSerializerImpl::writeGeometry(). |
|
Definition at line 148 of file OgreSerializer.cpp. References Ogre::Serializer::mpfFile. Referenced by Ogre::Serializer::writeBools(), Ogre::Serializer::writeInts(), Ogre::Serializer::writeLongs(), Ogre::Serializer::writeReals(), and Ogre::Serializer::writeShorts(). |
|
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 Ogre::MeshSerializerImpl::exportMesh(), and Ogre::SkeletonSerializer::exportSkeleton(). |
|
|
Definition at line 97 of file OgreSerializer.cpp. References Ogre::Serializer::flipToLittleEndian(), free, malloc, and Ogre::Serializer::writeData(). Referenced by Ogre::MeshSerializerImpl::writeGeometry(), Ogre::MeshSerializerImpl::writeLodUsageGenerated(), Ogre::MeshSerializerImpl::writeMeshBoneAssignment(), Ogre::MeshSerializerImpl::writeSubMesh(), and Ogre::MeshSerializerImpl::writeSubMeshBoneAssignment(). |
|
Definition at line 943 of file OgreMeshSerializerImpl.cpp. References Ogre::Mesh::getLodLevel(), Ogre::Mesh::getNumLodLevels(), Ogre::Mesh::isLodManual(), Ogre::MeshSerializerImpl::writeLodSummary(), Ogre::MeshSerializerImpl::writeLodUsageGenerated(), and Ogre::MeshSerializerImpl::writeLodUsageManual(). Referenced by Ogre::MeshSerializerImpl::writeMesh(). |
|
Definition at line 967 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 Ogre::MeshSerializerImpl::writeLodInfo(). |
|
|
Definition at line 986 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 Ogre::MeshSerializerImpl::writeLodInfo(). |
|
Definition at line 112 of file OgreSerializer.cpp. References Ogre::Serializer::flipToLittleEndian(), free, malloc, and Ogre::Serializer::writeData(). Referenced by Ogre::Serializer::writeChunkHeader(). |
|
|
|
Definition at line 254 of file OgreSerializer.cpp. References Ogre::Quaternion::w, Ogre::Serializer::writeReals(), Ogre::Quaternion::x, Ogre::Quaternion::y, and Ogre::Quaternion::z. |
|
Definition at line 246 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(). |
|
|
|
Definition at line 837 of file OgreMeshSerializerImpl.cpp. References Ogre::MeshSerializerImpl::calcSkeletonLinkSize(), Ogre::M_MESH_SKELETON_LINK, Ogre::Serializer::writeChunkHeader(), and Ogre::Serializer::writeString(). Referenced by Ogre::MeshSerializerImpl::writeMesh(). |
|
Definition at line 153 of file OgreSerializer.cpp. References Ogre::Serializer::mpfFile. Referenced by Ogre::SkeletonSerializer::writeAnimation(), Ogre::SkeletonSerializer::writeBone(), Ogre::Serializer::writeFileHeader(), Ogre::MeshSerializerImpl::writeLodUsageManual(), Ogre::MeshSerializerImpl::writeSkeletonLink(), Ogre::MeshSerializerImpl::writeSubMesh(), and Ogre::MeshSerializerImpl::writeSubMeshNameTable(). |
|
|
|
Definition at line 179 of file OgreMeshSerializerImpl.cpp. References Ogre::MeshSerializerImpl::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 Ogre::MeshSerializerImpl::exportMesh(). |
|
Definition at line 262 of file OgreMeshSerializerImpl.cpp. References Ogre::MeshSerializerImpl::calcSubMeshOperationSize(), Ogre::M_SUBMESH_OPERATION, Ogre::SubMesh::operationType, Ogre::Serializer::writeChunkHeader(), and Ogre::Serializer::writeShorts(). Referenced by Ogre::MeshSerializerImpl::writeSubMesh(). |
|
Definition at line 48 of file OgreSerializer.h. Referenced by Ogre::Serializer::readChunk(), readMaterial(), readMesh(), and Ogre::MeshSerializerImpl::readMesh(). |
|
Definition at line 136 of file OgreMeshSerializerImpl.h. Referenced by readGeometry(), and readMesh(). |
|
Definition at line 73 of file OgreMeshSerializerImpl.h. Referenced by readMesh(), and Ogre::MeshSerializerImpl::readMesh(). |
|
Definition at line 71 of file OgreMeshSerializerImpl.h. |
|
Definition at line 49 of file OgreSerializer.h. Referenced by Ogre::MeshSerializerImpl::exportMesh(), Ogre::SkeletonSerializer::exportSkeleton(), Ogre::Serializer::writeData(), and Ogre::Serializer::writeString(). |
|
|
Definition at line 50 of file OgreSerializer.h. Referenced by Ogre::MeshSerializerImpl::MeshSerializerImpl(), MeshSerializerImpl_v1(), Ogre::MeshSerializerImpl_v1_1::MeshSerializerImpl_v1_1(), Ogre::Serializer::readFileHeader(), Ogre::Serializer::Serializer(), Ogre::SkeletonSerializer::SkeletonSerializer(), and Ogre::Serializer::writeFileHeader(). |
Copyright © 2002-2003 by The OGRE Team
Last modified Fri May 14 23:26:36 2004