basic/geometry/vrml_reader/VrmlNode.h

Go to the documentation of this file.
00001 #ifndef _VRMLNODE_H_
00002 #define _VRMLNODE_H_
00003 
00004 #pragma warning ( disable : 4786 )
00005 
00006 #include "keyword.h"
00007 #include <map>
00008 #ifdef BADSTD
00009     #include <stdstring.h>
00010 #else
00011     #include <string>
00012 #endif
00013 
00014 class IGS_Object;
00015 class VrmlStack;
00016 
00017 class VrmlNode
00018 {
00019 private:
00020 #ifdef _DEBUG
00021         char vrmlType[ 80 ];
00022 #endif
00023 public:
00024         VrmlNode();
00025         virtual ~VrmlNode();
00026         void AddRef();
00027         static void CleanupGlobals();
00028         static Keyword GetKeyword( char*& buffer );
00029         static void GetKeywordString( char*& buffer, char* keyword );
00030         virtual void Parse( char*& buffer );
00031         static VrmlNode* ParseDefNode( char*& buffer );
00032         static VrmlNode* ParseNode( Keyword keyword, char*& buffer );
00033         static VrmlNode* ParseUseNode( char*& buffer );
00034         void Release();
00035         virtual void Render( VrmlStack& stack ) const;
00036         virtual void RenderOpenGl( VrmlStack& stack ) const;
00037         virtual IGS_Object* RenderToIGS( VrmlStack& stack ) const;
00038         void SetType( const char* string );
00039 
00040         //IAN IMPROVE: make this protected
00041         static std::map< std::string, VrmlNode* > g_DataBase ;  
00042 protected:
00043         int m_RefCount;
00044         
00045 };
00046 
00047 #endif

Generated on Sat Apr 1 21:30:34 2006 for Motion Planning Kernel by  doxygen 1.4.6-NO