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

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