source: GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/src/BBCManager.cpp @ 721

Revision 721, 2.2 KB checked in by igarcia, 19 years ago (diff)
Line 
1
2#include "BBCManager.h"
3
4namespace BBC {
5
6template <> Manager* CSingleton<Manager>::ms_Singleton = NULL;
7
8Manager* Manager::getSingletonPtr(void)
9{
10    return ms_Singleton;
11}
12
13Manager& Manager::getSingleton(void)
14
15    assert( ms_Singleton );  return ( *ms_Singleton ); 
16}
17
18Manager::Manager()
19{   
20}
21
22Manager::~Manager()
23{
24}
25
26void Manager::shutdown()
27{
28}
29
30void Manager::initialize()
31{
32}
33
34Ogre::Mesh* Manager::loadMesh(Ogre::String folderName, Ogre::String fileName)
35{       
36        //std::ifstream ifs;
37        //ifs.open(Ogre::String(folderName + fileName).c_str(), std::ios_base::in | std::ios_base::binary);
38        //Ogre::DataStreamPtr stream(new Ogre::FileStreamDataStream(folderName + fileName, &ifs, false));
39        //Ogre::MeshPtr mesh = OBA::OgreBase::getSingleton().getMeshManager()->create(fileName, Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);
40        //OBA::OgreBase::getSingleton().getMeshSerializer()->importMesh(stream, mesh.getPointer());
41
42        Ogre::ResourceGroupManager::getSingleton().addResourceLocation(folderName, "FileSystem", fileName, false);
43
44        Ogre::MeshPtr mesh = OBA::OgreBase::getSingleton().getMeshManager()->load(fileName, fileName);
45
46        return mesh.getPointer();
47}
48
49Ogre::Mesh* Manager::loadXMLMesh(Ogre::String name)
50{
51        Ogre::MeshPtr newMesh = Ogre::MeshManager::getSingleton().createManual(name.substr(0,((name.size()-1)-4)),Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);
52
53        Ogre::VertexElementType colourElementType;
54        if (true)
55        {
56                // DirectX Colour Format
57                colourElementType = Ogre::VET_COLOUR_ARGB;
58        }
59        else
60        {
61                // OpenGL Colour Format
62                colourElementType = Ogre::VET_COLOUR_ABGR;
63        }
64
65    OBA::OgreBase::getSingleton().getXMLMeshSerializer()->importMesh(name, colourElementType, newMesh.getPointer());
66
67        return newMesh.getPointer();
68}
69
70void Manager::saveMesh(Ogre::String name)
71{
72        Ogre::MeshPtr meshPtr = Ogre::MeshManager::getSingleton().getByName(name);
73        OBA::OgreBase::getSingleton().getMeshSerializer()->exportMesh(meshPtr.getPointer(),name);
74}
75
76void Manager::saveXMLMesh(Ogre::String name)
77{
78        Ogre::MeshPtr meshPtr = Ogre::MeshManager::getSingleton().getByName(name);
79        OBA::OgreBase::getSingleton().getXMLMeshSerializer()->exportMesh(meshPtr.getPointer(),name + ".xml");
80}
81
82}
Note: See TracBrowser for help on using the repository browser.