Blender  V2.59
GlutDrawer.cpp
Go to the documentation of this file.
00001 
00029 #include "GlutDrawer.h"
00030 
00031 #include "MT_assert.h"
00032 
00033 MEM_SmartPtr<GlutDrawManager> GlutDrawManager::m_s_instance = MEM_SmartPtr<GlutDrawManager>();
00034 
00035         GlutDrawManager *
00036 GlutDrawManager::
00037 Instance(
00038 ){
00039         if (m_s_instance == NULL) {
00040                 m_s_instance = new GlutDrawManager();
00041         }
00042 
00043         return m_s_instance;
00044 }
00045 
00046 
00047 // this is the function you should pass to glut
00048 
00049         void
00050 GlutDrawManager::
00051 Draw(
00052 ){
00053         GlutDrawManager *manager = GlutDrawManager::Instance();
00054 
00055         if (manager->m_drawer != NULL) {
00056                 manager->m_drawer->Draw();
00057         }
00058 }
00059 
00060         void
00061 GlutDrawManager::
00062 InstallDrawer(
00063         GlutDrawer * drawer
00064 ){
00065 
00066         MT_assert(m_drawer == NULL);
00067         m_drawer = drawer;
00068 }
00069 
00070         void
00071 GlutDrawManager::
00072 ReleaseDrawer(
00073 ){
00074         m_drawer = NULL;
00075 }
00076 
00077 
00078 GlutDrawManager::
00079 ~GlutDrawManager(
00080 ){
00081 
00082         delete(m_drawer);
00083 }
00084 
00085 
00086 
00087 
00088 
00089 
00090 
00091 
00092