VR-Forces 4.0.4 Class Documentation
examples/convertParamDb/extMtlParamDbReader.h
Go to the documentation of this file.
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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)