![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2007 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: simulationModelSet.h,v $ $Revision: 1.12 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00012 #ifndef DtSimulationModelSet_H_ 00013 #define DtSimulationModelSet_H_ 00014 00015 #include "vrfutil/rdrWritr.h" 00016 #include "vrfutil/rwTemplatedList.h" 00017 #include "vrfutil/rwString.h" 00018 #include "vrfutil/rwNLengthStringVector.h" 00019 00020 #include <vlutil/vlFilename.h> 00021 #include "vrfutil/vrfutilDefines.h" 00022 00023 typedef DtRwNLengthStringVector DtSymbolMapperEntry; 00024 typedef DtRwTemplatedListPtr<DtSymbolMapperEntry> DtSymbolMapperList; 00025 typedef DtRwTemplatedListPtr<DtRwString> DtComponentAttachmentList; 00026 00035 class DT_DLL_vrfutil DtSimulationModelSet : public DtReaderWriter 00036 { 00037 public: 00038 00040 DtSimulationModelSet(); 00041 00042 DtSimulationModelSet(const DtString& name, DtReaderWriterRegistry* 00043 parentRegistry = NULL); 00044 00046 virtual ~DtSimulationModelSet(); 00047 00049 DtSimulationModelSet(const DtSimulationModelSet& orig, 00050 DtReaderWriterRegistry* parentRegistry = NULL); 00051 00053 DtSimulationModelSet& operator=(const DtSimulationModelSet& orig); 00054 00056 virtual bool load(const DtFilename&); 00057 00064 virtual bool save(const DtFilename&, bool rebind = true); 00065 00067 const DtFilename& path() const; 00068 00070 00071 const DtFilename& opdFile() const; 00072 void setOpdFile(const DtFilename&); 00074 00076 00077 const DtFilename& physicalWorldFile() const; 00078 void setPhysicalWorldFile(const DtFilename&); 00080 00082 00083 const DtFilename& indirectArtilleryTypesFile() const; 00084 void setIndirectArtilleryTypesFile(const DtFilename&); 00086 00088 00089 const DtFilename& overlaySymbolMapFile() const; 00090 void setOverlaySymbolMapFile(const DtFilename&); 00092 00094 00095 const DtFilename& threeDSymbolMapFile() const; 00096 void setThreeDSymbolMapFile(const DtFilename&); 00098 00100 00101 const DtFilename& overlayMenuFile() const; 00102 void setOverlayMenuFile(const DtFilename&); 00104 00106 00107 const DtFilename& modelSetFile() const; 00108 void setModelSetFile(const DtFilename&); 00110 00113 00114 const DtFilename& menuFile() const; 00115 void setMenuFile(const DtFilename&); 00117 00119 00120 const DtSymbolMapperList& symbolMapFiles() const; 00121 void setSymbolMapFiles(const DtSymbolMapperList&); 00123 00125 00126 const DtFilename& commModelParameters() const; 00127 void setCommModelParameters(const DtFilename&); 00129 00131 00132 const DtString& comment() const; 00133 void setComment(const DtString&); 00135 00137 00138 virtual DtFilename defaultComponentAttachmentFile() const; 00140 00141 const DtFilename& filename() const; 00142 00143 DtSimulationModelSet* clone() const; 00144 00147 virtual DtFilename modelSetDirectory() const; 00148 00150 virtual bool setModelSetDirectory(const DtFilename&); 00151 00153 00154 DtComponentAttachmentList& componentAttachmentFileList(); 00155 const DtComponentAttachmentList& componentAttachmentFileList() const; 00157 00158 const DtFilename& hostilityFile() const; 00159 void setHostilityFile(const DtFilename& s); 00160 00164 const DtFilename& scenarioDataFile() const; 00165 void setScenarioDataFile(const DtFilename& n); 00167 00168 protected: 00170 virtual DtString createSubstitutedPath(const DtFilename&, const DtString& modelSetDir); 00171 virtual void setupVariableSubstitutedPaths(); 00172 virtual void substituteVariablePaths(); 00173 virtual void resetVariables(); 00174 00175 protected: 00176 DtRwString myOpdFile; 00177 DtRwString myPhysicalWorldFile; 00178 DtRwString myIndirectArtilleryTypesFile; 00179 DtRwString myModelSetFile; 00180 DtRwString myMenuFile; 00181 DtRwString myOverlaySymbolMapFile; 00182 DtRwString myOverlayMenuFile; 00183 DtRwString my3DSymbolMapFile; 00184 DtRwString myCommModelParameters; 00185 DtRwString myHostilityFile; 00186 DtRwString myScenarioDataFile; 00187 DtSymbolMapperList mySymbolMapFiles; 00188 00189 DtFilename myPath; 00190 DtFilename myFilename; 00191 DtString myComment; 00192 00194 DtFilename mySubOpdFile; 00195 DtFilename mySubPhysicalWorldFile; 00196 DtFilename mySubIndirectArtilleryTypesFile; 00197 DtFilename mySubModelSetFile; 00198 DtFilename mySubMenuFile; 00199 DtFilename mySubOverlaySymbolMapFile; 00200 DtFilename mySubOverlayMenuFile; 00201 DtFilename mySub3DSymbolMapFile; 00202 DtFilename mySubCommModelParameters; 00203 DtFilename mySubHostilityFile; 00204 DtFilename mySubScenarioDataFile; 00205 DtSymbolMapperList mySubSymbolMapFiles; 00206 DtComponentAttachmentList myComponentAttachmentFileList; 00207 }; 00208 00209 inline void DtSimulationModelSet::setPhysicalWorldFile(const DtFilename& f) 00210 { 00211 mySubPhysicalWorldFile = f; 00212 } 00213 00214 inline const DtFilename& DtSimulationModelSet::physicalWorldFile() const 00215 { 00216 return mySubPhysicalWorldFile; 00217 } 00218 00219 inline void DtSimulationModelSet::setIndirectArtilleryTypesFile(const DtFilename& f) 00220 { 00221 mySubIndirectArtilleryTypesFile = f; 00222 } 00223 00224 inline const DtFilename& DtSimulationModelSet::indirectArtilleryTypesFile() const 00225 { 00226 return mySubIndirectArtilleryTypesFile; 00227 } 00228 00229 inline const DtFilename& DtSimulationModelSet::opdFile() const 00230 { 00231 return mySubOpdFile; 00232 } 00233 00234 inline void DtSimulationModelSet::setOpdFile(const DtFilename& f) 00235 { 00236 mySubOpdFile = f; 00237 } 00238 00239 inline const DtFilename& DtSimulationModelSet::commModelParameters() const 00240 { 00241 return mySubCommModelParameters; 00242 } 00243 00244 inline void DtSimulationModelSet::setCommModelParameters(const DtFilename& f) 00245 { 00246 mySubCommModelParameters = f; 00247 } 00248 00249 inline DtComponentAttachmentList& DtSimulationModelSet::componentAttachmentFileList() 00250 { 00251 return (myComponentAttachmentFileList); 00252 } 00253 00254 inline const DtComponentAttachmentList& DtSimulationModelSet::componentAttachmentFileList() const 00255 { 00256 return (myComponentAttachmentFileList); 00257 } 00258 inline const DtFilename& DtSimulationModelSet::overlaySymbolMapFile() const 00259 { 00260 return mySubOverlaySymbolMapFile; 00261 } 00262 00263 inline void DtSimulationModelSet::setOverlaySymbolMapFile(const DtFilename& f) 00264 { 00265 mySubOverlaySymbolMapFile = f; 00266 } 00267 00268 inline const DtFilename& DtSimulationModelSet::threeDSymbolMapFile() const 00269 { 00270 return mySub3DSymbolMapFile; 00271 } 00272 00273 inline void DtSimulationModelSet::setThreeDSymbolMapFile(const DtFilename& f) 00274 { 00275 mySub3DSymbolMapFile = f; 00276 } 00277 00278 inline const DtFilename& DtSimulationModelSet::modelSetFile() const 00279 { 00280 return mySubModelSetFile; 00281 } 00282 00283 inline void DtSimulationModelSet::setModelSetFile(const DtFilename& f) 00284 { 00285 mySubModelSetFile = f; 00286 } 00287 00288 inline const DtFilename& DtSimulationModelSet::menuFile() const 00289 { 00290 return mySubMenuFile; 00291 } 00292 00293 inline void DtSimulationModelSet::setMenuFile(const DtFilename& f) 00294 { 00295 mySubMenuFile = f; 00296 } 00297 00298 inline const DtFilename& DtSimulationModelSet::overlayMenuFile() const 00299 { 00300 return mySubOverlayMenuFile; 00301 } 00302 00303 inline void DtSimulationModelSet::setOverlayMenuFile(const DtFilename& f) 00304 { 00305 mySubOverlayMenuFile = f; 00306 } 00307 00308 inline const DtSymbolMapperList& DtSimulationModelSet::symbolMapFiles() const 00309 { 00310 return mySubSymbolMapFiles; 00311 } 00312 00313 inline void DtSimulationModelSet::setSymbolMapFiles(const DtSymbolMapperList& s) 00314 { 00315 mySubSymbolMapFiles = s; 00316 } 00317 00318 inline const DtFilename& DtSimulationModelSet::filename() const 00319 { 00320 return myFilename; 00321 } 00322 00323 inline const DtString& DtSimulationModelSet::comment() const 00324 { 00325 return myComment; 00326 } 00327 00328 inline void DtSimulationModelSet::setComment(const DtString& c) 00329 { 00330 myComment = c; 00331 } 00332 00333 inline const DtFilename& DtSimulationModelSet::path() const 00334 { 00335 return myPath; 00336 } 00337 00338 inline const DtFilename& DtSimulationModelSet::hostilityFile() const 00339 { 00340 return mySubHostilityFile; 00341 } 00342 00343 inline void DtSimulationModelSet::setHostilityFile(const DtFilename& s) 00344 { 00345 mySubHostilityFile=s; 00346 } 00347 00348 inline const DtFilename& DtSimulationModelSet::scenarioDataFile() const 00349 { 00350 return mySubScenarioDataFile; 00351 } 00352 00353 inline void DtSimulationModelSet::setScenarioDataFile(const DtFilename& s) 00354 { 00355 mySubScenarioDataFile=s; 00356 } 00357 00358 00359 00360 #endif