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

Revision 721, 2.0 KB checked in by igarcia, 19 years ago (diff)
Line 
1
2#include "OBAOgreBase.h"
3
4namespace OBA {
5
6template <> OgreBase* CSingleton<OgreBase>::ms_Singleton = NULL;
7
8OgreBase* OgreBase::getSingletonPtr(void)
9{
10    return ms_Singleton;
11}
12
13OgreBase& OgreBase::getSingleton(void)
14
15    assert( ms_Singleton );  return ( *ms_Singleton ); 
16}
17
18OgreBase::OgreBase()
19{
20}
21
22OgreBase::~OgreBase()
23{
24
25}
26
27Ogre::XMLMeshSerializer* OgreBase::getXMLMeshSerializer()
28{
29        return mXMLMeshSerializer;
30}
31       
32Ogre::MeshSerializer* OgreBase::getMeshSerializer()
33{
34        return mMeshSerializer;
35}
36
37Ogre::MeshManager* OgreBase::getMeshManager()
38{
39        return mMeshManager;
40}
41
42void OgreBase::initialize()
43{
44   mLogManager = new Ogre::LogManager();
45   mLogManager->createLog("Ogre.log", true, true);   
46   mArchiveManager = new Ogre::ArchiveManager();
47   mResourceGroupManager = new Ogre::ResourceGroupManager(); 
48   mMath = new Ogre::Math();
49   mMeshManager = new Ogre::MeshManager();
50   //mMaterialManager = new Ogre::MaterialManager();
51   mMeshSerializer = new Ogre::MeshSerializer();
52   mXMLMeshSerializer = new Ogre::XMLMeshSerializer();
53   mFileSystemArchiveFactory = new FileSystemArchiveFactory();
54   Ogre::ArchiveManager::getSingleton().addArchiveFactory( mFileSystemArchiveFactory );
55   mDefaultHardwareBufferManager = new Ogre::DefaultHardwareBufferManager();
56}
57
58void OgreBase::shutdown()
59{
60
61        if (mArchiveManager)
62        {
63                delete mArchiveManager;
64        }
65
66        if (mFileSystemArchiveFactory)
67        {
68        delete mFileSystemArchiveFactory;
69        }
70
71        if (mMeshSerializer)
72        {
73                delete mMeshSerializer;
74        }
75
76        if (mXMLMeshSerializer)
77        {
78                delete mXMLMeshSerializer;
79        }
80
81        if (mMath)
82        {
83                delete mMath;
84        }
85
86        if (mMeshManager)
87        {
88                delete mMeshManager;
89        }
90
91        //if (mMaterialManager)
92        //{
93        //      mMaterialManager->removeAll();
94        //      delete mMaterialManager;       
95        //}
96
97        if (mResourceGroupManager)
98        {
99                delete mResourceGroupManager;
100        }
101
102        // Not necessary if we have a RenderWindow...
103        if (mDefaultHardwareBufferManager)
104        {
105                delete mDefaultHardwareBufferManager;   
106        }
107
108        if (mLogManager)
109        {
110                delete mLogManager;
111        }
112}
113
114}
Note: See TracBrowser for help on using the repository browser.