![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2004 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: extMtlParamDbWriter.h,v $ $Revision: 1.3 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00009 #ifndef DtExtMtlParameterDbWriter_H_ 00010 #define DtExtMtlParameterDbWriter_H_ 00011 00012 #include "vrfobjparam/mtlParamDbWriter.h" 00013 #include "extMtlParamDbReader.h" 00014 #include <string> 00015 00016 class DtReaderWriter; 00017 00018 //class DtExtMtlParameterDbWriter: 00019 // 00020 //Instances of DtExtMtlParameterDbWriter extend DtMtlParameterDbReader to 00021 //preserve comments when writing out a parameter database file. 00022 00023 class DtExtMtlParameterDbWriter : public DtMtlParameterDbWriter 00024 { 00025 public: 00026 00027 //default constructor 00028 DtExtMtlParameterDbWriter(); 00029 00030 //destructor 00031 virtual ~DtExtMtlParameterDbWriter(); 00032 00033 //Set initial comment to be written at start of file 00034 virtual void setInitialComment(const std::string& comment); 00035 00036 //Set comment map to be used in prePutSelfCb(). Contains mapping of 00037 //DtReaderWriter symbols to comments. 00038 virtual void setReaderWriterCommentMap(const DtReaderWriterCommentMap* map); 00039 00040 protected: 00041 00042 //Writes myInitialComment to file. 00043 virtual void preWrite(const DtMtlParameterDbFileData&, const DtFilename&, FILE*) const; 00044 00045 //Called by prePutSelfCb. Overridden to use 00046 //DtReaderWriterCommentMap to look up comments associated with 00047 //DtReaderWriter object. If one exists, writes out comment to file. 00048 //(Comment assoicated with symbol will appear immediately before 00049 //it in the file.) 00050 virtual void processPrePutSelfCb(DtReaderWriter* readerWriterObject, 00051 FILE* fp); 00052 00053 //copy constructor - not implemented 00054 DtExtMtlParameterDbWriter(const DtExtMtlParameterDbWriter& orig); 00055 00056 //assignment operator - not implemented 00057 DtExtMtlParameterDbWriter& operator=(const DtExtMtlParameterDbWriter& orig); 00058 00059 protected: 00060 00061 std::string myInitialComment; 00062 const DtReaderWriterCommentMap* myReaderWriterCommentMap; 00063 }; 00064 00065 #endif