![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2007 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00009 00010 #pragma once 00011 00012 #include <vrvOsg/vrvOsg.h> 00013 #include <vrvUtil/DtVirtualBaseClass.h> 00014 00015 #include <map> 00016 #include <string> 00017 00018 namespace makVrv 00019 { 00020 class DtDe; 00021 class DtModelParser; 00022 class PrModelParserCreator; 00023 class DtModel; 00024 00027 class DT_DLL_VRVOSG DtModelParserFactory : public DtVirtualBaseClass 00028 { 00029 public: 00030 00032 static DtModelParserFactory& instance(DtDe&); 00033 00035 virtual ~DtModelParserFactory(); 00036 00043 virtual void registerParserCreator(const std::string& parserFormat, 00044 PrModelParserCreator* creator); 00045 00047 virtual void destroyParserCreator(const std::string& parserFormat); 00048 00051 virtual DtModelParser* createParser(const std::string& parser, 00052 DtModel& model); 00053 00054 protected: 00057 DtModelParserFactory(); 00058 00059 typedef std::map<std::string,PrModelParserCreator*> CreatorMap; 00060 CreatorMap myCreatorMap; 00061 }; 00062 } 00063