![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00008 00009 #pragma once 00010 00011 #include "vrfutil/scenario.h" 00012 #include "vrfutil/simulationModelSet.h" 00013 00014 #include <vector> 00015 00024 00025 #include "vrfutil/vrfutilDefines.h" 00026 class DT_DLL_vrfutil DtScenarioExplorer 00027 { 00028 public: 00029 00031 DtScenarioExplorer(); 00032 00034 DtScenarioExplorer(const DtScenario& scenario); 00035 00037 virtual ~DtScenarioExplorer(); 00038 00040 DtScenarioExplorer(const DtScenarioExplorer& orig); 00041 00043 DtScenarioExplorer& operator=(const DtScenarioExplorer& orig); 00044 00046 00051 virtual bool init(); 00052 00054 virtual bool readScenarioFile(const DtFilename& filename); 00055 00058 virtual DtFilename terrainDatabaseFilename() const; 00059 00061 virtual DtFilename componentAttachmentTableFilename() const; 00063 virtual DtFilename orderOfBattleFilename() const; 00064 00066 virtual DtFilename planFilename() const; 00067 00069 00070 virtual DtFilename globalPlanFilename() const; 00072 00074 virtual DtFilename parameterDatabaseFilename() const; 00075 00076 virtual DtFilename forceHostilityFilename() const; 00077 00078 virtual DtFilename scenarioExtrasFilename() const; 00079 00081 virtual const std::vector<DtFilename>& physicalWorldFilenames() const; 00082 00084 virtual const std::vector<DtFilename>& indirectArtilleryTypesFilenames() const; 00085 00087 virtual const std::vector<DtFilename>& commModelFilenames() const; 00088 00090 virtual DtFilename objectMapFilename() const; 00091 00093 virtual DtReal timeMultiplier() const; 00094 00096 virtual bool autoReorganize() const; 00097 00099 virtual unsigned randomNumberSeed() const; 00100 00102 virtual DtString frameRateModeString() const; 00103 virtual DtFrameMode frameRateMode() const; 00104 00106 virtual DtReal frameDeltaTime() const; 00107 00110 virtual DtTime runDurationTime(); 00111 00113 virtual DtTime simTime() const; 00114 00116 virtual DtTime exerciseStartTime() const; 00117 00121 virtual const std::vector<DtFilename>& additionalOpdFilenames() const; 00123 00129 virtual DtRwNLengthStringVector simulationModelSetFilenames(); 00131 00132 virtual DtFilename filename() const; 00133 00137 virtual bool isValid(bool allowEmptyFilenames = true) const; 00138 00140 virtual double version() const; 00141 00143 virtual void processModelSets(); 00144 00147 virtual void loadCoreModelSets(); 00148 00149 public: 00151 00156 virtual const std::vector<DtFilename>& symbolMapFilenames() const; 00158 00161 virtual std::vector<DtString> symbolMapLabels() const; 00163 00167 virtual const std::vector<DtFilename>& createMenuFilenames() const; 00169 00173 virtual const std::vector<DtFilename>& threeDSymbolMaps() const; 00175 00179 virtual const std::vector<DtFilename>& overlayMenuFilenames() const; 00181 00184 std::vector<DtSimulationModelSet*>& modelSets(); 00185 const std::vector<DtSimulationModelSet*>& modelSets() const; 00187 00190 virtual const std::vector<DtFilename>& modelSetForceFilenames() const; 00191 00195 virtual const std::vector<DtFilename>& modelSetFilenames() const; 00197 00202 virtual void gatherSymbolMapInforation(); 00203 00207 virtual DtString symbolMapName(const DtString& symbolMap) const; 00208 virtual void addFilename(std::vector<DtFilename>&, const DtFilename& map) const; 00209 00211 virtual void setSymbolMapName(const DtString&); 00212 00214 virtual std::vector<DtFilename> symbolMapsFor(const DtString& symbolMap, bool includeOverlay = true) const; 00215 00217 DtScenario* scenario() const; 00218 00219 protected: 00220 virtual void clearModelSets(); 00221 virtual void mergeAdditionalOpdFiles(); 00222 virtual void processModelSet(DtSimulationModelSet*); 00223 00224 protected: 00225 DtScenario* myScenario; 00226 DtFilename myParameterDatabaseFilename; 00227 DtFilename myForceHostilityFilename; 00228 DtFilename myScenarioExtrasFilename; 00229 std::vector<DtSimulationModelSet*> myModelSets; 00230 std::vector<DtFilename> myPhysicalWorldFilenames; 00231 std::vector<DtFilename> myIndirectArtilleryTypesFilenames; 00232 std::vector<DtFilename> myAdditionalOpdFilenames; 00233 std::vector<DtFilename> myCommModelFilenames; 00234 00236 std::vector<DtFilename> mySymbolMapFilenames; 00237 std::vector<DtFilename> myCreateMenuFilenames; 00238 std::vector<DtFilename> my3DSymbolMapFilenames; 00239 std::vector<DtFilename> myOverlayMenuFilenames; 00240 std::vector<DtFilename> myModelSetForceFilenames; 00241 std::vector<DtFilename> myModelSetFilenames; 00242 }; 00243 00244 inline std::vector<DtSimulationModelSet*>& DtScenarioExplorer::modelSets(){return (myModelSets);} 00245 inline const std::vector<DtSimulationModelSet*>& DtScenarioExplorer::modelSets() const{return (myModelSets);} 00246 inline DtScenario* DtScenarioExplorer::scenario() const 00247 { 00248 return myScenario; 00249 } 00250 00251