00001 //## begin module%371E55400000.cm preserve=no 00002 // %X% %Q% %Z% %W% 00003 //## end module%371E55400000.cm 00004 00005 //## begin module%371E55400000.cp preserve=no 00006 //## end module%371E55400000.cp 00007 00008 //## Module: VRML_Reader%371E55400000; Pseudo Package body 00009 //## Source file: E:\mpk\code\geometry\VRML_Reader.cpp 00010 00011 //## begin module%371E55400000.additionalIncludes preserve=no 00012 //## end module%371E55400000.additionalIncludes 00013 00014 //## begin module%371E55400000.includes preserve=yes 00015 #pragma warning( disable : 4786 ) 00016 #include <assert.h> 00017 #include <geometry/igs/IGS_Group.h> 00018 #include <geometry/igs/IGS_Object.h> 00019 #include <fstream> 00020 #include <OpenGL/GL_Group.h> 00021 //## end module%371E55400000.includes 00022 00023 // VRML_Reader 00024 #include "geometry\VRML_Reader.h" 00025 //## begin module%371E55400000.additionalDeclarations preserve=yes 00026 //## end module%371E55400000.additionalDeclarations 00027 00028 00029 // Class VRML_Reader 00030 00031 00032 00033 00034 VRML_Reader::VRML_Reader () 00035 //## begin VRML_Reader::VRML_Reader%927942491.hasinit preserve=no 00036 //## end VRML_Reader::VRML_Reader%927942491.hasinit 00037 //## begin VRML_Reader::VRML_Reader%927942491.initialization preserve=yes 00038 : 00039 m_Group( NULL ) 00040 //## end VRML_Reader::VRML_Reader%927942491.initialization 00041 { 00042 //## begin VRML_Reader::VRML_Reader%927942491.body preserve=yes 00043 //## end VRML_Reader::VRML_Reader%927942491.body 00044 } 00045 00046 00047 VRML_Reader::~VRML_Reader() 00048 { 00049 //## begin VRML_Reader::~VRML_Reader%.body preserve=yes 00050 00051 //delete the nodes 00052 int i; 00053 int size = m_Nodes.size(); 00054 for( i = 0; i < size; i++ ) 00055 { 00056 VrmlNode* node = m_Nodes[ i ]; 00057 delete node; 00058 } 00059 00060 //delete the objects 00061 00062 size = m_Objects.size(); 00063 for( i = 0; i < size; i++ ) 00064 { 00065 IGS_Object*& object = m_Objects[ i ]; 00066 delete object; 00067 object = NULL; 00068 } 00069 //## end VRML_Reader::~VRML_Reader%.body 00070 } 00071 00072 00073 00074 //## Other Operations (implementation) 00075 //============================================================================= 00076 // Read 00077 // 00078 // Description: reads the VRML object from the file 00079 //============================================================================= 00080 bool VRML_Reader::Read () 00081 { 00082 assert( false ); 00083 return false; 00084 } 00085 00086 void VRML_Reader::SetFilename (std::string filename) 00087 { 00088 //## begin VRML_Reader::SetFilename%927223875.body preserve=yes 00089 this->filename = filename ; 00090 //## end VRML_Reader::SetFilename%927223875.body 00091 } 00092 00093 //============================================================================= 00094 // GetTheObject 00095 // 00096 // Description: Returns a pointer to the object from the reader 00097 //============================================================================= 00098 const ObjectBase* VRML_Reader::GetTheObject () const 00099 { 00100 //## begin VRML_Reader::GetTheObject%927307380.body preserve=yes 00101 // GL_Group* group = new GL_Group( NULL ); 00102 m_Group.Clear(); 00103 00104 int i; 00105 int size = m_Objects.size(); 00106 for( i = 0; i < size; i++ ) 00107 { 00108 IGS_Object* object = m_Objects[ i ]; 00109 ObjectBase* mpkObject = ObjectBase::Create( object ); //uses object base as a class factory 00110 m_Group.AddObject( mpkObject ); 00111 delete mpkObject; 00112 } 00113 00114 return &m_Group; 00115 //## end VRML_Reader::GetTheObject%927307380.body 00116 } 00117 00118 // Additional Declarations 00119 //## begin VRML_Reader%371E55400000.declarations preserve=yes 00120 //## end VRML_Reader%371E55400000.declarations 00121 00122 //## begin module%371E55400000.epilog preserve=yes 00123 //## end module%371E55400000.epilog