![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2004 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: extMtlParamDbReader.h,v $ $Revision: 1.3 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00009 #ifndef DtExtMtlParameterDbReader_H_ 00010 #define DtExtMtlParameterDbReader_H_ 00011 00012 #include "vrfobjparam/mtlParamDbReader.h" 00013 #include "extMtl/extDtcRead.h" 00014 #include "vrfutil/rdrWritr.h" 00015 00016 #include <map> 00017 #include <string> 00018 00019 typedef std::map<DtlObj*, std::string> DtlObjStringMap; 00020 typedef std::map<DtReaderWriter*, std::string> DtReaderWriterCommentMap; 00021 00022 class DtReaderWriter; 00023 00024 //class DtExtMtlParameterDbReader: 00025 // 00026 //Instances of DtExtMtlParameterDbReader extend DtMtlParameterDbReader to 00027 //preserve comments when reading in a parameter database file. 00028 00029 class DtExtMtlParameterDbReader : public DtMtlParameterDbReader 00030 { 00031 public: 00032 00033 //default constructor 00034 DtExtMtlParameterDbReader(); 00035 00036 //destructor 00037 virtual ~DtExtMtlParameterDbReader(); 00038 00039 //Returns object comment map (populated with entries from the most recent 00040 //call to load(). 00041 virtual const DtReaderWriterCommentMap& readerWriterCommentMap() const; 00042 00043 //Returns object comment map. Not const because it may need to be modified 00044 //by the DtExtMtlParameterEntry (it has to be able to load itself on demand). 00045 virtual DtlObjStringMap& objectCommentMap(); 00046 00047 //Returns initial comment in the parameter database file. This comment 00048 //is not part of the object comment map. 00049 virtual std::string initialComment() const; 00050 00051 public: 00052 00053 static void postGetSelfCb(DtReaderWriter* readerWriterObject, DtlObjPtr args, 00054 void* userData); 00055 00056 protected: 00057 00058 //Load contents of legacy format parameter database file (pre-VR-Forces 00059 //version 3.7 *.opd file) into DtVrfObjectParametersList object. 00060 //Clears contents of object comment map before loading. 00061 //The object comment map gets populated with DtlObj*/string pairs during 00062 //the load. 00063 virtual bool load(const DtFilename& parameterDbFile, 00064 DtVrfObjectParametersList* objectParamList); 00065 00066 //copy constructor - not implemented 00067 DtExtMtlParameterDbReader(const DtExtMtlParameterDbReader& orig); 00068 00069 //assignment operator - not implemented 00070 DtExtMtlParameterDbReader& operator=(const DtExtMtlParameterDbReader& orig); 00071 00072 protected: 00073 00074 std::string myInitialComment; 00075 DtlObjStringMap myObjectCommentMap; 00076 DtReaderWriterCommentMap myReaderWriterCommentMap; 00077 }; 00078 00079 #endif