00001 //## begin module%37B059830278.cm preserve=no 00002 // %X% %Q% %Z% %W% 00003 //## end module%37B059830278.cm 00004 00005 //## begin module%37B059830278.cp preserve=no 00006 //## end module%37B059830278.cp 00007 00008 //## Module: GL_Group%37B059830278; Pseudo Package body 00009 //## Source file: C:\project\mpk\code\OpenGL\GL_Group.cpp 00010 00011 //## begin module%37B059830278.additionalIncludes preserve=no 00012 //## end module%37B059830278.additionalIncludes 00013 00014 //## begin module%37B059830278.includes preserve=yes 00015 #include <assert.h> 00016 //## end module%37B059830278.includes 00017 00018 // GL_Group 00019 #include "OpenGL\GL_Group.h" 00020 //## begin module%37B059830278.additionalDeclarations preserve=yes 00021 //## end module%37B059830278.additionalDeclarations 00022 00023 00024 // Class GL_Group 00025 00026 GL_Group::GL_Group (FrameManager* frameManager) 00027 //## begin GL_Group::GL_Group%934304236.hasinit preserve=no 00028 //## end GL_Group::GL_Group%934304236.hasinit 00029 //## begin GL_Group::GL_Group%934304236.initialization preserve=yes 00030 :ObjectGroup( frameManager ) 00031 //## end GL_Group::GL_Group%934304236.initialization 00032 { 00033 //## begin GL_Group::GL_Group%934304236.body preserve=yes 00034 //## end GL_Group::GL_Group%934304236.body 00035 } 00036 00037 GL_Group::GL_Group (const GL_Group& right) 00038 //## begin GL_Group::GL_Group%934304237.hasinit preserve=no 00039 //## end GL_Group::GL_Group%934304237.hasinit 00040 //## begin GL_Group::GL_Group%934304237.initialization preserve=yes 00041 :ObjectGroup( right ) 00042 //## end GL_Group::GL_Group%934304237.initialization 00043 { 00044 //## begin GL_Group::GL_Group%934304237.body preserve=yes 00045 //## end GL_Group::GL_Group%934304237.body 00046 } 00047 00048 //============================================================================= 00049 // Constructor 00050 // 00051 // Description: constructs an GL_Group from an IGS_Group 00052 //============================================================================= 00053 GL_Group::GL_Group (const IGS_Group& right) 00054 : 00055 ObjectGroup( right ) 00056 { 00057 //nothing here intentionally 00058 } 00059 00060 GL_Group::~GL_Group() 00061 { 00062 //## begin GL_Group::~GL_Group%.body preserve=yes 00063 //## end GL_Group::~GL_Group%.body 00064 } 00065 00066 00067 00068 //## Other Operations (implementation) 00069 Entity* GL_Group::Clone () const 00070 { 00071 //## begin GL_Group::Clone%934304238.body preserve=yes 00072 return new GL_Group( *this ) ; 00073 //## end GL_Group::Clone%934304238.body 00074 } 00075 00076 bool GL_Group::DrawExplicit () const 00077 { 00078 //## begin GL_Group::DrawExplicit%950474927.body preserve=yes 00079 //draw each of the individual objects 00080 for( int i = 0 ; i < objects.size(); i++ ) 00081 { 00082 ObjectBase* theObject = objects[ i ] ; 00083 assert( dynamic_cast< OpenGLInterface* >( objects[ i ] ) != NULL ) ; //IMPROVE: just don't draw these objects? 00084 00085 //IMPROVE: what do we do if the object is not an OPENGL object 00086 dynamic_cast< OpenGLInterface* >( objects[ i ] )->DrawExplicit() ; 00087 } 00088 return true ; 00089 //## end GL_Group::DrawExplicit%950474927.body 00090 } 00091 00092 // Additional Declarations 00093 //## begin GL_Group%37B059830278.declarations preserve=yes 00094 //## end GL_Group%37B059830278.declarations 00095 00096 //## begin module%37B059830278.epilog preserve=yes 00097 //## end module%37B059830278.epilog 00098 00099 00100 // Detached code regions: 00101 // WARNING: this code will be lost if code is regenerated. 00102 #if 0 00103 //## begin GL_Group::GLDraw%950480127.body preserve=no 00104 this->DrawExplicit() ; 00105 //## end GL_Group::GLDraw%950480127.body 00106 00107 #endif