source: GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC/BBCOgreMeshSerializer.h @ 700

Revision 700, 926 bytes checked in by igarcia, 18 years ago (diff)
Line 
1#ifndef __BBCOGREMESHEXPORTER_H__
2#define __BBCOGREMESHEXPORTER_H__
3
4#include <BBCPrerequisites.h>
5#include <BBCEntity.h>
6
7namespace BBC {
8
9class _BBCExport OgreMeshSerializer
10{
11    public:
12        OgreMeshSerializer();
13
14        virtual ~OgreMeshSerializer();
15
16                void setEntity(Entity *entity);
17
18                Entity* getEntity();
19
20                void exportMesh(const Ogre::String& fileName, bool mergeSubMeshes, bool tangents);
21
22    protected:
23
24                Entity *mEntity;
25               
26                void buildMesh(Ogre::Mesh* pMesh, bool mergeSubmeshes);
27               
28                void generateEntityAABB(Ogre::Mesh* pMesh);
29               
30                void exportSubMeshes(Ogre::Mesh* pMesh);
31       
32                void exportSubMesh(Ogre::Mesh* pMesh, SubEntity *subEntity);
33       
34                template <typename T> void writeIndexes(T* buf, SubEntity *subEntity);
35       
36                void createVertexBuffer(Ogre::VertexData* vd, unsigned short bufIdx, UniqueVertexList *uniqueVertexList);
37
38        };
39
40}
41#endif
42
Note: See TracBrowser for help on using the repository browser.