VR-Forces 4.0.4 Class Documentation
include/vrfutil/scenarioMergeDirector.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2012 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 
00006 #pragma once
00007 
00010 
00011 #include "vrfutil/vrfutilDefines.h"
00012 #include "vrfutil/scenarioMergeData.h"
00013 
00014 class DtScenarioMergeProject;
00015 class DtFilename;
00016 class DtlObjPtr;
00017 
00029 class DT_DLL_vrfutil DtScenarioMergeDirector
00030 {
00031 public:
00032 
00033    enum FileType
00034    {
00035       FILE_NONE = 0,
00036       FILE_GPL,
00037       FILE_OMP,
00038       FILE_OOB,
00039       FILE_OVL,
00040       FILE_PLN,
00041       FILE_SGR,
00042       FILE_XTR 
00043    };
00044 
00045 public:
00046 
00048    DtScenarioMergeDirector();
00049 
00051    virtual ~DtScenarioMergeDirector();
00052 
00054    DtScenarioMergeDirector(
00055       const DtScenarioMergeDirector& orig);
00056 
00058    DtScenarioMergeDirector& operator=(
00059       const DtScenarioMergeDirector& orig);
00060 
00061 
00062 public:
00066    virtual void addInputScenario(const DtFilename& scenarioFile);
00067 
00073    virtual void setOutputScenarioName(const DtFilename& scenarioFile);
00074 
00080    virtual bool executeMerge();
00081 
00091    virtual DtlObjPtr arrangeDesignators(const char *pMergedOobStrBuff);
00092 
00096    virtual DtString bufferedMtlStringReplace(const char *pToFindString,
00097       const char *pReplaceWithString,
00098       const char *pInFileName);
00099 
00102    virtual void clear();
00103 
00107    virtual bool checkScenarioMergeData();
00108 
00113    virtual void createNewProject();
00114 
00123    virtual int computeMtlBufferOffset(const char *pBuffer,
00124       unsigned numFieldsToSkip,
00125       bool bFirstFieldIsList = true);
00126 
00135    virtual int lengthUnusedData(const char* pBuffer);
00136 
00141    virtual bool deconflict();
00142    
00147    bool deconflictMtlStream(const DtString& sScenarioName,
00148       const DtlObjPtr& oob);
00149 
00155    virtual bool doAllSubstitutions();
00156    virtual bool doSubstitutions(FileType ftype,
00157       DtString& sResultsBuffer);
00158 
00163    virtual bool doSimpleFileTransfer(const DtFilename& sFrom,
00164       const DtFilename& sTo);
00165 
00172    virtual bool getFilenameForType(
00173       FileType ftype,
00174       const DtScenario& scn,
00175       DtFilename& fnameOut) const;
00176 
00182    virtual bool loadProject();
00183    virtual bool loadProject(const DtFilename& fname);
00184 
00189    virtual bool loadScenarioMergeData();
00190    virtual bool loadScenarioMergeData(const DtFilename& fname);
00191 
00195    virtual void mergeAdditionalOpdLists(DtScenario& outputScenario);
00196 
00200    virtual void mergeSimulationModelSetLists(DtScenario& outputScenario);
00201 
00205    virtual DtScenarioMergeProject* project();
00206    virtual const DtScenarioMergeProject* project() const;
00207 
00215    virtual void replaceObjectNames(DtString& sBuffer,
00216       const DtString& sForScnName,
00217       const char *pFormatString="%s");
00218 
00222    virtual void reportObjectNameSubstitutions() const;
00223 
00228    virtual bool saveAsProject(const DtFilename& fname);
00229    virtual bool saveProject();
00230 
00233    virtual DtScenarioMergeData& scenarioMergeData();
00234    virtual const DtScenarioMergeData& scenarioMergeData() const;
00235 
00240    virtual bool validate(const DtScenario& keyScenario,
00241       const DtScenario& otherScenario);
00242 
00243 protected:
00244    
00252    virtual void readOOBFile(char* pReadBuffer, FILE* fpIn, bool isKeyScenario);
00253 
00260    virtual bool acceptOOBObject(const std::string& objStr, bool isKeyScenario)
00261       const;
00262 
00263    virtual bool transferScenarioFiles(DtScenario& outputScenario,
00264       const DtFilename &outputName);
00265 
00266 
00267 protected:
00268 
00269 
00270 protected:
00271    
00272    DtScenarioMergeData myScenarioMergeData;
00273    DtScenarioMergeProject *pMyProject;
00274 
00275 };

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)