![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2004 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: mtlParamDbWriter.h,v $ $Revision: 1.13 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00014 00015 #ifndef DtMtlParameterDbWriter_H_ 00016 #define DtMtlParameterDbWriter_H_ 00017 00018 #include <vlutil/vlFilename.h> 00019 00020 class DtMtlParameterDb; 00021 class DtMtlParameterDbFileData; 00022 class DtString; 00023 class DtObjectType; 00024 class DtVrfObjectParameters; 00025 class DtReaderWriter; 00026 class DtMtlParameterDbEntry; 00027 class DtMtlParameterDbFileEntry; 00028 00033 00034 #include "vrfobjparam/vrfobjparamDefines.h" 00035 class DT_DLL_vrfobjparam DtMtlParameterDbWriter 00036 { 00037 public: 00038 00040 DtMtlParameterDbWriter(); 00041 00043 virtual ~DtMtlParameterDbWriter(); 00044 00051 virtual bool write(DtMtlParameterDb* parameterDb, 00052 const DtFilename& opdFilename, const DtFilename& opeDirectory = 00053 DtFilename::nullFilename()); 00054 00060 static void prePutSelfCb(DtReaderWriter* readerWriterObject, 00061 FILE* fp, void* userData); 00062 00066 virtual DtFilename generateFilename(const DtString& rdrWriterName, 00067 const DtObjectType& objectType) const; 00068 00069 protected: 00070 00073 virtual DtMtlParameterDbFileData* createParameterDbFileData(); 00074 00077 virtual bool writeTopLevelParameterDbFile( 00078 const DtMtlParameterDbFileData& parameterFileData, 00079 const DtFilename& parameterDbFile) const; 00080 00082 virtual bool writeParameterFile(const DtFilename& parameterFilename, 00083 DtVrfObjectParameters* parameters) const; 00084 00085 virtual void processPrePutSelfCb(DtReaderWriter* readerWriterObject, 00086 FILE* fp); 00087 00089 virtual DtFilename getPath(const DtFilename& newFormatParamDbFile); 00090 00093 virtual void writeEntry(DtMtlParameterDbFileData* parameterDb, 00094 DtMtlParameterDbEntry* paramDbEntry, const DtFilename& parameterDbFile, 00095 const DtFilename& opeDirectory); 00096 00099 virtual void preWrite(const DtMtlParameterDbFileData&, 00100 const DtFilename&, FILE*) const; 00101 00104 virtual void postWrite(const DtMtlParameterDbFileData&, 00105 const DtFilename&, FILE*) const; 00106 00108 virtual DtFilename generateOpeDirectory(const DtFilename& parameterDbFile, 00109 const DtFilename& opeDirectory); 00110 00111 private: 00113 DtMtlParameterDbWriter(const DtMtlParameterDbWriter& orig); 00114 00116 DtMtlParameterDbWriter& operator=(const DtMtlParameterDbWriter& orig); 00117 00118 protected: 00119 00120 DtFilename myOpeDirectory; 00121 }; 00122 00123 #endif