00001 //## begin module%3728CC9D00A0.cm preserve=no 00002 // %X% %Q% %Z% %W% 00003 //## end module%3728CC9D00A0.cm 00004 00005 //## begin module%3728CC9D00A0.cp preserve=no 00006 //## end module%3728CC9D00A0.cp 00007 00008 //## Module: OpenGLInterface%3728CC9D00A0; Pseudo Package body 00009 //## Source file: C:\project\mpk\code\OpenGL\OpenGLInterface.cpp 00010 00011 //## begin module%3728CC9D00A0.additionalIncludes preserve=no 00012 //## end module%3728CC9D00A0.additionalIncludes 00013 00014 //## begin module%3728CC9D00A0.includes preserve=yes 00015 #include <assert.h> 00016 #ifndef NOGL 00017 #include "glos.h" 00018 #include <gl/gl.h> 00019 #endif 00020 //## end module%3728CC9D00A0.includes 00021 00022 // OpenGLInterface 00023 #include "OpenGL\OpenGLInterface.h" 00024 //## begin module%3728CC9D00A0.additionalDeclarations preserve=yes 00025 //## end module%3728CC9D00A0.additionalDeclarations 00026 00027 00028 // Class OpenGLInterface 00029 00030 00031 OpenGLInterface::OpenGLInterface () 00032 //## begin OpenGLInterface::OpenGLInterface%950480125.hasinit preserve=no 00033 : displayListNumber(-1) 00034 //## end OpenGLInterface::OpenGLInterface%950480125.hasinit 00035 //## begin OpenGLInterface::OpenGLInterface%950480125.initialization preserve=yes 00036 //## end OpenGLInterface::OpenGLInterface%950480125.initialization 00037 { 00038 //## begin OpenGLInterface::OpenGLInterface%950480125.body preserve=yes 00039 //## end OpenGLInterface::OpenGLInterface%950480125.body 00040 } 00041 00042 00043 OpenGLInterface::~OpenGLInterface() 00044 { 00045 //## begin OpenGLInterface::~OpenGLInterface%.body preserve=yes 00046 #ifndef NOGL 00047 //-1 is the "not created" number 00048 if( this->displayListNumber != -1 ) 00049 { 00050 glDeleteLists( this->displayListNumber, 1 ); 00051 } 00052 #endif 00053 //## end OpenGLInterface::~OpenGLInterface%.body 00054 } 00055 00056 00057 00058 //## Other Operations (implementation) 00059 void OpenGLInterface::GLDraw () const 00060 { 00061 #ifndef NOGL 00062 if( displayListNumber == -1 ) 00063 { 00064 CreateDisplayList(); 00065 } 00066 glCallList( displayListNumber ); 00067 #endif 00068 } 00069 00070 void OpenGLInterface::CreateDisplayList () const 00071 { 00072 #ifndef NOGL 00073 if( displayListNumber != -1 ) 00074 { 00075 glDeleteLists( this->displayListNumber, 1 ); 00076 } 00077 00078 displayListNumber = glGenLists( 1 ); 00079 assert( displayListNumber != 0 ); 00080 glNewList( displayListNumber, GL_COMPILE ); 00081 this->DrawExplicit(); 00082 glEndList(); 00083 #endif 00084 } 00085 00086 // Additional Declarations 00087 //## begin OpenGLInterface%3728CC9D00A0.declarations preserve=yes 00088 //## end OpenGLInterface%3728CC9D00A0.declarations 00089 00090 //## begin module%3728CC9D00A0.epilog preserve=yes 00091 //## end module%3728CC9D00A0.epilog